Le serie temporali in più fasi prevedono un problema da sequenza a sequenza?


8

Sto usando il pacchetto keras per addestrare un LSTM per una serie temporale univariata di tipo numerico (float). Eseguire una previsione anticipata di 1 passaggio è banale, ma non sono sicuro di come eseguire una previsione anticipata di 10 passaggi. Due domande:

1) Ho letto degli NN da sequenza a sequenza, ma riesco a malapena a trovarlo nel contesto della previsione di serie temporali. Ho ragione nel ritenere che la previsione di più di 1 volta in anticipo sia un problema seq2seq? Questo ha senso per me perché ogni previsione dipende dal suo predecessore.

2) Una soluzione intuitiva senza seq2seq sarebbe: eseguire una previsione anticipata di 1 passaggio, quindi aggiungere questa previsione alla serie e utilizzarla per ottenere la previsione successiva e così via. In che modo ciò differirebbe da un approccio seq2seq?


Sto ancora studiando su seq2seq, quindi non posso commentare i 2 punti sopra, ma ti consiglio di fare riferimento al tutorial di Dr Jason Brownlee di seguito e sono sicuro che questo è ciò che potresti cercare- machinelearningmastery.com/…
Nitin Mahajan

1. Può essere affrontato con un modello seq2seq, poiché si ha un problema di predizione della sequenza. 2. Soffrirebbe di un accumulo sull'errore di previsione (rumore).
Emre,

Risposte:


5

L'architettura Seq2Seq può sicuramente essere utilizzata per problemi di serie storiche. L'unico inconveniente è che avrai bisogno di uno strato lineare sopra il decodificatore per proiettare le uscite sulla dimensione richiesta (ad esempio, 1 per univariato).

L'approccio di previsione graduale può essere utilizzato per sequenze brevi, ma poiché eventuali distorsioni sono composte utilizzando questo approccio, non è utile per sequenze più lunghe.

Ad esempio, se si dispone di una sequenza in cui il valore è costante in ogni momento passaggio , ma si è invece imparato a fare (che è molto probabile con discesa gradiente) algoritmo). Per , il valore target sarà , tuttavia il modello prevede .xi+1=xixi+1=1.01xit=10150=11.0150=1.64

Pertanto, un errore dell'1% a passaggio singolo determina una differenza del 64% in 50 passaggi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.