¿La serie de tiempo de varios pasos adelante pronostica un problema de secuencia a secuencia?


8

Estoy usando el paquete keras para entrenar un LSTM para una serie de tiempo univariante de tipo numérico (flotante). Realizar un pronóstico anticipado de 1 paso es trivial, pero no estoy seguro de cómo realizar un pronóstico anticipado de 10 pasos, digamos. Dos preguntas:

1) Leí sobre NN de secuencia a secuencia, pero apenas puedo encontrar nada de eso en el contexto del pronóstico de series de tiempo. ¿Estoy en lo cierto al suponer que la previsión de más de 1 paso por adelantado es un problema seq2seq? Eso tiene sentido para mí porque cada pronóstico depende de su predecesor.

2) Una solución intuitiva sin seq2seq sería: realizar un pronóstico anticipado de 1 paso, luego agregar este pronóstico a la serie y usarlo para obtener el próximo pronóstico, y así sucesivamente. ¿Cómo diferiría esto de un enfoque seq2seq?


Todavía estoy estudiando sobre seq2seq, así que no puedo comentar sobre los 2 puntos anteriores, pero recomendaría que consulte el tutorial a continuación del Dr. Jason Brownlee y estoy seguro de que esto es lo que puede estar buscando: machinelearningmastery.com/…
Nitin Mahajan

1. Se puede abordar con un modelo seq2seq, ya que tiene un problema de predicción de secuencia. 2. Sufriría una acumulación en el error de predicción (ruido).
Emre

Respuestas:


5

La arquitectura Seq2Seq definitivamente se puede usar para problemas de series temporales. El único giro es que necesitará una capa lineal en la parte superior de su decodificador para proyectar las salidas al tamaño requerido (por ejemplo, 1 para univariante).

El enfoque de pronóstico por pasos se puede usar para secuencias cortas, pero debido a que cualquier sesgo se agrava con este enfoque, no es bueno para secuencias más largas.

Por ejemplo, si tiene una secuencia donde el valor es constante en cada paso de tiempo Xyo+1=Xyo, pero tu modelo aprendiste a hacer Xyo+1=1.01Xyoen cambio (lo cual es muy probable con el algoritmo de descenso de gradiente). port=10, el valor objetivo será 150=1, sin embargo, su modelo predecirá 1.0150=1,64.

Por lo tanto, un error de un solo paso del 1% da como resultado una diferencia del 64% en 50 pasos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.