Est-ce que les séries chronologiques à plusieurs étapes anticipent un problème de séquence à séquence?

8

J'utilise le package keras afin de former un LSTM pour une série temporelle univariée de type numérique (float). La réalisation d'une prévision à 1 étape est triviale, mais je ne sais pas comment effectuer, disons, une prévision à 10 étapes. Deux questions:

1) J'ai lu des séquences sur des NN, mais je peux à peine en trouver quoi que ce soit dans le contexte de la prévision de séries chronologiques. Ai-je raison de supposer que la prévision de plus d'un pas de temps à l'avance est un problème seq2seq? Cela me semble logique, car chaque prévision dépend de son prédécesseur.

2) Une solution intuitive sans seq2seq serait: Effectuer une prévision à un pas, puis ajouter cette prévision à la série et l'utiliser pour obtenir la prochaine prévision, etc. En quoi cela différerait-il d'une approche seq2seq?

sevelf
la source
J'étudie toujours sur seq2seq, je ne peux donc pas commenter les 2 points ci-dessus, mais je vous recommande de consulter le didacticiel ci-dessous du Dr Jason Brownlee et je suis sûr que c'est ce que vous cherchez peut-être
Nitin Mahajan
1. Il peut être abordé avec un modèle seq2seq, car vous avez un problème de prédiction de séquence. 2. Il souffrirait d'une accumulation sur erreur de prédiction (bruit).
Emre

Réponses:

5

L'architecture Seq2Seq peut certainement être utilisée pour les problèmes de séries chronologiques. La seule torsion est que vous aurez besoin d'une couche linéaire au-dessus de votre décodeur pour projeter les sorties à la taille requise (par exemple, 1 pour univariée).

L'approche prévisionnelle pas à pas peut être utilisée pour les séquences courtes, mais comme tout biais est aggravé en utilisant cette approche, elle n'est pas bonne pour les séquences plus longues.

Par exemple, si vous avez une séquence où la valeur est constante à chaque pas de temps , mais que vous modélisez appris à faire place (ce qui est très probable avec une descente en gradient algorithme). Pour , la valeur cible sera , mais votre modèle prédira .Xje+1=XjeXje+1=1.01Xjet=dix150=11.0150=1,64

Ainsi, une erreur de 1% en une seule étape entraîne une différence de 64% en 50 étapes.

Louis T
la source