Die Savitzky-Golay-Glättung wird angewendet, wobei die Daten in einem gleitenden Fenster von links nach rechts durchlaufen werden. Die rote Linie stellt das lokale Polynom dar, das zur Anpassung eines Datenausschnitts verwendet wird. Daraus werden die geglätteten Werte – dargestellt als violette Linie – durch Auswertung des Polynoms im Mittelpunkt des gleitenden Fensters abgeleitet.

Ein Savitzky-Golay-Filter ist ein digitaler Filter , der auf einen Satz digitaler Datenpunkte angewendet werden kann , um die Daten zu glätten und somit deren Genauigkeit zu erhöhen, ohne den Signalverlauf zu verfälschen. Dies geschieht durch Faltung, indem sukzessive Teilmengen benachbarter Datenpunkte mithilfe der Methode der kleinsten Quadrate durch ein Polynom niedrigen Grades angenähert werden . Bei äquidistanten Datenpunkten lässt sich eine analytische Lösung der Ausgleichsgleichungen in Form eines einzigen Satzes von Faltungskoeffizienten finden. Dieser kann auf alle Datenteilmengen angewendet werden, um Schätzwerte des geglätteten Signals (oder seiner Ableitungen) im Mittelpunkt jeder Teilmenge zu erhalten. Die Methode, die auf etablierten mathematischen Verfahren basiert [ 1 , 2 ], wurde von Abraham Savitzky und Marcel J. E. Golay bekannt gemacht , die 1964 Tabellen mit Faltungskoeffizienten für verschiedene Polynome und Teilmengengrößen veröffentlichten [ 3 , 4 ]. Einige Fehler in den Tabellen wurden korrigiert [ 5 ] . Die Methode wurde zur Behandlung zwei- und dreidimensionaler Daten erweitert.

Die Arbeit von Savitzky und Golay gehört zu den meistzitierten Artikeln in der Zeitschrift Analytical Chemistry [ 6 ] und wird von dieser Zeitschrift als eine ihrer „10 grundlegenden Arbeiten“ eingestuft, mit der Begründung: „Man kann argumentieren, dass der Beginn des computergesteuerten Analyseinstruments auf diesen Artikel zurückgeführt werden kann.“ [ 7 ]

Die Glättung eines verrauschten Signals mit Gaußschen Spitzen erfolgt mittels diskreter Faltung mit anschließender Polynomanpassung an den Rändern. Im Vergleich zur oben dargestellten sequenziellen direkten Polynomanpassung lässt sich dies effizienter realisieren. Die abrupten Abfälle auf 0 an den Filterrändern verursachen Diskontinuitäten, die die Rauschunterdrückungsfähigkeit des Savitzky-Golay-Filters in der Praxis einschränken.

Anwendungen

Die Daten bestehen aus einer Menge von Punkten , wobei eine unabhängige Variable und ein beobachteter Wert ist. Sie werden mit einem Satz von Faltungskoeffizienten, , gemäß der Formel behandelt . Ausgewählte Faltungskoeffizienten sind in den folgenden Tabellen dargestellt . Beispielsweise ist für die Glättung mit einem quadratischen Polynom 5. Ordnung der -te geglättete Datenpunkt, , gegeben durch

Es gibt zahlreiche Anwendungsgebiete für Glättung, beispielsweise um die Ausbreitung von Rauschen durch eine Algorithmuskette zu vermeiden oder manchmal einfach nur, um die Daten weniger verrauscht erscheinen zu lassen, als sie tatsächlich sind .

Nachfolgend sind Anwendungen der numerischen Differentiation von Daten aufgeführt. [ 8 ] Hinweis: Bei der Berechnung der n -ten Ableitung kann ein zusätzlicher Skalierungsfaktor von auf alle berechneten Datenpunkte angewendet werden, um Absolutwerte zu erhalten (siehe Ausdrücke für , unten, für Details).

(1) Synthetische Lorentz-Funktion + Rauschen (blau) und 1. Ableitung (grün)
(2) Titrationskurve (blau) für Malonsäure und 2. Derivat (grün). Der Ausschnitt im hellblauen Kasten ist 10-fach vergrößert.
(3) Lorentz-Funktion auf exponentieller Basislinie (blau) und 2. Ableitung (grün)
(4) Summe zweier Lorentz-Funktionen (blau) und 2. Ableitung (grün)
(5) 4. Ableitung der Summe zweier Lorentz-Funktionen
  1. Lage von Maxima und Minima in experimentellen Datenkurven. Dies war die Anwendung, die Savitzky ursprünglich motivierte. [ 4 ] Die erste Ableitung einer Funktion ist an einem Maximum oder Minimum null. Das Diagramm zeigt Datenpunkte einer synthetischen Lorentz- Kurve mit hinzugefügtem Rauschen (blaue Rauten). Die Daten sind auf einer Skala der Halbwertsbreite relativ zum Maximum bei Null dargestellt. Die geglättete Kurve (rote Linie) und die erste Ableitung (grün) wurden mit kubischen Savitzky-Golay-Filtern mit 7 Punkten berechnet. Durch lineare Interpolation der Werte der ersten Ableitung an Positionen beidseits des Nulldurchgangs ergibt sich die Position des Maximums. Auch dritte Ableitungen können zu diesem Zweck verwendet werden.
  2. Lage des Endpunktes in einer Titrationskurve . Ein Endpunkt ist ein Wendepunkt, an dem die zweite Ableitung der Funktion null ist. [ 9 ] Die Titrationskurve für Malonsäure verdeutlicht die Leistungsfähigkeit der Methode. Der erste Endpunkt bei 4 ml ist kaum sichtbar, aber die zweite Ableitung ermöglicht es, seinen Wert durch lineare Interpolation zur Bestimmung des Nulldurchgangs leicht zu ermitteln .
  3. Basislinienglättung. In der analytischen Chemie ist es mitunter erforderlich, die Höhe einer Absorptionsbande relativ zu einer gekrümmten Basislinie zu messen. [ 10 ] Da die Krümmung der Basislinie deutlich geringer ist als die der Absorptionsbande, glättet die zweite Ableitung die Basislinie effektiv. Drei Maße für die Ableitungshöhe, die proportional zur Höhe der Absorptionsbande ist, sind die Abstände zwischen Maximum und Minimum h1 und h2 sowie der Abstand zur Basislinie h3. [ 11 ]
  4. Verbesserung der Auflösung in der Spektroskopie. Die Banden in der zweiten Ableitung einer Spektroskopiekurve sind schmaler als die Banden im Spektrum: Sie weisen eine reduzierte Halbwertsbreite auf . Dadurch lassen sich teilweise überlappende Banden in separate (negative) Peaks auflösen. [ 12 ] Die Abbildung veranschaulicht, wie dies auch für die chemische Analyse genutzt werden kann , indem die Abstände zwischen Peaks und Tälern gemessen werden. In diesem Fall sind die Täler eine Eigenschaft der zweiten Ableitung einer Lorentz-Funktion. ( Die Position auf der x -Achse bezieht sich auf die Position des Peakmaximums auf einer Skala der Halbwertsbreite bei halber Höhe .)
  5. Verbesserung der Auflösung durch die 4. Ableitung (positive Peaks). Die Minima sind eine Eigenschaft der 4. Ableitung einer Lorentz-Funktion.

Gleitender Durchschnitt

Der „gleitende Mittelwertfilter“ ist ein einfaches Beispiel für einen Savitzky-Golay-Filter, der häufig bei Zeitreihendaten verwendet wird , um kurzfristige Schwankungen auszugleichen und längerfristige Trends oder Zyklen hervorzuheben. Jede Teilmenge der Daten wird durch eine horizontale Gerade anstatt durch ein Polynom höherer Ordnung angenähert. Ein ungewichteter gleitender Mittelwertfilter ist der einfachste Faltungsfilter.

Der gleitende Durchschnitt wird häufig für eine schnelle technische Analyse von Finanzdaten wie Aktienkursen, Renditen oder Handelsvolumina verwendet. Er findet auch in der Volkswirtschaftslehre Anwendung, um das Bruttoinlandsprodukt , die Beschäftigung oder andere makroökonomische Zeitreihen zu untersuchen.

Es wurde in einigen Tabellen der Savitzky-Golay-Faltungskoeffizienten nicht berücksichtigt, da alle Koeffizientenwerte identisch sind, nämlich der Wert .

Herleitung der Faltungskoeffizienten

When the data points are equally spaced, an analytical solution to the least-squares equations can be found.[2] This solution forms the basis of the convolution method of numerical smoothing and differentiation. Suppose that the data consists of a set of n points (xj, yj) (j = 1, ..., n), where xj is an independent variable and yj is a datum value. A polynomial will be fitted by linear least squares to a set of m (an odd number) adjacent data points, each separated by an interval h. Firstly, a change of variable is made where is the value of the central point. z takes the values where (e.g. m = 5 → z = −2, −1, 0, 1, 2).[note 1] The polynomial, of degree k is defined as[note 2] The coefficients a0, a1 etc. are obtained by solving the normal equations (bold a represents a vector, bold J represents a matrix).

where is a Vandermonde matrix, that is -th row of has values .

For example, for a cubic polynomial fitted to 5 points, z = −2, −1, 0, 1, 2 the normal equations are solved as follows.

Now, the normal equations can be factored into two separate sets of equations, by rearranging rows and columns, with

Expressions for the inverse of each of these matrices can be obtained using Cramer's rule The normal equations become and Multiplying out and removing common factors,

The coefficients of y in these expressions are known as convolution coefficients. They are elements of the matrix In general, In matrix notation this example is written as

Tabellen mit Faltungskoeffizienten, die für m bis 25 auf dieselbe Weise berechnet wurden , wurden 1964 für den Savitzky-Golay-Glättungsfilter veröffentlicht [ 3 ] [ 5 ]. Der Wert des Mittelpunkts, z = 0, wird aus einem einzigen Koeffizientensatz ermittelt: 0 für die Glättung, 1 für die erste Ableitung usw. Die numerischen Ableitungen werden durch Differenzieren von Y erhalten . Dies bedeutet, dass die Ableitungen für die geglättete Datenkurve berechnet werden . Für ein kubisches Polynom

Im Allgemeinen liefern Polynome vom Grad (0 und 1), [ Anmerkung 3 ] (2 und 3), (4 und 5) usw. dieselben Koeffizienten für Glättungs- und gerade Ableitungen. Polynome vom Grad (1 und 2), (3 und 4) usw. liefern dieselben Koeffizienten für ungerade Ableitungen.

Algebraische Ausdrücke

Die Verwendung der Savitzky-Golay-Tabellen ist nicht immer erforderlich. Die Summen in der Matrix J<sub> T</sub> J lassen sich in geschlossener Form auswerten , sodass algebraische Formeln für die Faltungskoeffizienten hergeleitet werden können. [ 13 ] [ Anmerkung 4 ] Geeignete Funktionen für Kurven mit Wendepunkten sind:

  • Glättung, Polynomgrad 2,3 : (Der Wertebereich für i gilt auch für die folgenden Ausdrücke)
  • 1. Ableitung: Polynomgrad 3,4
  • 2. Ableitung: Polynomgrad 2,3
  • 3. Ableitung: Polynomgrad 3,4

Einfachere Ausdrücke, die für Kurven ohne Wendepunkt verwendet werden können, sind:

  • Glättung, Polynomgrad 0,1 (gleitender Durchschnitt):
  • 1. Ableitung, Polynomgrad 1,2:

Höhere Ableitungen können ermittelt werden. Beispielsweise kann eine vierte Ableitung durch zweimalige Anwendung der zweiten Ableitungsfunktion erhalten werden. [ 14 ]

Verwendung orthogonaler Polynome

Eine Alternative zur Anpassung von m Datenpunkten durch ein einfaches Polynom in der Hilfsvariablen z ist die Verwendung orthogonaler Polynome . Dabei ist  P <sub>0</sub> , ...,  P<sub> k</sub> eine Menge paarig orthogonaler Polynome vom Grad 0, ..., k . Ausführliche Informationen zur Herleitung von Ausdrücken für die orthogonalen Polynome und zum Zusammenhang zwischen den Koeffizienten b und a finden sich bei Guest [ 2 ] . Ausdrücke für die Faltungskoeffizienten lassen sich leicht herleiten, da die Normalengleichungsmatrix J<sub> T</sub> J eine Diagonalmatrix ist , da das Produkt zweier orthogonaler Polynome aufgrund ihrer gegenseitigen Orthogonalität null ist. Daher ist jedes von null verschiedene Element ihrer Inversen einfach der Kehrwert des entsprechenden Elements in der Normalengleichungsmatrix. Die Berechnung wird weiter vereinfacht, indem orthogonale Gram-Polynome rekursiv konstruiert werden . Die gesamte Berechnung kann in wenigen Zeilen PASCAL- Code implementiert werden , einer Programmiersprache , die sich gut für rekursive Berechnungen eignet [ 15 ] .

Behandlung des ersten und letzten Punktes

Savitzky-Golay-Filter werden am häufigsten verwendet, um den geglätteten Wert oder die Ableitung am Mittelpunkt z = 0 mithilfe eines einzigen Satzes von Faltungskoeffizienten zu erhalten. ( m  − 1)/2 Punkte am Anfang und Ende der Reihe können mit diesem Verfahren nicht berechnet werden. Es gibt verschiedene Strategien, um diese Einschränkung zu umgehen.

  • Die Daten könnten künstlich erweitert werden, indem in umgekehrter Reihenfolge Kopien der ersten ( m  − 1)/2 Punkte am Anfang und Kopien der letzten ( m  − 1)/2 Punkte am Ende hinzugefügt werden. Beispielsweise werden bei m = 5 jeweils zwei  Punkte am Anfang und am Ende der Daten y₁ , ..., yₙ hinzugefügt .
y 3 , y 2 , y 1 , ... , y n , y n −1 , y n −2 .
  • Wenn man sich das Anpassungspolynom noch einmal ansieht, wird deutlich, dass Daten für alle Werte von z berechnet werden können , indem man alle Sätze von Faltungskoeffizienten für ein einzelnes Polynom, a 0 .. a k , verwendet .
    Für ein kubisches Polynom
  • Die Faltungskoeffizienten für die fehlenden ersten und letzten Punkte lassen sich ebenfalls leicht bestimmen. [ 15 ] Dies entspricht der Anpassung der ersten ( m  + 1)/2 Punkte mit demselben Polynom und analog für die letzten Punkte.

Gewichtung der Daten

Die obige Vorgehensweise impliziert, dass alle Datenpunkte gleich gewichtet werden. Genauer gesagt, hat die im Verfahren der kleinsten Quadrate zu minimierende Zielfunktion Einheitsgewichte, w <sub>i</sub>  = 1. Sind die Gewichte nicht alle gleich, lauten die Normalgleichungen wie folgt:

Ein gewichteter Savitzky-Golay-Filter wurde auf das verrauschte Signal aus der Einleitung dieses Artikels angewendet. Mit einem Hann-Fenster lässt sich die Qualität der geglätteten Kurve im Vergleich zu einem ungewichteten (gleichmäßig gewichteten) Savitzky-Golay-Filter mit gleicher Fensterlänge und gleichem Polynomgrad verbessern. Zum einen ist weniger Restrauschen zu beobachten, zum anderen wird eine höhere Datentreue erzielt (mit Ausnahme der Ränder, wo die Gewichtung größere Abweichungen begünstigt).

Verwendet man für alle Datenteilmengen denselben Satz von Diagonalgewichten, so lässt sich eine analytische Lösung der Normalgleichungen angeben. Zum Beispiel mit einem quadratischen Polynom:

Ein expliziter Ausdruck für die Inverse dieser Matrix lässt sich mithilfe der Cramerschen Regel gewinnen . Daraus kann dann ein Satz von Faltungskoeffizienten abgeleitet werden.

Alternativ können die Koeffizienten C in einer Tabellenkalkulation berechnet werden , indem eine integrierte Matrixinversionsroutine verwendet wird, um die Inverse der Normalengleichungsmatrix zu erhalten. Dieser Koeffizientensatz kann nach der Berechnung und Speicherung für alle Berechnungen verwendet werden, die dasselbe Gewichtungsschema verwenden. Für jedes abweichende Gewichtungsschema wird ein anderer Koeffizientensatz benötigt.

Es wurde gezeigt, dass der Savitzky-Golay-Filter durch die Einführung von Gewichtungen verbessert werden kann, die an den Enden des Anpassungsintervalls abnehmen. [ 16 ]

Zweidimensionale Faltungskoeffizienten

Zweidimensionale Glättung und Differenzierung lassen sich auch auf Datentabellen anwenden, beispielsweise auf Intensitätswerte in einem fotografischen Bild, das aus einem rechteckigen Pixelraster besteht. [ 17 ] [ 18 ] Ein solches Raster wird als Kernel bezeichnet, die Datenpunkte des Kernels als Knoten. Der Trick besteht darin, den rechteckigen Kernel durch einfaches Ordnen der Knotenindizes in eine einzelne Zeile zu transformieren. Während die eindimensionalen Filterkoeffizienten durch Anpassen eines Polynoms in der Hilfsvariablen z an m Datenpunkte ermittelt werden, erhält man die zweidimensionalen Koeffizienten durch Anpassen eines Polynoms in den Hilfsvariablen v und w an die Werte der m × n Kernelknoten. Das folgende Beispiel für ein bivariates Polynom vom Grad 3 ( m = 7, n = 5) veranschaulicht den Prozess, der dem oben beschriebenen eindimensionalen Fall entspricht. [ 19 ] Der rechteckige Kern von 35 Datenwerten, d 1  −  d 35

v
w
−3−2-101 2 3
−2 d 1d 2d 3d 4d 5d 6d 7
-1 d 8d 9d 10d 11d 12d 13d 14
0 d 15d 16d 17d 18d 19d 20d 21
1 d 22d 23d 24d 25d 26d 27d 28
2 d 29d 30d 31d 32d 33d 34d 35

wird zu einem Vektor, wenn die Zeilen nacheinander angeordnet werden.

d = ( d 1 ... d 35 ) T

Die Jacobi-Matrix besitzt 10 Spalten, eine für jeden der Parameter a <sub>00</sub>  −  a <sub>03</sub> , und 35 Zeilen, eine für jedes Wertepaar von v und w . Jede Zeile hat die Form [ Formel einfügen] . Die Faltungskoeffizienten werden wie folgt berechnet : [Formel einfügen]. Die erste Zeile von C enthält 35 Faltungskoeffizienten, die jeweils mit den 35 Datenwerten multipliziert werden können, um den Polynomkoeffizienten zu erhalten. Dieser entspricht dem geglätteten Wert am zentralen Knoten des Kernels (d. h. am 18. Knoten der obigen Tabelle). Analog können die anderen Zeilen von C mit den 35 Werten multipliziert werden, um weitere Polynomkoeffizienten zu erhalten. Diese wiederum können verwendet werden, um geglättete Werte und verschiedene geglättete partielle Ableitungen an verschiedenen Knoten zu berechnen.

Nikitas und Pappa-Louisi zeigten, dass die Qualität der Glättung je nach Format des verwendeten Polynoms erheblich variieren kann. [ 20 ] Sie empfehlen die Verwendung eines Polynoms der Form

Da solche Polynome sowohl im Zentrum als auch in den Randbereichen eines Kernels eine gute Glättung erzielen, können sie bedenkenlos zur Glättung sowohl der internen als auch der randnahen Datenpunkte eines abgetasteten Bereichs verwendet werden. Um eine schlechte Konditionierung bei der Lösung des Ausgleichsproblems zu vermeiden, gilt p < m und q < n . Software zur Berechnung der zweidimensionalen Koeffizienten sowie eine Datenbank solcher C -Werte finden Sie im Abschnitt über mehrdimensionale Faltungskoeffizienten weiter unten.

Mehrdimensionale Faltungskoeffizienten

Die Idee der zweidimensionalen Faltungskoeffizienten lässt sich auf einfache Weise auch auf höhere räumliche Dimensionen erweitern [ 17 ] [ 21 ] , indem die mehrdimensionale Verteilung der Kernelknoten in einer einzigen Zeile angeordnet wird. In Anlehnung an die oben erwähnte Erkenntnis von Nikitas und Pappa-Louisi [ 20 ] für zweidimensionale Fälle wird für mehrdimensionale Fälle die Verwendung der folgenden Polynomform empfohlen:

Dabei ist D die Dimension des Raumes, die Koeffizienten des Polynoms und die Koordinaten in den verschiedenen Raumrichtungen. Algebraische Ausdrücke für partielle Ableitungen beliebiger Ordnung, ob gemischt oder nicht, lassen sich leicht aus dem obigen Ausdruck ableiten. [ 21 ] Es ist zu beachten, dass C von der Anordnung der Kernknoten in einer Zeile und der Anordnung der Terme der entwickelten Form des obigen Polynoms bei der Erstellung der Jacobi-Matrix abhängt.

Die genaue Berechnung von C in mehrdimensionalen Fällen wird schwierig, da die Genauigkeit gängiger Gleitkommazahlen in Programmiersprachen nicht mehr ausreicht. Die unzureichende Genauigkeit führt dazu, dass die Abschneidefehler der Gleitkommazahlen mit der Größenordnung einiger C- Elemente vergleichbar werden, was die Genauigkeit stark beeinträchtigt und die Berechnung unbrauchbar macht. Chandra Shekhar hat mit Advanced Convolution Coefficient Calculator (ACCC) und Precise Convolution Coefficient Calculator (PCCC) zwei Open-Source -Softwareprogramme entwickelt , die diese Genauigkeitsprobleme adäquat lösen. ACCC berechnet C iterativ mit Gleitkommazahlen. [ 22 ] Die Genauigkeit der Gleitkommazahlen wird in jeder Iteration mithilfe von GNU MPFR schrittweise erhöht . Sobald die in zwei aufeinanderfolgenden Iterationen erhaltenen C -Werte bis zu einem vordefinierten Abstand die gleiche Anzahl signifikanter Stellen aufweisen, gilt die Konvergenz als erreicht. Ist der Abstand ausreichend groß, liefert die Berechnung einen hochgenauen C- Wert . PCCC verwendet Berechnungen mit rationalen Zahlen unter Verwendung der GNU Multiple Precision Arithmetic Library und liefert ein vollständig genaues C im Format rationaler Zahlen . [ 23 ] Abschließend werden diese rationalen Zahlen in Gleitkommazahlen umgewandelt, bis eine vordefinierte Anzahl signifikanter Stellen erreicht ist.

Eine Datenbank mit C -Werten , die mittels ACCC für symmetrische Kerne sowie symmetrische und asymmetrische Polynome auf Kernknoten mit Einheitsabstand in ein-, zwei-, drei- und vierdimensionalen Räumen berechnet wurden, ist verfügbar. [ 24 ] Chandra Shekhar hat zudem ein mathematisches Rahmenwerk entwickelt, das die Verwendung von C-Werten , berechnet auf Kernknoten mit Einheitsabstand, zur Filterung und partiellen Differentiation (verschiedener Ordnungen) auf Kernknoten mit ungleichmäßigem Abstand beschreibt. [ 21 ] Dadurch können die in der oben genannten Datenbank enthaltenen C- Werte verwendet werden . Obwohl diese Methode nur Näherungswerte liefert, sind diese in den meisten technischen Anwendungen akzeptabel, sofern die Nicht-Uniformität der Kernknoten gering ist.

Einige Eigenschaften der Faltung

  1. Die Summe der Faltungskoeffizienten zur Glättung ist gleich eins. Die Summe der Koeffizienten für ungerade Ableitungen ist null. [ 25 ]
  2. Die Summe der quadrierten Faltungskoeffizienten zur Glättung entspricht dem Wert des zentralen Koeffizienten. [ 26 ]
  3. Durch Glätten einer Funktion bleibt die Fläche unter der Funktion unverändert. [ 25 ]
  4. Die Faltung einer symmetrischen Funktion mit Koeffizienten gerader Ableitungen erhält das Symmetriezentrum. [ 25 ]
  5. Eigenschaften von Ableitungsfiltern. [ 27 ]

Signalverzerrung und Rauschunterdrückung

Es ist unvermeidlich, dass das Signal im Faltungsprozess verzerrt wird. Gemäß Eigenschaft 3 wird bei der Glättung von Daten mit einem Peak die Peakhöhe reduziert und die Halbwertsbreite erhöht. Sowohl das Ausmaß der Verzerrung als auch die Verbesserung des Signal-Rausch-Verhältnisses (S/N ) werden dadurch verbessert.

  • sinkt mit zunehmendem Grad des Polynoms
  • Sie nimmt zu, wenn die Breite m der Faltungsfunktion zunimmt.
Auswirkung der Glättung auf Datenpunkte mit unkorreliertem Rauschen mit einer Standardabweichung von eins

Wenn beispielsweise das Rauschen in allen Datenpunkten unkorreliert ist und eine konstante Standardabweichung σ aufweist , wird die Standardabweichung des Rauschens durch Faltung mit einer m -Punkt-Glättungsfunktion auf [ 26 ] [ Anmerkung 5 ] verringert.

  • Polynomgrad 0 oder 1: ( gleitender Durchschnitt )
  • Polynomgrad 2 oder 3: .

Diese Funktionen sind in der Grafik rechts dargestellt. Beispielsweise werden mit einer linearen 9-Punkt-Funktion (gleitender Mittelwert) zwei Drittel des Rauschens entfernt, während mit einer quadratischen/kubischen 9-Punkt-Glättungsfunktion nur etwa die Hälfte des Rauschens entfernt wird. Der größte Teil des verbleibenden Rauschens ist niederfrequentes Rauschen (siehe Frequenzgang von Faltungsfiltern weiter unten).

Obwohl die gleitende Mittelwertfunktion eine bessere Rauschunterdrückung ermöglicht, ist sie ungeeignet zur Glättung von Daten mit Krümmung über m Punkte. Eine quadratische Filterfunktion ist ungeeignet, um die Ableitung einer Datenkurve mit einem Wendepunkt zu bestimmen , da ein quadratisches Polynom keinen Wendepunkt besitzt. Die optimale Wahl des Polynomgrades und der Anzahl der Faltungskoeffizienten stellt einen Kompromiss zwischen Rauschunterdrückung und Verzerrung dar. [ 28 ]

Mehrfachpassfilter

Eine Möglichkeit, Verzerrungen zu mindern und die Rauschunterdrückung zu verbessern, besteht darin, einen Filter mit geringerer Breite zu verwenden und diesen mehrfach zu falten. Zwei Durchläufe desselben Filters entsprechen einem Durchlauf eines Filters, der durch Faltung des ursprünglichen Filters mit sich selbst entsteht. [ 29 ] Beispielsweise sind zwei Durchläufe des Filters mit den Koeffizienten (1/3, 1/3, 1/3) äquivalent zu einem Durchlauf des Filters mit den Koeffizienten (1/9, 2/9, 3/9, 2/9, 1/9).

Der Nachteil der Mehrfachfilterung besteht darin, dass die äquivalente Filterbreite für Durchläufe einer n-Punkt-Funktion größer ist, wodurch die Mehrfachfilterung stärkeren Randeffekten unterliegt. Dennoch wurde die Mehrfachfilterung mit großem Erfolg eingesetzt. Beispielsweise lieferten etwa 40–80 Durchläufe von Daten mit einem Signal-Rausch-Verhältnis von nur 5 brauchbare Ergebnisse. [ 30 ] Die oben genannten Formeln zur Rauschunterdrückung sind nicht anwendbar, da die Korrelation zwischen den berechneten Datenpunkten mit jedem Durchlauf zunimmt.

Frequenzcharakteristik von Faltungsfiltern

Fouriertransformation der 9-Punkt-Quadrat-/Kubik-Glättungsfunktion

Die Faltung entspricht der Multiplikation im Fourier -Koordinate . Die diskrete Fouriertransformierte eines Faltungsfilters ist eine reellwertige Funktion , die sich wie folgt darstellen lässt:

θ läuft von 0 bis 180 Grad , danach wiederholt sich die Funktion. Der Verlauf einer quadratischen/kubischen Glättungsfunktion mit neun Punkten ist typisch. Bei sehr kleinen Winkeln ist der Verlauf nahezu flach, was bedeutet, dass niederfrequente Datenkomponenten durch die Glättung praktisch unverändert bleiben. Mit zunehmendem Winkel nimmt der Wert ab, sodass höherfrequente Komponenten immer stärker gedämpft werden. Dies zeigt, dass der Faltungsfilter als Tiefpassfilter beschrieben werden kann : Das entfernte Rauschen ist primär hochfrequentes Rauschen, während niederfrequentes Rauschen den Filter passiert. [ 31 ] Einige hochfrequente Rauschkomponenten werden stärker gedämpft als andere, was sich in Wellen in der Fouriertransformation bei großen Winkeln zeigt. Dies kann zu kleinen Oszillationen in den geglätteten Daten [ 32 ] und Phasenumkehr führen, d. h. hochfrequente Oszillationen in den Daten werden durch die Savitzky-Golay-Filterung invertiert. [ 33 ]

Faltung und Korrelation

Die Faltung beeinflusst die Korrelation zwischen Fehlern in den Daten. Der Effekt der Faltung lässt sich als lineare Transformation ausdrücken.

Gemäß dem Fehlerfortpflanzungsgesetz wird die Varianz-Kovarianz-Matrix der Daten, A , wie folgt in B transformiert: Um die praktische Anwendung zu verdeutlichen, betrachten wir den Effekt eines gleitenden 3-Punkte-Mittelwerts auf die ersten drei berechneten Punkte, Y₂  −  Y₄ , unter der Annahme , dass die Datenpunkte die gleiche Varianz aufweisen und keine Korrelation zwischen ihnen besteht. A ist dann die Einheitsmatrix, multipliziert mit einer Konstanten σ² , der Varianz an jedem Punkt.

In diesem Fall ergeben sich die Korrelationskoeffizienten zwischen den berechneten Punkten i und j wie folgt :

Im Allgemeinen sind die berechneten Werte korreliert, selbst wenn die beobachteten Werte nicht korreliert sind. Die Korrelation erstreckt sich jeweils über m  − 1 berechnete Punkte. [ 34 ]

Mehrfachpassfilter

Um den Einfluss mehrfacher Filterung auf das Rauschen und die Korrelation eines Datensatzes zu veranschaulichen, betrachten wir die Auswirkungen eines zweiten Durchlaufs eines gleitenden 3-Punkt-Mittelwertfilters. Für den zweiten Durchlauf [ Anmerkung 6 ]

Nach zwei Durchläufen hat sich die Standardabweichung des Mittelwerts auf einen Wert von 0,58 σ verringert , verglichen mit 0,58 σ nach einem Durchlauf. Die Rauschreduzierung ist etwas geringer als bei einem Durchlauf eines gleitenden 5-Punkte-Mittelwerts, der unter denselben Bedingungen zu einer kleineren Standardabweichung der geglätteten Punkte von 0,45 σ führen würde .

Die Korrelation erstreckt sich nun über einen Bereich von 4 aufeinanderfolgenden Punkten mit Korrelationskoeffizienten.

Der Vorteil, der sich durch die Durchführung von zwei Durchläufen mit der schmaleren Glättungsfunktion ergibt, besteht darin, dass dadurch weniger Verzerrungen in die berechneten Daten eingebracht werden.

Vergleich mit anderen Filtern und Alternativen

Im Vergleich zu anderen Glättungsfiltern, z. B. der Faltung mit einer Gauß-Funktion oder der Mehrfachpass -Gleitmittelwertfilterung , weisen Savitzky-Golay-Filter im Frequenzbereich einen anfänglich flacheren Frequenzgang und eine schärfere Grenzfrequenz auf, insbesondere bei höheren Ordnungen des Anpassungspolynoms (siehe Frequenzcharakteristik ). Bei Daten mit begrenzter Signalbandbreite bedeutet dies, dass die Savitzky-Golay-Filterung ein besseres Signal-Rausch-Verhältnis als viele andere Filter liefern kann; so bleiben beispielsweise die Peak-Höhen der Spektren besser erhalten als bei anderen Filtern mit vergleichbarer Rauschunterdrückung. Nachteile der Savitzky-Golay-Filter sind die vergleichsweise schwache Unterdrückung einiger hoher Frequenzen (schlechte Sperrbereichsunterdrückung ) und Artefakte bei Verwendung von Polynomanpassungen für den ersten und letzten Messpunkt . [ 16 ]

Alternative Glättungsmethoden, die die Vorteile von Savitzky-Golay-Filtern nutzen und zumindest einige ihrer Nachteile ausgleichen, sind Savitzky-Golay-Filter mit geeignet gewählten alternativen Anpassungsgewichten , Whittaker-Henderson-Glättung und Hodrick-Prescott-Filter (äquivalente Methoden, die eng mit Glättungs- Splines verwandt sind ) sowie die Faltung mit einer Fenster -Sinc-Funktion . [ 16 ]

Implementierungen in Programmiersprachen

MATLAB

Python

  • flattenaus dem Modul Lightkurve . Lightkurve ist die offizielle Bibliothek zur Analyse von Daten der Kepler- und TESS-Teleskope.
  • scipy.signal.savgol_filteraus dem Modul SciPy . SciPy ist eine robuste Bibliothek, die in der akademischen Gemeinschaft für wissenschaftliches Rechnen weit verbreitet ist.

Siehe auch

Anhang

Tabellen ausgewählter Faltungskoeffizienten

Betrachten wir eine Menge von Datenpunkten . Die Savitzky-Golay-Tabellen beziehen sich auf den Fall, dass die Schrittweite h konstant ist . Beispiele für die Verwendung der sogenannten Faltungskoeffizienten mit einem kubischen Polynom und einer Fenstergröße m von 5 Punkten sind wie folgt.

Glättung
 ;
1. Ableitung
 ;
2. Ableitung
Die

Ausgewählte Werte der Faltungskoeffizienten für Polynome vom Grad 1, 2, 3, 4 und 5 sind in den folgenden Tabellen angegeben [ Anmerkung 7 ]. Die Werte wurden mit dem in Gorry bereitgestellten PASCAL-Code berechnet. [ 15 ]

Koeffizienten für die Glättung
Polynomgrad​ quadratisch oder kubisch 2 oder 3 quartisch oder quintisch 4 oder 5
Fenstergröße 579 79
-4 -2115
−3 −2145-55
−2 −3339-3030
-1 1265475135
0 17759131179
1 1265475135
2 −3339-3030
3 −2145-55
4 -2115
Normalisierung 3521231231429
Koeffizienten für die erste Ableitung
Polynomgrad​ linear oder quadratisch 1 oder 2 kubisch oder quartisch 3 oder 4
Fenstergröße 3579 579
-4 -486
−3 −3−322−142
−2 −2−2−21−67−193
-1 -1-1-1-1−8−58−126
0 0000000
1 1111858126
2 222-167193
3 33−22142
4 4−86
Normalisierung 2102860122521.188
Koeffizienten für die zweite Ableitung
Polynomgrad​ quadratisch oder kubisch 2 oder 3 quartisch oder quintisch 4 oder 5
Fenstergröße 579 579
-4 28−126
−3 57−13371
−2 20−8-167151
-1 -1−3−1716-19−211
0 −2-4-20-30-70-370
1 -1−3−1716-19−211
2 20−8-167151
3 57−13371
4 28−126
Normalisierung 742462121321716
Koeffizienten für die 3. Ableitung
Polynomgrad​ kubisch oder quartisch 3 oder 4 Quintisch oder Sextisch 5 oder 6
Fenstergröße57979
-4 −14100
−3 -171−457
−2 -1113−8256
-1 21913459
0 00000
1 −2-1−9−13−459
2 1-1−138−256
3 1−7-1457
4 14-100
Normalisierung 2619881144
Koeffizienten für die 4. Ableitung
Polynomgrad​ quartisch oder quintisch 4 oder 5
Fenstergröße79
-4 14
−3 3-21
−2 −7-11
-1 19
0 618
1 19
2 -7-11
3 3-21
4 14
Normalisierung 11143

Anmerkungen

  1. Bei geraden Werten von m durchläuft z die Werte von 1 − m bis m − 1 in  Schritten von 2.
  2. Der einfache gleitende Durchschnitt ist ein Spezialfall mit k = 0, Y = a 0 . In diesem Fall sind alle Faltungskoeffizienten gleich 1/ m .
  3. Die Glättung mittels gleitendem Durchschnitt entspricht bei gleichmäßig verteilten Punkten der lokalen Anpassung mit einer (geneigten) Geraden.
  4. ^ Die hier angegebenen Ausdrücke unterscheiden sich von denen von Madden, die in Abhängigkeit von der Variablen m' = (m − 1)/2 angegeben sind.
  5. Die Ausdrücke unter dem Wurzelzeichen entsprechen dem Ausdruck für den Faltungskoeffizienten mit z  = 0 .
  6. ^ Das gleiche Ergebnis wird mit einem Durchlauf des äquivalenten Filters mit den Koeffizienten (1/9, 2/9, 3/9, 2/9, 1/9) und einer Einheitsvarianz-Kovarianzmatrix erzielt.
  7. ^ Ausführlichere Tabellen und die Methode zur Berechnung zusätzlicher Koeffizienten wurden ursprünglich von Savitzky und Golay bereitgestellt. [ 3 ]

Referenzen

  1. ^ Whittaker, ET; Robinson, G (1924). The Calculus Of Observations . Blackie & Son. pp.  291 –6. OCLC  1187948 .„Graduierungsformeln, die durch Anpassen eines Polynoms gewonnen werden.“
  2. ^ a b c Guest, PG (2012) [1961]. „Kap. 7: Schätzung von Polynomkoeffizienten“ . Numerische Methoden der Kurvenanpassung . Cambridge University Press. S. 147–. ISBN 978-1-107-64695-7Die
  3. Savitzky , A .; Golay , M. J. E. (1964). „Glättung und Differenzierung von Daten durch vereinfachte Kleinste-Quadrate-Verfahren“. Analytical Chemistry . 36 ( 8): 1627–39 . Bibcode : 1964AnaCh..36.1627S . doi : 10.1021/ac60214a047 .
  4. ^ a b Savitzky, Abraham (1989). „Eine historische Zusammenarbeit“. Analytical Chemistry . 61 (15): 921A– 3A. Bibcode : 1989AnaCh..61..921S . doi : 10.1021/ac00190a744 .
  5. ^ a b Steinier, Jean; Termonia, Yves; Deltour, Jules (1972). „Glättung und Differenzierung von Daten durch vereinfachtes Kleinste-Quadrate-Verfahren“. Analytical Chemistry . 44 (11): 1906–9 . Bibcode : 1972AnaCh..44.1906S . doi : 10.1021/ac60319a045 . PMID 22324618 . 
  6. ^ Larive, Cynthia K.; Sweedler, Jonathan V. (2013). „Zum 75-jährigen Jubiläum der ACS-Abteilung für Analytische Chemie: Eine Sonderausgabe der meistzitierten analytisch-chemischen Arbeiten aus den Jahren 1938 bis 2012“. Analytical Chemistry . 85 (9): 4201–2 . Bibcode : 2013AnaCh..85.4201L . doi : 10.1021/ac401048d . PMID 23647149 . 
  7. ^ Riordon, James; Zubritsky, Elizabeth; Newman, Alan (2000). „Top 10 Artikel“ . Analytical Chemistry . 72 (9): 24 A–329 A. Bibcode : 2000AnaCh..72..324R . doi : 10.1021/ac002801q .
  8. ^ Talsky, Gerhard (04.10.1994). Derivative Spectrophotometry . Wiley. ISBN 978-3527282944Die
  9. ^ Abbaspour, Abdolkarim; Khajehzadeha, Abdolreza (2012). „Endpunktbestimmung der Fällungstitration mittels Scanometrie ohne Indikator“. Anal. Methods . 4 (4): 923–932 . doi : 10.1039/C2AY05492B .
  10. ^ Li, N.; Li, X. Y.; Zou, X. Z.; Lin, L. R.; Li, Y. Q. (2011). „Eine neuartige Basiskorrekturmethode für auf Standardaddition basierende Ableitungsspektren und ihre Anwendung zur quantitativen Analyse von Benzo(a)pyren in Pflanzenölproben“. Analyst . 136 (13): 2802–10 . Bibcode : 2011Ana...136.2802L . doi : 10.1039/c0an00751j . PMID 21594244 . 
  11. ^ Dixit, L.; Ram, S. (1985). „Quantitative Analyse mittels derivativer elektronischer Spektroskopie“. Applied Spectroscopy Reviews . 21 (4): 311–418 . Bibcode : 1985ApSRv..21..311D . doi : 10.1080/05704928508060434 .
  12. ^ Giese, Arthur T.; French, C. Stacey (1955). „Die Analyse überlappender spektraler Absorptionsbanden mittels Derivativspektrophotometrie“. Appl. Spectrosc . 9 (2): 78–96 . Bibcode : 1955ApSpe...9...78G . doi : 10.1366/000370255774634089 . S2CID 97784067 . 
  13. ^ Madden, Hannibal H. (1978). „Kommentare zur Savitzky-Golay-Faltungsmethode für die Glättung und Differenzierung digitaler Daten mittels der Methode der kleinsten Quadrate“ (PDF) . Anal. Chem . 50 (9): 1383–6 . Bibcode : 1978AnaCh..50.1383M . doi : 10.1021/ac50031a048 .
  14. ^ Gans 1992 , S. 153–157, „Wiederholte Glättung und Differenzierung“
  15. A. Gorry (1990). „ Allgemeine Glättung und Differenzierung nach der Methode der kleinsten Quadrate mittels Faltung (Savitzky-Golay)“. Analytical Chemistry . 62 ( 6): 570–3 . Bibcode : 1990AnaCh..62..570G . doi : 10.1021/ac00205a007 .
  16. ^ a b c Schmid, Michael; Rath, David; Diebold, Ulrike (2022). „Warum und wie Savitzky-Golay-Filter ersetzt werden sollten“ . ACS Measurement Science Au . 2 (2): 185–196 . Bibcode : 2022AMSAu...2..185S . ​​doi : 10.1021/acsmeasuresciau.1c00054 . PMC 9026279. PMID 35479103 .  
  17. ^ a b Thornley, David J. Anisotrope mehrdimensionale Savitzky-Golay-Kernel für Glättung, Differenzierung und Rekonstruktion (PDF) (Technischer Bericht). Imperial College Department of Computing. 2066/8.
  18. ^ Ratzlaff, Kenneth L.; Johnson, Jean T. (1989). „Berechnung zweidimensionaler Polynom-Least-Squares-Faltungsglättungszahlen“. Anal. Chem . 61 (11): 1303–5 . Bibcode : 1989AnaCh..61.1303R . doi : 10.1021/ac00186a026 .
  19. ^ Krumm, John. „Savitzky–Golay-Filter für 2D-Bilder“ . Microsoft Research, Redmond.
  20. ^ a b Nikitas und Pappa-Louisi (2000). „Kommentare zur zweidimensionalen Glättung von Daten“. Analytica Chimica Acta . 415 ( 1–2 ): 117–125 . Bibcode : 2000AcAC..415..117N . doi : 10.1016/s0003-2670(00)00861-8 .
  21. ^ a b c Shekhar, Chandra (2015). On Simplified Application of Multidimensional Savitzky-Golay Filters and Differentiators . Progress in Applied Mathematics in Science and Engineering. AIP Conference Proceedings. Vol. 1705. p. 020014. Bibcode : 2016AIPC.1705b0014S . doi : 10.1063/1.4940262 .
  22. ^ Chandra, Shekhar (02.08.2017). „Erweiterter Faltungskoeffizientenrechner“. Zenodo . doi : 10.5281/zenodo.835283 .
  23. ^ Chandra, Shekhar (02.06.2018). „Präziser Faltungskoeffizientenrechner“. Zenodo . doi : 10.5281/zenodo.1257898 .
  24. ^ Shekhar, Chandra. "Convolution Coefficient Database for Multidimensional Least-Squares Filters" .
  25. ^ a b c Gans 1992 , Anhang 7
  26. ^ a b Ziegler, Horst (1981). „Eigenschaften digitaler Glättungspolynomfilter (DISPO)“. Applied Spectroscopy . 35 (1): 88–92 . Bibcode : 1981ApSpe..35...88Z . doi : 10.1366/0003702814731798 . S2CID 97777604 . 
  27. ^ Luo, Jianwen; Ying, Kui; He, Ping; Bai, Jing (2005). „Eigenschaften digitaler Savitzky-Golay-Differenzierer“ (PDF) . Digital Signal Processing . 15 (2): 122–136 . Bibcode : 2005DSP....15..122L . doi : 10.1016/j.dsp.2004.09.008 .
  28. Gans , Peter; Gill, J. Bernard (1983). „Untersuchung der Faltungsmethode zur numerischen Glättung und Differenzierung spektroskopischer Daten in Theorie und Praxis“. Applied Spectroscopy . 37 (6): 515–520 . Bibcode : 1983ApSpe..37..515G . doi : 10.1366/0003702834634712 . S2CID 97649068 . 
  29. ^ Gans 1992 , S. 153
  30. ^ Procter, Andrew; Sherwood, Peter MA (1980). „Glättung digitaler Röntgenphotoelektronenspektren mittels eines erweiterten gleitenden Kleinste-Quadrate-Verfahrens“. Anal. Chem . 52 (14): 2315–2321 . Bibcode : 1980AnaCh..52.2315P . doi : 10.1021/ac50064a018 .
  31. ^ Gans 1992 , S. 207
  32. ^ Bromba, Manfred UA; Ziegler, Horst (1981). „Anwendungshinweise für digitale Glättungsfilter von Savitzky-Golay“. Anal. Chem . 53 (11): 1583– 6. Bibcode : 1981AnaCh..53.1583B . doi : 10.1021/ac00234a011 .
  33. Marchand , P.; Marmet, L. (1983). „Binomial smoothing filter: A way to avoid some pitfalls of least-squares polynomial smoothing“. Review of Scientific Instruments . 54 (8): 1034–1041 . Bibcode : 1983RScI...54.1034M . doi : 10.1063/1.1137498 .
  34. ^ Gans 1992 , S. 157