[PYTHON] Umgang mit Problemen, die bei zukünftigen Vorhersagen auftreten, mithilfe des SARIMA-Modells (Modell der gleitenden Durchschnittssumme der saisonalen Selbstrückgabe)

Ich hatte selbst noch nie einen Artikel geschrieben, aber ich konnte keine Lösung für das Problem finden, das ich dieses Mal gefunden habe, also werde ich es als Weisheit belassen.

Das Problem lag in der Vorhersage unter Verwendung des SARIMA-Modells, das in der Zeitreihenanalyse verwendet wurde. (Da es sich um eine Erklärung des verstopften Teils handelt, lesen Sie bitte, wie Sie das SARIMA-Modell an einer anderen Stelle verwenden.)

Passen Sie das SARIMA-Modell folgendermaßen an bestimmte Zeitreihendaten an:

qiita.rb


SARIMA_2_1_3_011 = sm.tsa.SARIMAX(train.y, order=(2,1,3), seasonal_order=(0,1,1,20)).fit()

Ich habe versucht, die Zukunft mit diesem Modell wie folgt vorherzusagen. (Das heißt, der Index von 169 bis 206 liegt außerhalb des Bereichs der Originaldaten, und ich wollte ihn vorhersagen.)

qiita.rb


pred3 = SARIMA_2_1_3_011.predict(start=169,end=206)

KeyError: 'The `start` argument could not be matched to a location related to the index of the data.'

Dann trat ein solcher Fehler auf. Da ich kein Englisch sprechen kann, kann ich nur die Bedeutung verstehen, daher bin ich mir nicht sicher, aber das Problem scheint zu sein, dass der Indexbereich überschritten wird. Die Site, auf die ich mich bezog, konnte die Zukunft jedoch problemlos vorhersagen.

Von dort aus habe ich verschiedene Änderungen vorgenommen und Fehler kopiert und bin zu Fragestellen in Übersee gesprungen, um Nachforschungen anzustellen, aber ich habe das Gefühl, dass ich mehr als 30 Minuten lang Schwierigkeiten hatte.

Die Vorhersage, zu der ich als Ergebnis gelangt bin, lautet also: "Das Erscheinungsbild des Datums, das der Index in den Originaldaten ist, ist unregelmäßig, so dass es möglicherweise nicht möglich ist, den Index für die Vorhersage der Zukunft zu bestimmen." (Wenn der Index der Originaldaten beispielsweise 1/1, 1/2, 1/3 ist, lautet die nächste Vorhersage 1/4, 1/5 ..., aber 1/1, 1/2, 1/4. In diesem Fall wird der nächste Index (Datum) nicht festgelegt.

Daher denke ich, dass es zwei Lösungen für dieses Problem gibt.

① Passen Sie die Regelmäßigkeit des Index irgendwie an (2) Kombinieren Sie leere Daten (aber mit Index) mit den Originaldaten, um einen zukünftigen Index zu erstellen (natürlich bleibt die Zielvariable leer).

Die zweite Methode hat tatsächlich funktioniert, daher denke ich, dass dies wahrscheinlich die richtigen Lösungen sind.

Es war vielleicht schwer zu sehen, weil ich zum ersten Mal einen Artikel schreibe, aber bitte verstehe ... Darüber hinaus denke ich, dass es viele Punkte gibt, die aufgrund mangelnder Macht nicht erreicht werden können, aber ich wäre dankbar, wenn jemand, der dies bemerkt hätte, darauf hinweisen könnte. Ich hoffe, es hilft denen, die mit diesem Problem stecken.

Recommended Posts

Umgang mit Problemen, die bei zukünftigen Vorhersagen auftreten, mithilfe des SARIMA-Modells (Modell der gleitenden Durchschnittssumme der saisonalen Selbstrückgabe)
[VLC] Wie man mit dem Problem umgeht, dass es während der Wiedergabe nicht im Vordergrund steht
Umgang mit dem Problem, dass japanische Zeichen bei der Ausgabe von Protokollen mit dem JSON-Protokollformatierer verstümmelt sind
Umgang mit Speicherlecks in matplotlib.pyplot
Umgang mit Laufzeitfehlern in subprocess.call
[systemd] Wie gehe ich mit dem Problem um, dass fancontrol nach dem Anhalten nicht funktioniert?
Umgang mit Pyenv-Initialisierungsfehlern bei Fischen 3.1.0
Verwendung des in Lobe in Python erlernten Modells
Vorgehensweise beim Ausführen von Transaktionen: In Anaconda fehlgeschlagen
Wie man mit dem Phänomen umgeht, dass Python (Jupyter Notebook) auf WSL ausgeführt wird, wird abgebrochen
Problemumgehung für Pandas 1.1.0 und höher Build-Fehler unter Alpine Linux
So gehen Sie mit dem Fehler um, dass der MySQL-Container von Docker in der Docker Toolbox nicht gestartet werden kann
Umgang mit dem Terminal, das ohne Erlaubnis in die pipenv-Umgebung gelangt, wenn pipenv mit vscode verwendet wird
So manipulieren Sie das DOM im Iframe mit Selen
So generieren Sie eine Abfrage mit dem IN-Operator in Django
[AWS] Umgang mit dem Fehler "Ungültiger Codepunkt" in CloudSearch
Eine Geschichte über den Umgang mit dem CORS-Problem
Für Anfänger, wie man mit häufigen Fehlern in Keras umgeht
So gehen Sie mit dem Problem um, dass das aktuelle Verzeichnis verschoben wird, wenn Python von Atom ausgeführt wird
Umgang mit dem Fehler "Fehler beim Laden des Moduls" canberra-gtk-module ", der beim Ausführen von OpenCV auftritt