Perché la probabilità nel filtro Kalman viene calcolata utilizzando i risultati del filtro anziché i risultati più fluidi?


11

Sto usando il filtro Kalman in un modo molto standard. Il sistema è rappresentato dall'equazione di stato e dall'equazione di osservazione .xt+1=Fxt+vt+1yt=Hxt+Azt+wt

I libri di testo insegnano che dopo aver applicato il filtro Kalman e aver ottenuto le "previsioni a un passo" (o "stima filtrata"), dovremmo usarli per calcolare la funzione di verosimiglianza:x^t|t1

fyt|It1,zt(yt|It1,zt)=det[2π(HPt|t1H+R)]12exp{12(ytHx^t|t1Azt)(HPt|t1H+R)1(ytHx^t|t1Azt)}

La mia domanda è: perché la funzione di verosimiglianza viene calcolata utilizzando la "stima filtrata" x^t|t1 e non la "stima lisciata" x^t|T ? Non è x^t|T una migliore stima del vettore di stato?


Ho modificato il titolo per essere più informativo.
Juho Kokkala,

Risposte:


5

Per rispondere alla tua domanda: puoi usare la densità di levigatura. Ma non devi. La risposta di Jarle Tufto ha la decomposizione che stai usando. Ma ce ne sono altri.

Utilizzando le ricorsioni di Kalman

Qui stai valutando la probabilità come

f(y1,,yn)=f(y1)i=2nf(yi|y1,,yi1).

Tuttavia, le medie e le varianze non definiscono sempre completamente le distribuzioni di probabilità in generale. Quella che segue è la decomposizione che stai usando per passare dalle distribuzioni di filtro alle probabilità condizionali :f(xi1|y1,,yi1)f(yi|y1,,yi1)

(1)f(yi|y1,,yi1)=f(yi|xi)f(xi|xi1)f(xi1|y1,,yi1)dxidxi1.

Qui è la densità di transizione dello stato ... parte del modello, e è la densità di osservazione ... di nuovo parte del modello. Nella tua domanda scrivi questi come rispettivamente e . È la stessa cosa.f(xi|xi1)f(yi|xi)xt+1=Fxt+vt+1yt=Hxt+Azt+wt

Quando si ottiene un passo avanti nella distribuzione della previsione dello stato, si sta calcolando . Quando ti integri di nuovo, ottieni (1) completamente. Scrivi quella densità completamente nella tua domanda, ed è la stessa cosa.f(xi|xi1)f(xi1|y1,,yi1)dxi1

Qui stai usando solo decomposizioni di distribuzioni di probabilità e ipotesi sul modello. Questo calcolo della probabilità è un calcolo esatto. Non c'è niente di discrezionale che puoi usare per farlo meglio o peggio.

Utilizzando l'algoritmo EM

Per quanto ne sappia, non esiste altro modo per valutare la probabilità direttamente in questo tipo di modello spaziale statale. Tuttavia, è ancora possibile eseguire la stima della massima verosimiglianza valutando una funzione diversa: è possibile utilizzare l'algoritmo EM. Nel passaggio Aspettativa (E-Step) si calcolerebbe Qui

f(x1,,xn|y1,yn)logf(y1,,yn,x1,,xn)dx1:n=Esmooth[logf(y1,,yn,x1,,xn)].
f(y1,,yn,x1,,xn)è la probabilità di "dati completi" e stai aspettando il log di quello rispetto alla densità di smoothing articolare. Quello che succede spesso è che, poiché stai prendendo il registro di questa completa verosimiglianza dei dati, i termini si dividono in somme e, a causa della linearità dell'operatore delle aspettative, stai prendendo in considerazione le aspettative rispetto alle distribuzioni di smoothing marginale (quelle citi nella tua domanda).

Altre cose

Ho letto in alcuni punti che l'EM è un modo "più stabile" per massimizzare la probabilità, ma non ho mai visto questo punto discusso bene, né ho visto affatto definita questa parola "stabile", ma ho anche non l'ho davvero esaminato ulteriormente. Nessuno di questi algoritmi aggira la prova dei massimi locali / globali. Personalmente tendo a usare il Kalman più spesso solo per abitudine.

È vero che le stime uniformi dello stato hanno una varianza minore in genere rispetto al filtraggio, quindi immagino che tu abbia ragione ad avere qualche intuizione su questo, ma non stai davvero usando gli stati. La probabilità che stai cercando di massimizzare non è una funzione degli stati.


Quanto sono diversi KF ed EM? Finiscono per fare la stessa cosa in modi vagamente simili.
Mitch,

1
@Mitch è probabilmente qualcosa che merita più di un commento. Dipenderà dall'ottimizzatore per uso generale che usi con il KF e dal tipo di EM che usi. Non sarò troppo sicuro senza esaminarlo.
Taylor,

7

In generale, secondo la regola del prodotto, la probabilità esatta può essere scritta Dal presupposto del modello dello spazio degli stati, ne consegue che il vettore di aspettativa e la matrice di varianza di ogni subordinata alle osservazioni passate possono essere espressi come e

f(y1,,yn)=f(y1)i=2nf(yi|y1,,yi1).
yi
E(yi|y1,,yi1)=E(Hxt+Azt+wt|y1,,yi1)=HE(xt|y1,,yi1)+Azt+Ewt=Hx^t|t1+Azt,
Var(yi|y1,,yi1)=Var(Hxt+Azt+wt|y1,,yi1)=HVar(xt|y1,,yi1)H+Varwt=HPt|t1H+R.
Quindi questo ti dà la probabilità esatta senza calcolare stime stimate.

Mentre ovviamente potresti usare le stime smussate che in effetti sono stime migliori degli stati sconosciuti, questo non ti darebbe la funzione di probabilità. In effetti si utilizzerà il valore osservato di per stimare il proprio valore atteso, quindi sembra probabile che ciò comporterebbe una distorsione nelle stime risultanti. yi


0

Penso che una risposta migliore sul "perché" la distribuzione di smoothing non sia utilizzata (in genere) sia l'efficienza. È in linea di principio semplice calcolare la (marginale) probabilità marginale in un senso di esclusione come segue. Elimina l'osservazione j, esegui Kalman più agevolmente sui dati rimanenti. Quindi valuta la probabilità dell'invisibile y (j). Ripeti questo per tutti j. Riassumi le probabilità di log. Versioni più veloci di questo funzionano con blocchi (randomizzati) di campioni distribuiti (come k-fold CV). Si noti che questo schema richiede un'implementazione più generale del filtro Kalman / liscia, che può saltare arbitrariamente gli aggiornamenti delle misurazioni dove richiesto. Il passaggio indietro / levigatura non accede alle misure (algoritmo RTS comunque) e rimane lo stesso.

Se le serie temporali sono "abbastanza lunghe", è probabile che ciò avvenga con pochi benefici poiché la probabilità di filtraggio "brucia" il suo transitorio iniziale. Ma se il set di dati è breve, la probabilità di livellamento più costosa potrebbe valerne la pena. Una soluzione più uniforme potrebbe essere una soluzione intermedia.

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.