Utilizzo dei filtri Kalman per imputare i valori mancanti nelle serie storiche


12

Sono interessato a come i filtri Kalman possono essere utilizzati per imputare i valori mancanti nei dati delle serie temporali. È applicabile anche se mancano alcuni punti temporali consecutivi? Non riesco a trovare molto su questo argomento. Eventuali spiegazioni, commenti e collegamenti sono benvenuti e apprezzati!


Potresti essere interessato a questo post . Fornisce un esempio basato sulla rappresentazione dello spazio degli stati di un modello ARIMA per imputare i valori mancanti mediante il filtro Kalman.
Javavalle

@javlacalle grazie, conoscevo già questo post ed è un ottimo esempio per un'implementazione concreta. Ma sono piuttosto interessato allo sfondo teorico.
GS9

Risposte:


9

Preliminari: filtro Kalman :

I filtri di Kalman operano su modelli dello spazio degli stati del modulo (ci sono diversi modi per scriverlo; questo è facile basato su Durbin e Koopman (2012) ; tutto quanto segue è basato su quel libro, che è eccellente):

yt=Zαt+εtεt~N(0,H)αt1=Tαt+ηtηt~N(0,Q)α1~N(un'1,P1)

dove è la serie osservata (possibilmente con valori mancanti) ma è completamente inosservata. La prima equazione (l'equazione di "misurazione") dice che i dati osservati sono correlati agli stati non osservati in un modo particolare. La seconda equazione (l'equazione "transizione") afferma che gli stati non osservati si evolvono nel tempo in un modo particolare.α tytαt

Il filtro Kalman opera per trovare le stime ottimali di ( è considerato normale: , quindi ciò che fa effettivamente il filtro Kalman è calcolare la media condizionale e la varianza della distribuzione per subordinato alle osservazioni fino al tempo ).α t α tN ( a t , P t ) α t tαtαtαt~N(un't,Pt)αtt

Nel caso tipico (quando sono disponibili osservazioni) il filtro Kalman utilizza la stima dello stato corrente e l'osservazione corrente per fare il possibile per stimare lo stato successivo , come segue:α t + 1ytαt+1

un't+1=Tun't+Kt(yt-Zαt)Pt+1=TPt(T-KtZ)'+Q

dove è il "guadagno di Kalman".Kt

Quando non c'è un'osservazione, il filtro Kalman vuole ancora calcolare e nel miglior modo possibile. Poiché non è disponibile, non può utilizzare l'equazione di misura, ma può comunque utilizzare l'equazione di transizione . Pertanto, quando manca , il filtro Kalman calcola invece: P t + 1 y t y tun't+1Pt+1ytyt

un't+1=Tun'tPt+1=TPtT'+Q

In sostanza, dice che dato , la mia ipotesi migliore su senza dati è solo l'evoluzione specificata nell'equazione di transizione. Questo può essere eseguito per qualsiasi numero di periodi di tempo con dati mancanti.αtαt+1

Se non v'è dati , quindi la prima serie di equazioni che filtrano prendere l'ipotesi migliore, senza i dati, e aggiungere una "correzione" in, in base a come buona la stima precedente era.yt


Dati di imputazione :

Una volta che il filtro di Kalman è stato applicato a tutta la gamma di tempo, si dispone di stime ottimali degli stati per . L'immissione dei dati è quindi semplice tramite l'equazione di misurazione. In particolare, devi solo calcolare:un't,Ptt=1,2,...,T

y^t=Zun't

Per quanto riguarda un riferimento, Durbin e Koopman (2012) sono eccellenti; la sezione 4.10 discute le osservazioni mancanti.

  • Durbin, J., & Koopman, SJ (2012). Analisi delle serie temporali mediante metodi dello spazio degli stati (n. 38). La stampa dell'università di Oxford.

L'uso della soluzione più fluida avrebbe più senso per imputare (dal momento che uno ha già tutti i dati (non mancanti), perché non usare anche le informazioni nei valori futuri)
Juho Kokkala

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.