Ordinamento di serie storiche per l'apprendimento automatico


14

Dopo aver letto uno dei "Suggerimenti per la ricerca" di RJ Hyndman sulla convalida incrociata e le serie storiche, sono tornato a una mia vecchia domanda che cercherò di formulare qui. L'idea è che in problemi di classificazione o regressione, l'ordinamento dei dati non è importante, e quindi è possibile utilizzare k -fold validazione incrociata. D'altra parte, nelle serie storiche, l'ordinamento dei dati è ovviamente di grande importanza.

Tuttavia, quando si utilizza una macchina di apprendimento modello per serie temporali di previsione, una strategia comune è quello di rimodellare la serie in una serie di "vettori di input-output" che, per un tempo t , hanno la forma ( y t - n + 1 , . . . , Y t - 1 , y t ; y t + 1 ) .{y1,...,yT}t(ytn+1,...,yt1,yt;yt+1)

Ora, una volta terminato questo rimodellamento, possiamo considerare che non è necessario ordinare l'insieme risultante di "vettori input-output"? Se utilizziamo, ad esempio, una rete neurale feed-forward con n input per "apprendere" questi dati, arriveremmo agli stessi risultati indipendentemente dall'ordine in cui mostriamo i vettori al modello. E quindi, potremmo usare la validazione incrociata di k-fold in modo standard, senza la necessità di reinserire il modello ogni volta?

Risposte:


2

La risposta a questa domanda è che funzionerà correttamente fintanto che l'ordine del modello è specificato correttamente, poiché gli errori del modello saranno indipendenti.

Questo documento qui mostra che se un modello ha una scarsa convalida incrociata sottostimerà quanto sia effettivamente povero. In tutti gli altri casi, la convalida incrociata farà un buon lavoro, in particolare un lavoro migliore rispetto alla valutazione fuori campione normalmente utilizzata nel contesto delle serie temporali.


6

Domanda interessante!

L'approccio che descrivi è certamente ampiamente utilizzato dalle persone che utilizzano metodi ML standard che richiedono vettori di attributi a lunghezza fissa per analizzare i dati delle serie temporali.

Nel post a cui ti colleghi, Hyndman sottolinea che ci sono correlazioni tra i vettori di dati rimodellati (campioni). Ciò potrebbe essere problematico, poiché k-CV (o altri metodi di valutazione che dividono i dati in modo casuale in set di addestramento e test) presuppone che tutti i campioni siano indipendenti. Tuttavia, non penso che questa preoccupazione sia rilevante per il caso di metodi ML standard, che trattano gli attributi separatamente.

Per una spiegazione, lasciami semplificare la tua notazione assumendo n=3, quindi i primi pochi vettori di dati (etichettati in ordine alfabetico) saranno:

UN:(y1,y2,y3;y4)B:(y2,y3,y4;y5)C:(y3,y4,y5;y6)

Chiaramente, A e B hanno termini come y2in comune. Ma, per A, questo è il valore del suo secondo attributo mentre per B questo è il valore del suo primo attributo.


1
Concordo con te sul fatto che alcuni algoritmi ML potrebbero essere immuni al problema dei campioni altamente correlati perché trattano gli attributi completamente separatamente. Ma quegli algoritmi non sono anche molto buoni per il lavoro in serie storiche. Gli algoritmi ML che sono promettenti per una serie storica devono essere in grado di notare che l'attributo n. 1 e l'attributo n. 2 sono in realtà un po 'simili, altrimenti saranno cattivi nella previsione (la previsione dovrebbe essere approssimativamente simile quando si sposta il tempo di 1). Tali algoritmi soffrirebbero anche del problema menzionato da Hyndman.
massimo
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.