Calcolo dell'errore di previsione con convalida incrociata delle serie temporali


13

Ho un modello di previsione per una serie storica e voglio calcolare il suo errore di predizione fuori campione. Al momento la strategia che sto seguendo è quella suggerita sul blog di Rob Hyndman (nella parte inferiore della pagina) che va così (supponendo una serie temporale e un set di allenamento di dimensioni ) ky1,...,ynK

  1. Adatta il modello ai dati e lascia che sia la previsione per la prossima osservazione.y t + kyt,...,yt+K-1y^t+K
  2. Calcola l'errore di previsione come .et=y^t+K-yt+K
  3. Ripetere l'operazione per t=1,...,n-K
  4. Calcola l'errore quadratico medio come MSE=1n-KΣt=1n-Ket2

La mia domanda è quanto devo preoccuparmi delle correlazioni a causa dei miei set di allenamento sovrapposti. In particolare, supponiamo di voler prevedere non solo il valore successivo, ma anche i valori m successivi m, in modo da disporre di previsioni y^t+K,...,y^t+K+m-1 ed errori et,1,...,et,m e voglio costruire una struttura a termini di errori di predizione.

Posso comunque ruotare in avanti di 1 la finestra dell'allenamento impostato oppure devo spostarla in avanti di ? Come cambiano le risposte a queste domande se c'è una significativa autocorrelazione nelle serie che sto prevedendo (presumibilmente si tratta di un processo a memoria lunga, ovvero la funzione di autocorrelazione decade come una legge di potenza piuttosto che esponenzialmente).m

Gradirei una spiegazione qui, o collegamenti ad un posto in cui posso trovare risultati teorici sugli intervalli di confidenza attorno al MSE (o altre misure di errore).

Risposte:


11

Sembra che potresti essere più interessato a stimare gli errori utilizzando il bootstrap a massima entropia , piuttosto che la convalida incrociata. Ciò ti consentirà di generare più bootstrap dei tuoi dati, che puoi quindi dividere in tutti i set di treni / test che desideri per calcolare gli intervalli di confidenza per le tue previsioni.

Rob Hyndman ha qualche ulteriore discussione sulla validazione incrociata delle serie temporali sul suo blog , dove implementa diversi metodi di "rolling" e previsioni, ma è principalmente focalizzato sull'implementazione. Ho anche altre implementazioni sul mio blog . Forse l'approccio più semplice sarebbe quello di calcolare la media dell'errore in tutte le finestre temporali e quindi ignorare e potenziali correlazioni negli errori.

Per quanto ne so, lo stato teorico della convalida incrociata per i dati delle serie temporali è in qualche modo dietro lo stato teorico della convalida incrociata generale. Intuitivamente, mi aspetto che l'errore aumenti all'aumentare dell'orizzonte, il che suggerisce che dovresti aspettarti errori correlati attraverso vari orizzonti di previsione. Perché questo ti preoccupa?

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.