Wenn der Zweck Ihres Modells Vorhersage und Prognose ist, lautet die kurze Antwort JA, aber die Stationarität muss nicht auf einer Ebene liegen.
Ich erkläre es. Wenn Sie das Prognostizieren auf die grundlegendste Form bringen, wird es die Extraktion der Invariante sein. Bedenken Sie Folgendes: Sie können nicht vorhersagen, was sich ändert. Wenn ich Ihnen sage, dass morgen in jeder Hinsicht anders sein wird als heute , können Sie keine Prognose abgeben .
Nur wenn Sie in der Lage sind, etwas von heute auf morgen auszudehnen, können Sie eine Prognose erstellen. Ich gebe Ihnen ein paar Beispiele.
- x^t + 1= xt
- v = 60xt∼ v t
- Dein Nachbar ist jeden Freitag betrunken. Wird er nächsten Freitag betrunken sein? Ja, solange er sein Verhalten nicht ändert
- und so weiter
Bei jeder vernünftigen Prognose extrahieren wir zunächst etwas Konstantes aus dem Prozess und erweitern es auf die Zukunft. Daher meine Antwort: Ja, die Zeitreihen müssen stationär sein, wenn Varianz und Mittelwert die Invarianten sind, die Sie aus der Geschichte in die Zukunft ausdehnen werden. Außerdem möchten Sie, dass die Beziehungen zu Regressoren auch stabil sind.
Identifizieren Sie einfach, was in Ihrem Modell eine Invariante ist, ob es sich um eine mittlere Stufe, eine Änderungsrate oder etwas anderes handelt. Diese Dinge müssen in Zukunft gleich bleiben, wenn Ihr Modell eine Vorhersagekraft haben soll.
Holt Winters Beispiel
Holt Winters Filter wurde in den Kommentaren erwähnt. Es ist eine beliebte Option zum Glätten und Vorhersagen bestimmter Arten von Saisonreihen und kann auch mit nichtstationären Reihen umgehen. Insbesondere können Serien bearbeitet werden, bei denen der mittlere Pegel linear mit der Zeit wächst. Mit anderen Worten, wo die Steigung stabil ist . In meiner Terminologie ist die Steigung eine der Invarianten, die dieser Ansatz aus der Reihe extrahiert. Mal sehen, wie es versagt, wenn die Steigung instabil ist.
In diesem Plot zeige ich die deterministische Reihe mit exponentiellem Wachstum und additiver Saisonalität. Mit anderen Worten, die Steigung wird mit der Zeit immer steiler:
Sie können sehen, wie Filter sehr gut zu den Daten zu passen scheint. Die angepasste Linie ist rot. Wenn Sie jedoch versuchen, mit diesem Filter eine Vorhersage zu treffen, schlägt dies kläglich fehl. Die wahre Linie ist schwarz, und die rote, wenn sie mit blauer Konfidenz ausgestattet ist, begrenzt den nächsten Plot:
Der Grund, warum dies fehlschlägt, lässt sich anhand der Holt-Winters-Modellgleichungen leicht erkennen . Es extrahiert die Steigung aus der Vergangenheit und erstreckt sich auf die Zukunft. Dies funktioniert sehr gut, wenn die Steigung stabil ist, aber wenn der Filter konstant wächst, ist er einen Schritt zurück und der Effekt summiert sich zu einem zunehmenden Prognosefehler.
R-Code:
t=1:150
a = 0.04
x=ts(exp(a*t)+sin(t/5)*sin(t/2),deltat = 1/12,start=0)
xt = window(x,0,99/12)
plot(xt)
(m <- HoltWinters(xt))
plot(m)
plot(fitted(m))
xp = window(x,8.33)
p <- predict(m, 50, prediction.interval = TRUE)
plot(m, p)
lines(xp,col="black")
In diesem Beispiel können Sie möglicherweise die Filterleistung verbessern, indem Sie einfach ein Serienprotokoll erstellen. Wenn Sie einen Logarithmus mit exponentiell wachsenden Reihen verwenden, wird die Steigung wieder stabil und Sie geben diesem Filter eine Chance. Hier ist ein Beispiel:
R-Code:
t=1:150
a = 0.1
x=ts(exp(a*t)+sin(t/5)*sin(t/2),deltat = 1/12,start=0)
xt = window(log(x),0,99/12)
plot(xt)
(m <- HoltWinters(xt))
plot(m)
plot(fitted(m))
p <- predict(m, 50, prediction.interval = TRUE)
plot(m, exp(p))
xp = window(x,8.33)
lines(xp,col="black")