Interpretation der TBATS-Modellergebnisse und Modelldiagnose


11

Ich habe halbstündliche Nachfragedaten, bei denen es sich um eine multisaisonale Zeitreihe handelt. Ich habe tbatsin forecastPaket in R verwendet und habe folgende Ergebnisse erhalten:

TBATS(1, {5,4}, 0.838, {<48,6>, <336,6>, <17520,5>}) 

Bedeutet dies, dass die Serie nicht unbedingt die Box-Cox-Transformation verwenden muss und der Fehlerterm ARMA (5, 4) ist und 6, 6 und 5 Terme verwendet werden, um die Saisonalität zu erklären? Was bedeutet dieser gedämpfte Parameter 0.8383, ist er auch für die Transformation?

Das folgende ist ein Zerlegungsdiagramm des Modells:

Geben Sie hier die Bildbeschreibung ein

Ich frage mich, was ich über das Modell tun levelund slopeerzählen soll. Die "Steigung" zeigt den Trend, aber was ist mit level? So erhalten Sie eine klarere Darstellung für session 1und session 2, die täglich und wöchentlich saisonal sind.

Ich weiß auch, wie man eine tbatsModelldiagnose durchführt, um das Modell zu bewerten, mit Ausnahme des RMSE-Werts. Der normale Weg besteht darin, zu überprüfen, ob der Fehler weißes Rauschen ist, aber hier soll der Fehler eine ARMA-Serie sein. Ich zeichne 'acf' und 'pacf' des Fehlers und glaube nicht, dass es wie ARMA (5,4) aussieht. Bedeutet das, dass mein Modell nicht gut ist?

acf(resid(model1),lag.max = 1000)
pacf(resid(model1),lag.max=1000)

Geben Sie hier die Bildbeschreibung ein

Die letzte Frage RMSEwird unter Verwendung des angepassten Werts und des wahren Werts berechnet. Was ist, wenn ich den vorhergesagten Wert fc1.week$meanund den wahren Wert zur Bewertung des Modells verwende RMSE? Wird es immer noch aufgerufen ? Oder gibt es dafür einen anderen Namen?

fc1.week <-forecast(model1,h=48*7)
fc1.week.demand<-fc1.week$mean

Antworten:


8

Auf der Hilfeseite für ?tbatsfinden wir Folgendes:

Das angepasste Modell wird als TBATS (Omega, p, q, phi ,, ...) bezeichnet, wobei Omega der Box-Cox-Parameter und phi der Dämpfungsparameter ist. Der Fehler wird als ARMA (p, q) -Prozess modelliert und m1, ..., mJ listen die im Modell verwendeten Saisonperioden auf und k1, ..., kJ sind die entsprechende Anzahl von Fourier-Termen, die für jede Saisonalität verwendet werden.

So:

  • Omega = 1, was bedeutet, dass es tatsächlich keine Box-Cox-Transformation gab .
  • ϕ=0ϕ=1use.damped.trendtbats()
  • Sie haben drei verschiedene saisonale Zyklen, einen mit einer Länge von 48 = 24 * 2 (täglich), einen mit einer Länge von 336 = 7 * 24 * 2 (wöchentlich) und einen mit einer Länge von 17520 = 365 * 24 * 2 (jährlich). tbatspasst den ersten mit sechs Fourier-Termen an, den zweiten wieder mit sechs, den letzten mit fünf.

Das Original-TBATS-Papier von De Livera, Hyndman & Snyder (2011, JASA ) ist natürlich nützlich.

Nächster:

  • Die "Ebene" ist die lokale Ebene der Zeitreihe.
  • Der "Trend" ist der lokale Trend.

Diese sind analog zu der häufigeren Zerlegung des Saisontrends unter Verwendung von Lowess (STL) . Schauen Sie sich den stl()Befehl an.

Um eine klarere Darstellung für Staffel 1 und Staffel 2 zu erhalten, können Sie die numerischen Werte der einzelnen Komponenten Ihres TBATS-Modells untersuchen. Schau dir an str(tbats.components(model1))und summary(tbats.components(model1)). tbats.components()gibt Ihnen ein mtsObjekt mit mehreren Zeitreihen ( ), das im Wesentlichen eine Matrix ist - eine der Spalten gibt Ihnen jede saisonale Komponente.

residuals()sollte so funktionieren, wie es überall in R funktioniert; Das heißt, es sollte die endgültigen Residuen zurückgeben. Dies sollte in der Tat weißes Rauschen sein, da es sich um die Residuen nach Anwendung eines ARMA handelt (5,4). Die Spitzen in Ihrem ACF scheinen regelmäßig zu sein - es sieht so aus, als ob noch Saisonalität vorhanden ist. Können Sie ihre Periodizität ableiten? (Es hilft nicht wirklich, dass die Verzögerungen in Vielfachen des längsten saisonalen Zyklus gezählt werden.)

Ja, schließlich hat der quadratische Mittelwertfehler, der ein allgemeines Maß für die Genauigkeit der Punktprognose ist, das gleiche Akronym außerhalb der Stichprobe: RMSE.


1
Danke vielmals! Ja, der Peak von ACF ist regelmäßig, ein Peak in 48 Verzögerungen. Das Problem ist, dass ich bereits 48 als Saison in meine Zeitreihe aufgenommen habe. Wie gehen Sie normalerweise vor, um den saisonalen Rest zu fixieren? Gibt es noch etwas, das es wert ist, ausprobiert zu werden?
Jeannie

1
Summen. Leider sehe ich keine Möglichkeit, tbats()mehr Fourier-Begriffe für bestimmte Saisonalitäten aufzunehmen. Entschuldigung ...
Stephan Kolassa
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.