Derzeit arbeite ich an einem Projekt zur Vorhersage von Zeitreihendaten (monatliche Daten). Ich benutze R, um die Vorhersage zu machen. Ich habe 1 abhängige Variable (y) und 3 unabhängige Variablen (x1, x2, x3). Die y-Variable hat 73 Beobachtungen, ebenso wie die anderen 3 Variablen (auch 73). Von Januar 2009 bis Januar 2015. Ich habe Korrelationen und den p-Wert überprüft, und es ist alles wichtig, ihn in ein Modell einzufügen. Meine Frage ist: Wie kann ich mit allen unabhängigen Variablen eine gute Vorhersage treffen? Ich habe keine zukünftigen Werte für diese Variablen. Nehmen wir an, ich möchte vorhersagen, was meine y-Variable in mehr als 2 Jahren (2017) ist. Wie kann ich das machen?
Ich habe den folgenden Code ausprobiert:
model = arima(y, order(0,2,0), xreg = externaldata)
Kann ich mit diesem Code eine Vorhersage des y-Werts über 2 Jahre machen?
Ich habe auch einen Regressionscode ausprobiert:
reg = lm(y ~ x1 + x2 + x3)
Aber wie nehme ich mir die Zeit in diesem Code? Wie kann ich vorhersagen, wie hoch mein y-Wert sein wird, sagen wir 2 Jahre? Ich bin neu in Statistik und Prognose. Ich habe etwas gelesen und über den Verzögerungswert hinweg gearbeitet, aber wie kann ich einen Verzögerungswert im Modell verwenden, um Prognosen zu erstellen?
Eigentlich ist meine allgemeine Frage, wie ich Zeitreihendaten mit externen Variablen ohne zukünftigen Wert vorhersagen kann.
Antworten:
Wenn Sie ein Modell mit externen Variablen anpassen und aus diesem Modell eine Prognose erstellen möchten, benötigen Sie (prognostizierte) zukünftige Werte der externen Variablen, schlicht und einfach. Daran führt kein Weg vorbei.
Es gibt natürlich verschiedene Möglichkeiten, Ihre erklärenden Variablen vorherzusagen. Sie können den zuletzt beobachteten Wert (die "naive Random Walk" -Prognose) oder den Gesamtmittelwert verwenden. Sie können sie einfach auf Null setzen, wenn dies ein nützlicher Wert für sie ist (z. B. besondere Ereignisse, die in der Vergangenheit wie ein Erdbeben aufgetreten sind und von denen Sie nicht erwarten, dass sie erneut auftreten). Oder Sie können ein Zeitreihenmodell an diese erklärenden Variablen selbst anpassen und vorhersagen, z
auto.arima
.Die Alternative besteht darin, ein Modell ohne erklärende Variablen an Ihre Werte anzupassen, indem Sie den Parameter entfernen und dann mit diesem Modell prognostizieren . Ein Vorteil ist, dass dies sogar Regelmäßigkeiten in Ihren erklärenden Variablen erfassen kann. Zum Beispiel kann Ihr Eisverkauf von der Temperatur abhängen, und Sie haben einige Monate vorher keine guten Prognosen für die Temperatur ... aber die Temperatur ist saisonabhängig. Wenn Sie also einfach ein Modell ohne Temperatur anpassen, erhalten Sie ein saisonales Modell und Ihre saisonale Prognosen können tatsächlich ziemlich gut sein, selbst wenn Sie nicht den tatsächlichen Umsatztreiber angeben.yy y
xreg
Ich empfehle dieses kostenlose Online-Prognose-Lehrbuch , insbesondere diesen Abschnitt über multiple Regression (dort gibt es leider nichts über ARIMAX) sowie Rob Hyndmans Blog-Beitrag "The ARIMAX model muddle" .
quelle
Wie Yogi Berra sagte: "Es ist schwierig, Vorhersagen zu treffen, insbesondere über die Zukunft."
Viele statistische Softwaremodule generieren Prognosen basierend auf dem univariaten Strom von Zeitreihen, wenn keine zukünftigen Informationen vorliegen, z. B. Proc Forecast in SAS oder eine beliebige Anzahl verfügbarer ARIMA-Module. Diese Prognosen sind Projektionen, die auf dem historischen Verhalten Ihrer Daten basieren.
Sie teilen uns mit, dass Ihre Daten monatlich sind, teilen uns jedoch nicht mit, wie viele Zeiträume Ihnen zur Verfügung stehen. Ein anderer Ansatz besteht darin, Ihre drei IVs 24 Monate relativ zum DV zurückzusetzen, sodass der von ihnen vorhergesagte Zeitraum t + 24 beträgt. Dies setzt voraus, dass Sie über eine ausreichende Datumsmenge verfügen, um das Modell zu initialisieren und gegebenenfalls die relevante Saisonalität zu kalibrieren.
quelle
Aus meiner Sicht haben Sie drei Möglichkeiten:
Jeder Ansatz hat seine eigenen Stärken und Schwächen. Das Beste hängt also vom jeweiligen Kontext ab.
quelle