Python ARIMA exogene Variable aus der Stichprobe

9

Ich versuche, eine Zeitreihe im ARIMA-Paket python statsmodels mit dem Einschluss einer exogenen Variablen vorherzusagen, kann aber nicht den richtigen Weg finden, die exogene Variable in den Vorhersageschritt einzufügen. Siehe hier für die Dokumentation.

%Vor%

fügt jetzt eine exogene Trendvariable hinzu

%Vor%

Beachten Sie, dass dies eine Trendlinie ist, die mit jeder Erhöhung der Zeit um 0,013132 steigt (natürlich sind das zufällige Daten, wenn Sie sie also ausführen, sind die Werte unterschiedlich, aber die positive oder negative Trendstory wird dasselbe sein). Also sollte der nächste Wert (für Zeit = 14) 0,555226 + 0,013132 * 14 = 0,739074 sein.

%Vor%

Also, 2014-03-31 sagt (die letzte Probe) richtig voraus, aber 2014-06-30 beginnt wieder am Anfang (t = 1), aber notiere 2015-03-31 (eigentlich immer die letzte Beobachtung von die Prognose, unabhängig vom Horizont, nimmt t = 16 auf (das heißt, (Wert - Abschnitt) / Beta = (0,765338 - 0,555226) / 0,013132).

Um das deutlicher zu machen, beachte, was passiert, wenn ich die Werte von x mat

aufblase %Vor%

Sehen Sie, dass 2015-03-31 explodierte, aber keiner der anderen xmat-Werte berücksichtigt wurde? Was mache ich hier falsch ???

Ich habe versucht, mit jeder Art und Weise zu experimentieren, die ich kenne, um die Exog-Variable zu übergeben (Dimension ändern, den Exog zu einer Matrix machen, den Exog so lang machen wie Input plus den Horizont, etc, etc, usw.). Irgendwelche Vorschläge würden wirklich geschätzt.

Ich benutze 2,7 von Anaconda2.1 numpy 1.8.1 scipy 0.14.0 Pandas 0.14.0 Statistikmodelle 0.5.0

und haben das Problem auf Windows 7 64 Bit und Centos 64 Bit verifiziert.

Auch ein paar Dinge. Ich benutze ARIMA für die ARIMA-Funktionalität und das obige dient nur zur Veranschaulichung (das heißt, ich kann nicht "nur OLS verwenden ...", wie ich mir vorstellen werde vorgeschlagen). Ich kann auch nicht "nur R verwenden" aufgrund der Einschränkungen des Projekts (und allgemeiner, die fehlende Unterstützung von R in der Basis Spark).

Hier sind die interessanten Teile des Codes alle zusammen, falls Sie es selbst ausprobieren möchten

%Vor%     
Jim Crozier 30.07.2014, 18:23
quelle

3 Antworten

3

Dies wird wahrscheinlich besser auf dem github issue tracker gepostet. Ich habe jedoch ein Ticket eingereicht.

Es ist am besten, dort ein Ticket zu hinterlegen, falls ich es nicht vergessen sollte. In diesen Tagen ziemlich beschäftigt.

Es gab einen Fehler in der Logik für den Spezialfall von k_ar == 0. Sollte behoben sein. Lass mich wissen, ob du dem Patch einen Dreh geben kannst / darfst. Wenn nicht, kann ich einige strengere Tests durchführen und es zusammenführen.

Statsmodels über Funken? Ich bin fasziniert.

    
jseabold 31.07.2014, 15:28
quelle
2

Während Sie fit2 fiften, haben Sie bereits Exog-Variablen erwähnt, also brauchen Sie sie nicht zu wiederholen:

%Vor%

Ich hoffe, dass es helfen wird! Dies ist ein toller Beitrag. Ich habe noch nie exogene Variablen auf ARIMA probiert, aber die Zeitungen sagen, dass es nicht wirklich relevant ist, egal in welchem ​​Bereich Sie es verwenden (wird nach den Papieren suchen, wenn Sie es brauchen oder googeln).

    
Saltigué 07.08.2014 15:17
quelle
0

Wenn jemand eine Vorhersagefunktion verwendet, hat dies für mich bei der Vorhersage für einen Schritt funktioniert.

Geschichte ist ein Trainings-Array

exog ist das externe variable Array

Y_exog_test liegt außerhalb der entsprechenden externen Variablen. Ändern Sie es in ARIMAX und es sollte funktionieren

%Vor%     
Niri 31.03.2017 08:00
quelle

Tags und Links