Cómo lidiar con el pronóstico de series temporales de múltiples pasos en LSTM multivariante en keras

Estoy tratando de hacer pronósticos de series de tiempo de varios pasos usando LSTM multivariante en Keras. Específicamente, tengo dos variables (var1 y var2) para cada paso de tiempo originalmente. Habiendo seguido el tutorial en líneaaquí, Decidí usar datos en el tiempo (t-2) y (t-1) para predecir el valor de var2 en el paso de tiempo t. Como muestra la tabla de datos de muestra, estoy usando las primeras 4 columnas como entrada, Y como salida. El código que he desarrollado se puede veraquí, pero tengo tres preguntas.

   var1(t-2)  var2(t-2)  var1(t-1)  var2(t-1)  var2(t)
2        1.5       -0.8        0.9       -0.5     -0.2
3        0.9       -0.5       -0.1       -0.2      0.2
4       -0.1       -0.2       -0.3        0.2      0.4
5       -0.3        0.2       -0.7        0.4      0.6
6       -0.7        0.4        0.2        0.6      0.7
Q1: He entrenado un modelo LSTM con los datos anteriores. Este modelo hace bien en predecir el valor de var2 en el paso de tiempo t. Sin embargo, ¿qué pasa si quiero predecir var2 en el paso de tiempo t + 1? Siento que es difícil porque el modelo no puede decirme el valor de var1 en el paso de tiempo t. Si quiero hacerlo, ¿cómo debo modificar elcódigo para construir el modelo?Q2: He visto esta pregunta mucho, pero todavía estoy confundido. En mi ejemplo, ¿cuál debería ser el paso de tiempo correcto en [muestras, pasos de tiempo, características] 1 o 2?Q3: Acabo de empezar a estudiar LSTM. he leídoaquí que una de las mayores ventajas de LSTM es que aprende la dependencia temporal / tamaño de la ventana deslizante por sí mismo, entonces, ¿por qué siempre debemos convertir los datos de series temporales en un formato como el de la tabla anterior?

Actualización: resultado LSTM (la línea azul es la secuencia de entrenamiento, la línea naranja es la verdad básica, la predicción es verde)

Respuestas a la pregunta(2)

Su respuesta a la pregunta