Einen exponentiellen gleitenden Durchschnitt auf einen gleitenden Fenstermittelwert einstellen?


7

Der Alpha-Parameter eines exponentiellen gleitenden Durchschnitts definiert die Glättung, die der Durchschnitt für eine Zeitreihe anwendet. In ähnlicher Weise definiert die Fenstergröße eines sich bewegenden Fenstermittels auch die Glättung.

Gibt es eine Möglichkeit, den Alpha-Parameter so einzustellen, dass die Glättung ungefähr der eines Mittelwerts für bewegliche Fenster einer bestimmten Größe entspricht? (Offensichtlich nicht nach identischen Ergebnissen suchen und Offsets sind in Ordnung). Sagen Sie also "Alpha so einstellen", dass die resultierende Zeitreihe so nah wie möglich an dem Ergebnis eines sich bewegenden 3-Monats-Fensters liegt?

edit : context: Ich versuche, aus Niederschlagsdaten, die abstrakt unterschiedliche Tiefen darstellen (von denen ich annehme, dass sie mit langfristigen Niederschlagsdurchschnitten zusammenhängen), mehrere Proxys für die Bodenfeuchtigkeit zu generieren. Ein sich bewegendes Fenster ermöglicht es mir, z. B. den Gesamtniederschlag in den letzten 3 Tagen, 3 Monaten oder dem Jahr zu berechnen, der den obersten Zentimetern des Bodens, dem obersten Meter bzw. der erweiterten Bodensäule entsprechen kann. Für ein sich bewegendes Fenster sind jedoch Daten aus der Vergangenheit erforderlich, die nicht immer verfügbar sind (z. B. zu Beginn einer Serie). Wenn stattdessen ein exponentieller Durchschnitt verwendet wird, muss ich nur einen Wert für jeden Durchschnitt speichern (den Durchschnitt aus dem vorherigen Zeitschritt), und dieser Wert kann mit dem langfristigen Mittelwert initialisiert werden.


Auf welche Art von Offset beziehen Sie sich?
Glen_b -State Monica

@Glen_b: wie in, wenn die Spitzen und Täler in den beiden Mitteln relativ zueinander verschoben sind. Ich habe keinen Grund, dies zu erwarten, aber ich bin mir auch nicht sicher, ob dies nicht der Fall ist.
naught101

Oh, sorry, ich hatte angenommen, Sie meinten, Sie wollten einen Alpha-Parameter finden, der eng beieinander liegende (/ vorhergesagte) Werte impliziert (nahe im bedingten Mittelwert). Beabsichtigen Sie stattdessen einen Alpha-Parameter, der einen ähnlichen Glättungsgrad impliziert, obwohl die Werte möglicherweise sehr unterschiedlich sind? (In der Tat so etwas wie in der bedingten Varianz nahe zu sein, anstatt im bedingten Mittelwert nahe zu sein)
Glen_b - Monica

Oh, mit dem Mittelwert Ihres sich bewegenden Fensters, ist das rückwärtsgerichtet oder auf die Beobachtung zentriert? (dh vs ) (unter y^y=1ki=0k1ytiy^y=12k+1i=kkyti
Berücksichtigung der Tatsache,

Es wurde ein Kontext hinzugefügt, nur für den Fall, dass dies dazu beitragen könnte, die Absicht der Frage zu klären. Jetzt, wo ich darüber nachdenke, frage ich mich, ob ein exponentieller gleitender Durchschnitt überhaupt für (exponentielle) Niederschlagsdaten gültig ist ...
naught101

Antworten:


6

Sei die ursprüngliche Zeitreihe und das Ergebnis der Glättung mit einem einfachen gleitenden Durchschnitt mit einer gewissen Fensterbreite. Sei eine Funktion, die eine geglättete Version von Verwendung des Glättungsparameters zurückgibt .xxmf(x,α)xα

Definieren Sie eine Verlustfunktion , die die Unähnlichkeit zwischen dem gleitenden gleitenden Durchschnitt und dem exponentiellen gleitenden Durchschnitt misst. Eine einfache Wahl wäre der quadratische Fehler:L

L(α)=xmf(x,α)2

Wenn Sie möchten, dass der Fehler für die Verschiebung / Skalierung unveränderlich ist, können Sie so definieren , dass es so etwas wie das Negativ der Peakhöhe der normalisierten Kreuzkorrelation ist.L

Finden Sie den Wert von , der minimiert :αL

minαL(α)

Hier ist ein Beispiel, bei dem ein verrauschtes sinusförmiges Signal und der mittlere quadratische Fehler als Verlustfunktion verwendet werden:

Geben Sie hier die Bildbeschreibung ein

Ein weiteres Beispiel mit weißem Rauschen als Signal:

Geben Sie hier die Bildbeschreibung ein

Die Verlustfunktion scheint sich gut zu verhalten und hat ein einziges globales Minimum für diese beiden unterschiedlichen Signale, was darauf hindeutet, dass ein Standard-1d-Optimierungslöser funktionieren könnte (wie ich hier habe). Aber ich habe nicht nachgewiesen , dass dies muss der Fall sein. Zeichnen Sie im Zweifelsfall die Verlustfunktion und verwenden Sie gegebenenfalls eine ausgefeiltere Optimierungsmethode.α

Bearbeiten :

Hier ist eine grafische Darstellung des optimalen Alphas (für die exponentielle Glättung) als Funktion der Fenstergröße (für den einfachen gleitenden Durchschnitt). Dargestellt für jedes der oben gezeigten Signale.

Geben Sie hier die Bildbeschreibung ein


Hrmm. Dies ist also ein fairer Ansatz, aber es wird davon ausgegangen, dass das Alpha für jede Zeitreihe für eine bestimmte Fenstergröße unterschiedlich ist. Ist das unbedingt der Fall? Ich dachte, dass es eine allgemeine analytische Lösung geben könnte ...
naught101

Das habe ich auch gehofft. Dies ist nur ein empirisches Argument, aber ich habe versucht, verschiedene Signale zu verwenden, und der Wert von Alpha kann unterschiedlich sein, selbst wenn die Fensterbreite gleich ist.
user20160

Welches Fenster haben Sie für diese Diagramme verwendet? Das exponentiell bewegte Fenster von Pandas hat ein Argument für den Massenschwerpunkt (com), das wie folgt definiert ist: , das ungefähr der Fensterlänge in einem normalen beweglichen Fenster zu entsprechen scheint. Haben Ihre Grundstücke auch diese Beziehung? α=1/(1+com)
naught101

1
Ich habe den Beitrag bearbeitet, um das optimale Alpha als Funktion der Fenstergröße anzuzeigen. Die Funktion ist zwar flüssig, kann aber je nach Signal unterschiedlich sein. Die Optimierung dauerte nur ~ 1 ms für 1000 Proben und ~ 160 ms für 1e6 Proben, es ist also nicht allzu lästig. Wenn Sie dies jedoch vermeiden möchten, können Sie eine Kurve zwischen Alpha und Fenstergröße für ein einzelnes Prototypsignal erstellen und dann Alpha für weitere Signale auswählen.
user20160

1
Alternativ können Sie möglicherweise einen geschlossenen Ausdruck für ein einfaches Signal mit genau definierten Statistiken ableiten und dann nur kleine Ungenauigkeiten akzeptieren, die sich aus Unterschieden zwischen dem Modellsignal und Ihren tatsächlichen Signalen ergeben.
user20160

2

Wenn ich die Frage richtig verstehe, geht es darum, eine exponentiell abnehmende Gewichtsreihe an eine diskrete Uniform anzupassen (konstantes Gewicht mit Cutoff):

! [Vergleich der EWMA-Gewichtsfunktionen mit dem normalen gleitenden Durchschnitt

Offensichtlich nimmt entweder eine EWMA schnell ab (passt schlecht zu älteren Verzögerungen, bei denen der gewöhnliche gleitende Durchschnitt noch ein hohes Gewicht hat) oder hat einen Schwanz viel weiter in der Vergangenheit, der die Gewichtsverteilung schlecht passt, wenn der gewöhnliche gleitende Durchschnitt kein Gewicht hat).

Welche Wahl von am besten geeignet ist, um die Ergebnisse aus einheitlichen Gewichten abzugleichen, hängt entscheidend davon ab, wie Sie die Leistung messen und (natürlich) von den Eigenschaften der Serie (sowohl der gewöhnliche gleitende Durchschnitt als auch die EWMA wären nur für schwache Zwecke angemessen geeignet). stationäre Reihen zum Beispiel, aber das deckt viele Fälle mit möglicherweise unterschiedlicher relativer Leistung für unterschiedliche Werte ab.αα

Die Frage lässt diese beiden Dinge vage, daher vermute ich, dass nicht viel mehr zu sagen ist als "es kommt darauf an" - entweder über die Ähnlichkeit des bedingten Mittelwerts oder die Größe der bedingten Varianz hier.


0

Wir können uns dies als ein Problem der Hyperparameteroptimierung vorstellen.

Wir haben ein Ziel X_mean, das der Zielwert ist.

Wir haben auch eine Verlustfunktion, zB L2 (X_exponential - X_mean).

Wir suchen nach einem Hyperparameter (Alpha) für den exponentiellen gleitenden Durchschnitt, um den Verlust zu minimieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.