Prognostiziert eine Zeitreihe mit mehreren Schritten ein Sequenz-zu-Sequenz-Problem?

8

Ich verwende das Keras-Paket, um ein LSTM für eine univariate Zeitreihe vom Typ numerisch (float) zu trainieren. Das Durchführen einer Prognose mit einem Schritt voraus ist trivial, aber ich bin mir nicht sicher, wie eine Prognose mit einem Schritt vorausgehen soll. Zwei Fragen:

1) Ich habe über Sequenz-zu-Sequenz-NNs gelesen, kann aber im Zusammenhang mit der Vorhersage von Zeitreihen kaum etwas davon finden. Habe ich Recht mit der Annahme, dass die Vorhersage von mehr als einem Zeitschritt im Voraus ein seq2seq-Problem ist? Das macht für mich Sinn, denn jede Prognose hängt von ihrem Vorgänger ab.

2) Eine intuitive Lösung ohne seq2seq wäre: Führen Sie eine 1-Schritt-Voraus-Prognose durch, hängen Sie diese Prognose dann an die Serie an und verwenden Sie sie, um die nächste Prognose zu erhalten, und so weiter. Wie würde sich dies von einem seq2seq-Ansatz unterscheiden?

sevelf
quelle
Ich lerne immer noch über seq2seq, kann also die beiden obigen Punkte nicht kommentieren, aber ich würde empfehlen, dass Sie sich auf das folgende Tutorial von Dr. Jason Brownlee beziehen, und ich bin sicher, dass Sie danach suchen
Nitin Mahajan
1. Es kann mit einem seq2seq-Modell angegangen werden, da Sie ein Problem mit der Sequenzvorhersage haben. 2. Es würde unter einer Anhäufung von Vorhersagefehlern (Rauschen) leiden.
Emre

Antworten:

5

Die Seq2Seq-Architektur kann definitiv für Zeitreihenprobleme verwendet werden. Die einzige Wendung besteht darin, dass Sie eine lineare Ebene über Ihrem Decoder benötigen, um die Ausgänge auf die erforderliche Größe zu projizieren (z. B. 1 für univariate).

Der schrittweise Prognoseansatz kann für kurze Sequenzen verwendet werden. Da jedoch mit diesem Ansatz Verzerrungen verstärkt werden, ist er für längere Sequenzen nicht geeignet.

xich+1=xichxich+1=1.01xicht=10150=11.0150=1,64

Somit führt ein Einzelschrittfehler von 1% zu einem Unterschied von 64% in 50 Schritten.

Louis T.
quelle