Zeitreihenvorhersage mit LSTMs: Wichtigkeit, Zeitreihen stationär zu machen

21

In diesem Link zu Stationarität und Differenzierung wurde erwähnt, dass Modelle wie ARIMA eine stationäre Zeitreihe für die Vorhersage benötigen, da ihre statistischen Eigenschaften wie Mittelwert, Varianz, Autokorrelation usw. über die Zeit konstant sind. Da RNNs besser in der Lage sind, nichtlineare Beziehungen zu lernen ( wie hier angegeben: Das Versprechen wiederkehrender neuronaler Netze für Zeitreihenprognosen ) und bei großen Datenmengen eine bessere Leistung als herkömmliche Zeitreihenmodelle zu erzielen, ist es wichtig zu verstehen, wie stationär sie sind Daten würden seine Ergebnisse beeinflussen. Die Fragen, deren Antwort ich wissen muss, lauten wie folgt:

  1. Bei herkömmlichen Zeitreihen-Vorhersagemodellen erleichtert die Stationarität in Zeitreihendaten die Vorhersage, warum und wie.

  2. Ist es beim Erstellen eines Zeitreihen-Vorhersagemodells unter Verwendung von LSTM wichtig, die Zeitreihendaten stationär zu machen? Wenn ja, warum dann?

Abhijay Ghildyal
quelle

Antworten:

29

Im Allgemeinen unterscheiden sich Zeitreihen nicht wirklich von anderen Problemen des maschinellen Lernens - Sie möchten, dass Ihr Test-Set wie Ihr Trainings-Set aussieht, da das Modell, das Sie auf Ihrem Trainings-Set gelernt haben, weiterhin für Ihr Test-Set geeignet sein soll. Das ist das wichtige Grundkonzept für die Stationarität. Zeitreihen haben die zusätzliche Komplexität, dass Ihre Daten möglicherweise eine langfristige Struktur aufweisen, für die Ihr Modell möglicherweise nicht geeignet ist. Wenn wir beispielsweise eine autoregressive Verzögerung von N verwenden, können wir keine Abhängigkeiten über Intervalle lernen, die länger als N sind. Wenn wir also einfache Modelle wie ARIMA verwenden, möchten wir, dass die Daten auch lokal stationär sind.

  1. Wie Sie sagten, bedeutet stationär nur, dass sich die Statistiken des Modells im Laufe der Zeit nicht ändern („lokal“ stationär). ARIMA-Modelle sind im Wesentlichen Regressionsmodelle, bei denen Sie die vergangenen N-Werte als Eingabe für die lineare Regression verwenden, um den N + 1-Wert vorherzusagen. (Zumindest macht das der AR-Teil). Wenn Sie das Modell lernen, lernen Sie die Regressionskoeffizienten. Wenn Sie eine Zeitreihe haben, in der Sie die Beziehung zwischen den vergangenen N Punkten und dem nächsten Punkt lernen, und diese dann auf eine andere Menge von N Punkten anwenden, um den nächsten Wert vorherzusagen, gehen Sie implizit davon aus, dass dieselbe Beziehung zwischen den beiden Punkten gilt N Vorhersagepunkte und der folgende N + 1. Punkt, den Sie vorhersagen möchten. Das ist Stationarität. Wenn Sie Ihr Trainingsset in zwei Intervalle unterteilt und separat darauf trainiert haben, und bekam zwei sehr unterschiedliche Modelle - was würden Sie daraus schließen? Glauben Sie, dass Sie sich sicher fühlen würden, diese Modelle zur Vorhersage anzuwenden?neue Daten? Welches würdest du benutzen? Diese Probleme treten auf, wenn die Daten nicht stationär sind.

  2. Meine Einstellung zu RNNs ist folgende: Sie lernen immer noch ein Muster aus einem Segment einer Zeitreihe und möchten es immer noch auf einen anderen Teil der Zeitreihe anwenden, um Vorhersagen zu erhalten. Das Modell lernt eine vereinfachte Darstellung der Zeitreihen - und wenn diese Darstellung auf den Trainingssatz, aber nicht auf den Testsatz zutrifft, funktioniert sie nicht gut. Im Gegensatz zu ARIMA können RNNs jedoch Nichtlinearitäten lernen, und spezialisierte Knoten wie LSTM-Knoten können dies noch besser. Insbesondere sind LSTMs und GRUs sehr gut darin, langfristige Abhängigkeiten zu lernen. Siehe zum Beispiel diesen Blog-Beitrag . Tatsächlich bedeutet dies, dass das, was mit „Stationarität“ gemeint ist, bei RNNs weniger spröde ist, sodass es etwas weniger Anlass zur Sorge gibt. Um jedoch langfristige Abhängigkeiten zu lernen, müssen Sie VIELE Daten trainieren.

Letztendlich liegt der Beweis im Pudding. Das heißt, führen Sie die Modellvalidierung wie bei jedem anderen maschinellen Lernprojekt durch. Wenn Ihr Modell gute Vorhersagen für Hold-out-Daten macht, können Sie sich einigermaßen sicher fühlen, diese zu verwenden. Aber wie bei jedem anderen ML-Projekt - wenn sich Ihre Testdaten jemals erheblich von Ihren Trainingsdaten unterscheiden, wird Ihr Modell keine gute Leistung erbringen.

tom
quelle
2
Diese Antwort ist hervorragend. Gut durchdacht und gründlich.
StatsSorceress
1
Es ist eine Weile her. Hat jemand diese Annahme getestet?
compguy24