Zeitreihen-Saisonalitätstest

9

Was sind die einfachsten Saisonalitätstests für Zeitreihen?

Um genauer zu sein, möchte ich testen, ob in specific time series the seasonal componentsinnvoll ist.

Was sind die empfohlenen Pakete in Python / R?

Michael D.
quelle

Antworten:

5

Bevor Sie die Saisonalität testen, sollten Sie überlegen, welche Art von Saisonalität Sie haben. Beachten Sie, dass es viele verschiedene Arten von Saisonalität gibt:

  • Additive vs. multiplikative Saisonalität
  • Einzelne oder mehrere Saisonalitäten
  • Saisonalität mit gerader vs. ungerader Anzahl von Perioden. Jedes Jahr hat zwölf Monate, aber 52.1429 Wochen.
  • Trend vs. Saisonalität: Ein Saisonalitätsmuster wird immer im selben Zeitraum angezeigt, aber ein Trend kann etwas später oder früher und nicht genau alle 5 Jahre auftreten. Ein Beispiel für einen Trend sind Konjunkturzyklen.

Eine der häufigsten Methoden zur Erkennung der Saisonalität besteht darin, die Zeitreihen in mehrere Komponenten zu zerlegen.

In R können Sie dies mit dem decompose()Befehl aus dem vorinstallierten Statistikpaket oder mit dem stl()Befehl aus dem Prognosepaket tun .

Der folgende Code stammt aus einem kleinen Buch von R für Zeitreihen

births <- scan("http://robjhyndman.com/tsdldata/data/nybirths.dat")
birthstimeseries <- ts(births, frequency = 12, start = c(1946,1))
birthstimeseriescomponents <- decompose(birthstimeseries)
plot(birthstimeseriescomponents)

Geben Sie hier die Bildbeschreibung ein

Sie können die einzelnen Komponenten mit überprüfen

  • birthstimeseriescomponents$seasonal

  • birthstimeseriescomponents$random

  • birthstimeseriescomponents$trend


Eine andere Methode besteht darin, saisonale Dummies einzuschließen und zu überprüfen, ob sie signifikante p-Werte haben, wenn Sie die Regression berechnen. Wenn die einzelnen Monate signifikante Koeffizienten haben, ist Ihre monatliche Zeitreihe saisonabhängig.


Eine andere Methode zur Erkennung der Saisonalität besteht darin, entweder die Daten selbst oder die ACF (Autokorrelationsfunktion) zu zeichnen. In unserem Fall können Sie leicht feststellen, dass es Saisonalität gibt.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein


Und zu guter Letzt gibt es einige "formale" Hypothesentests, um Saisonalität festzustellen, wie den Student T-Test und den Wilcoxon Signed Rank Test.

Ferdi
quelle
In meinem Fall weiß ich selbst nicht (additive vs. multiplikative, einzelne vs. multiple Saisonalitäten Saisonalität mit gerader vs. ungerader Anzahl von Perioden), ich habe viele Zeitreihen und möchte so viel wie möglich einen Ansatz haben möglich. Für den Anfang möchte ich mit additiver, einzelner Saisonalität beginnen, sogar + nicht einmal. @Ferdi
Michael D
Vielleicht sollten Sie über Ihre Daten nachdenken: Sind es tägliche, wöchentliche, monatliche oder vierteljährliche Daten? Gibt es Schocks oder Unregelmäßigkeiten? Was beobachten Sie, wenn Sie es visualisieren?
Ferdi
Einige der Zeitreihen haben wöchentlich, täglich, stündlich. Und einige andere haben überhaupt nicht. Im ersten Schritt möchte ich feststellen, ob die saisonale Komponente überhaupt voll ist. Für Ihr zweites Beispiel hat es Lag 3 und 12. Aber irgendwie finde ich bei Lag 3 keine Saisonalität. Ist es besser, stattdessen auf Pacf zu schauen ? Wenn ich auf ACF oder PACF schaue, wie ich das AR (p) -Modell (das nicht saisonal ist) von einem saisonalen Modell unterscheide? @Ferdi
Michael D
Mir ist kein Algorithmus bekannt, den Sie blind für jede Art von Zeitreihe ausführen können, um die Saisonalität zu testen
Ferdi,
1
Ich bin ... AUTOBOX sucht automatisch sowohl nach stochastischer, dh ARIMA-Struktur als auch nach deterministischer Struktur (feste Effekte wie Wochentag, Monat des Jahres, Tag des Monats, Quartal des Monats) -Jahr usw.) bei Komplikationen wie Schritt- / Pegelverschiebungen, lokalen Zeittrends, Impulsen, Änderungen beider Parameter und Fehlervarianz über die Zeit. Es gibt eine R-Version. Es ist ein Ergebnis meiner Doktorarbeit, die Identifizierung von Zeitreihenmodellen sowohl in univariaten als auch in multivariaten Umgebungen zu automatisieren.
IrishStat
0

Meine Gedanken sind, die Amplitude der:

  • ACF-Autokorrelationsfunktion
  • PACF partielle Autokorrelationsfunktion
  • Fourier-Koeffizienten

(Fourier-Koeffizienten sind über den Wiener-Khinchin-Satz mit ACF verwandt .)

Michael D.
quelle