Arima-Zeitreihenvorhersage (auto.arima) mit mehreren exogenen Variablen in R

14

Ich möchte eine Prognose auf Basis eines ARIMA-Modells mit mehreren Zeitreihen und mehreren exogenen Variablen durchführen. Da ich weder statistisch noch in Bezug auf RI so geschickt bin, ist es so einfach wie möglich (Trendprognose für 3 Monate ist ausreichend).

Ich habe 1 abhängige Zeitreihe und 3-5 Vorhersagezeitreihen, alle Monatsdaten, keine Lücken, gleicher "Zeithorizont".

Ich bin auf die Funktion auto.arima gestoßen und habe mich gefragt, ob dies eine geeignete Lösung für mein Problem ist. Ich habe unterschiedliche Warenpreise und Preise für daraus hergestellte Produkte. Alle Rohdaten sind nicht stationär, aber durch Differenzierung erster Ordnung werden sie alle zu stationären Daten. ADF, KPSS zeigen dies an. (Das bedeutet, dass ich auf Integration getestet habe, oder?).

Meine Frage ist nun: Wie wende ich das mit der auto.arima-Funktion an UND ist ARIMA trotzdem der richtige Ansatz? Einige Personen haben mir bereits die Verwendung von VAR empfohlen, aber ist dies auch mit ARIMA möglich?

Die folgende Tabelle enthält meine Daten. Tatsächlich reicht der Datensatz bis zu 105 Beobachtungen, aber die ersten 50 reichen aus. Trend und Saisonalität sind hier offensichtlich von Interesse.

Bildbeschreibung hier eingeben

Vielen Dank für alle Ratschläge und Hilfe! Georg

George
quelle
Bitte posten Sie Ihre Daten, damit sie heruntergeladen werden können. benutze Excel. Dies könnte einfach eine Aufgabe sein, unnötige (möglicherweise signifikant kreuzkorrelierte) Eingabereihen zu identifizieren. Ich glaube nicht, dass VAR für dieses Problem notwendig oder nützlich ist
IrishStat

Antworten:

10

y

Um auto.arima()mit externen Regressoren zu arbeiten, sammeln Sie Ihre Regressoren in einer Matrix X, die Sie in den xregParameter von eingeben auto.arima(). (Natürlich Xmuss die Anzahl der Zeilen mit der Anzahl der Zeitreihen übereinstimmen, die ySie modellieren.)

Für die Vorhersage benötigen Sie die zukünftigen Werte Ihrer Regressoren, die Sie dann erneut in den xregParameter von eingeben forecast.

Die Hilfeseiten sind ?auto.arimaund ?forecast.Arima(beachten Sie die Großbuchstaben A - dies ist kein Tippfehler. Fragen Sie mich nicht ...).

Stephan Kolassa
quelle
1
(+1) Sie könnten ein wenig über die Idee der Kausalität und wie man sie testet, nachdenken. Es kann für die Vollständigkeit Ihrer Antwort hilfreich sein, da Sie erwähnen, dass die Entscheidung für die Verwendung von ARIMA von der Richtung der Kausalität zwischen den Variablen abhängt. Denken Sie zum Beispiel an den Granger-Kausaltest oder den Hausman-Test ? Vielen Dank.
Javlacalle
3
@javlacalle: Ich bin kein großer Fan von statistischen Kausaltests (von denen der Granger-Test der bekannteste ist). Ich entscheide mich viel lieber für "wahrscheinliche Kausalität", basierend auf dem Thema. Zum Beispiel würde ich keinen Granger-Test verwenden, um zu beurteilen, ob eine Preissenkung den Umsatz im Supermarkt erhöht oder umgekehrt. Auch nicht, ob sich BIP, Wechselkurse und Schaffung von Arbeitsplätzen gegenseitig bedingen. In beiden Fällen erscheint die Sache offensichtlich genug, und ein Test in Übereinstimmung mit der Theorie wird uns nichts lehren, während ein Test, der der Theorie widerspricht, nur verwirrend sein wird (und wahrscheinlich nicht mehr als Rauschen).
Stephan Kolassa
1
... ich weiß, dass ich mich mit meinem letzten Kommentar den Flammen
öffne ;-)
@ Stephan: Danke für deinen Beitrag. Obwohl mein y definitiv von meinen Regressoren verursacht wird und nicht umgekehrt, korrelieren meine Regressoren definitiv miteinander und sollten auch mehr oder weniger direkte Auswirkungen aufeinander haben. Nach Ihrem Kommentar bedeutet dies, dass ich VAR anstelle von arima verwenden sollte, da dies Probleme vermeidet (?). Ich verwende hier ein Bündel von Waren- / Produktpreisen, die im Grunde alle bis zu einem gewissen Punkt miteinander in Beziehung stehen. Der "Rohstoff" ist mein Y, Produkte aus der Wertschöpfungskette sowie Nebenprodukte etc. sind meine Prädiktoren.
George
1
Es ist immer hilfreich, den Kontext der Daten zu kennen, und die Ergebnisse einer Analyse sollten mit unseren Kenntnissen von vornherein verglichen werden . Trotzdem ist Vorsicht geboten. Die Intuition versagt manchmal und die Theorien, die manchmal als selbstverständlich angesehen werden, beruhen auf Annahmen, die nicht durch Fakten gestützt werden. Aber ich verstehe, was du meinst und stimme insgesamt zu.
Javlacalle