As séries temporais estão em vários passos à frente, prevendo um problema de sequência a sequência?


8

Estou usando o pacote keras para treinar um LSTM para uma série temporal univariada do tipo numérico (float). Realizar uma previsão de um passo à frente é trivial, mas não sei como executar uma previsão, digamos, de 10 passos à frente. Duas questões:

1) Li sobre NNs de sequência para sequência, mas mal consigo encontrar algo disso no contexto da previsão de séries temporais. Estou certo de que a previsão de mais de uma etapa com antecedência é um problema seq2seq? Isso faz sentido para mim, porque cada previsão depende de seu antecessor.

2) Uma solução intuitiva sem seq2seq seria: Execute a previsão em uma etapa à frente, anexe-a à série e use-a para obter a próxima previsão e assim por diante. Como isso diferiria de uma abordagem seq2seq?


Ainda estou estudando sobre o seq2seq, por isso não posso comentar os 2 pontos acima, mas recomendo que você consulte o tutorial abaixo do Dr. Jason Brownlee e tenho certeza de que é isso que você pode estar procurando- machinelearningmastery.com/…
Nitin Mahajan

1. Ele pode ser resolvido com um modelo seq2seq, pois você tem um problema de previsão de sequência. 2. Sofreria acúmulo de erro de previsão (ruído).
Emre

Respostas:


5

A arquitetura Seq2Seq pode definitivamente ser usada para problemas de séries temporais. A única desvantagem é que você precisará de uma camada linear na parte superior do decodificador para projetar as saídas no tamanho necessário (por exemplo, 1 para univariada).

A abordagem de previsão passo a passo pode ser usada para sequências curtas, mas como quaisquer desvios são compostos usando essa abordagem, não é bom para sequências mais longas.

Por exemplo, se você tiver uma sequência em que o valor seja constante a cada etapa do tempo xEu+1=xEu, mas você aprendeu a fazer o modelo xEu+1=1.01xEuem vez disso (o que é altamente provável com o algoritmo de descida de gradiente). Parat=10, o valor alvo será 150.=1, no entanto, seu modelo prevê 1.0150.=1,64.

Assim, um erro de etapa única de 1% resulta em uma diferença de 64% em 50 etapas.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.