Was ist besser, stl oder zersetzen?

10

Ich mache eine Zeitreihenanalyse mit R. Ich muss meine Daten in Trend-, Saison- und Zufallskomponenten zerlegen. Ich habe wöchentliche Daten für 3 Jahre. Ich habe zwei Funktionen in R - stl()und gefunden decompose(). Ich habe gelesen, dass dies stl()nicht gut für die multiplikative Zerlegung ist. Kann mir jemand sagen, in welchem ​​Szenario diese Funktionen verwendet werden können?

Arushi
quelle
1
Sie müssen einen Kontext für Ihr Problem angeben, andernfalls müssen wir zum Stapelaustausch migrieren oder mit der Empfehlung schließen, die Sie versuchen ?stlund ?decompose.
AdamO

Antworten:

4

Ich würde sagen STL. STL ist trend- und saisonabhängig, siehe: http://www.wessa.net/download/stl.pdf

Nur saisonal zerlegen finden Sie in der Dokumentation hier: http://stat.ethz.ch/R-manual/R-devel/library/stats/html/decompose.html

Wenn Sie mit ihnen arbeiten, müssen Sie Ihren Trendtyp (multiplikativ, additiv) und Ihren Saisontyp (multiplikativ, additiv) angeben. Trends können manchmal auch einen Dämpfungsfaktor haben.

Mit multiplikativer Zerlegung meine ich im Fall Trend. Es ist unwahrscheinlich, dass Sie eine multiplikative Zerlegung verwenden, es sei denn, Sie zerlegen eine exponentielle Wachstumsfunktion.

ccsv
quelle
Die multiplikative Zerlegung im einfachen Fall ist, wenn das zugrunde liegende Modell Y = Trend * saisonaler * Fehler ist. Multiplikative Modelle treten in nicht exponentiellen Kontexten auf. Zum Beispiel haben Sie beim Verkauf ein bestimmtes Verkehrsaufkommen und eine bestimmte Conversion-Rate, sodass die saisonale Komponente proportional zum Trend variiert. Die Lösung beschreibt Natalie.
5

Nachteile der decomposeFunktion in R:

  1. Die Schätzung des Trends ist für die ersten und letzten Beobachtungen nicht verfügbar.
  2. Es wird davon ausgegangen, dass sich die saisonale Komponente von Jahr zu Jahr wiederholt.

Also würde ich STL vorziehen. Es ist möglich, eine multiplikative Zerlegung zu erhalten, indem zuerst Protokolle der Daten erstellt und dann die Komponenten rücktransformiert werden.

Natalie
quelle
1

STL ist eine fortgeschrittenere Technik zum Extrahieren der Saisonalität in dem Sinne, dass die Saisonalität variieren kann, was in nicht der Fall ist decompose .

Um zu verstehen, wie STL funktioniert:

  • Der Algorithmus schätzt jede saisonale Unterserie (in einer 7-Tage-Saisonalität werden 7 Unterserien geschätzt: die Montagszeitserie, die Dienstagszeitserie usw.).
  • Anschließend wird die lokale Saisonalität geschätzt, indem für jede Unterserie eine Lössregression durchgeführt wird.

Dies ermöglicht es, den unterschiedlichen Effekt in der Saisonalität zu erfassen. Wenn Sie nicht möchten, dass Ihre Saisonalität variiert (mit anderen Worten, der geschätzte Effekt jeder Unterserie bleibt über die gesamte Zeitserie konstant), können Sie das saisonale Fenster als unendlich oder "periodisch" festlegen. Dies entspricht dem Durchschnitt jeder Unterserie und der Gleichgewichtung aller Punkte (Sie haben keinen "lokalen" Effekt mehr).decomposeist im Wesentlichen dasselbe, da die saisonalen Unterkomponenten über Ihre gesamte Zeitserie konstant bleiben, was eine spezielle Konfiguration von STL ist.

Dies wird hier ziemlich gut erklärt: https://www.otexts.org/fpp/6/1 .

STL schätzt die Saisonalität additiv. Wie einige Seiten später in der vorherigen Quelle erläutert, können Sie die Saisonalität multiplikativ schätzen, indem Sie auf die Protokolltransformation (oder Cox-Box-Transformation) zurückgreifen.

Tanguy
quelle