Warum wird die Wahrscheinlichkeit im Kalman-Filter anhand von Filterergebnissen anstelle glatterer Ergebnisse berechnet?


11

Ich benutze den Kalman-Filter ganz normal. Das System wird durch die Zustandsgleichung und die Beobachtungsgleichung .xt+1=F.xt+vt+1yt=H.xt+EINzt+wt

Lehrbücher lehren, dass wir nach dem Anwenden des Kalman-Filters und dem Abrufen der "One-Step-Ahead-Prognosen" (oder "gefilterte Schätzung") diese verwenden sollten, um die Wahrscheinlichkeitsfunktion zu berechnen:x^t|t- -1

fyt|It1,zt(yt|icht- -1,zt)=det[2π(H.P.t|t- -1H.'+R.)]]- -12exp{- -12(yt- -H.x^t|t- -1- -EINzt)'(H.P.t|t- -1H.'+R.)- -1(yt- -H.x^t|t- -1- -EINzt)}}

Meine Frage ist: Warum wird die Wahrscheinlichkeitsfunktion unter Verwendung der "gefilterten Schätzung" und nicht der "geglätteten Schätzung" \ hat {x} _ {t | T} berechnet ? Ist \ hat {x} _ {t | T} nicht eine bessere Schätzung des Zustandsvektors?x^t|t1x^t|Tx^t|T.


Ich habe den Titel bearbeitet, um informativer zu sein.
Juho Kokkala

Antworten:


5

Um Ihre Frage zu beantworten: Sie können die Glättungsdichte verwenden. Aber das musst du nicht. Jarle Tuftos Antwort hat die Zersetzung, die Sie verwenden. Aber es gibt noch andere.

Verwenden der Kalman-Rekursionen

Hier bewerten Sie die Wahrscheinlichkeit als

f(y1,,yn)=f(y1)ich=2nf(yich|y1,,yich- -1).

Mittelwerte und Abweichungen definieren Wahrscheinlichkeitsverteilungen im Allgemeinen jedoch nicht immer vollständig. Das Folgende ist die Zerlegung, die Sie verwenden, um von der Filterung der Verteilungen zu den bedingten Wahrscheinlichkeiten f ( y i | y 1 , , y i) zu gelangenf(xich- -1|y1,,yich- -1)::f(yich|y1,,yich- -1)

(1)f(yich|y1,,yich- -1)=f(yich|xich)f(xich|xich- -1)f(xich- -1|y1,,yich- -1)dxichdxich- -1.

Hier ist die Zustandsübergangsdichte ... Teil des Modells, und f ( y i | x i ) ist wieder die Beobachtungsdichte ... Teil des Modells. In Ihrer Frage schreiben Sie diese als x t + 1 = F x t + v t + 1 und y t = H x t + A.f(xich|xich- -1)f(yich|xich)xt+1=F.xt+vt+1yt=H.xt+EINzt+wtbeziehungsweise. Das ist gleich.

Wenn Sie die Zustandsvorhersageverteilung mit einem Schritt voraus erhalten, wird berechnet . Wenn Sie erneut integrieren, erhalten Sie (1) vollständig. Sie schreiben diese Dichte vollständig in Ihre Frage ein, und es ist dasselbe.f(xich|xich- -1)f(xich- -1|y1,,yich- -1)dxich- -1

Hier verwenden Sie nur Zerlegungen von Wahrscheinlichkeitsverteilungen und Annahmen über das Modell. Diese Wahrscheinlichkeitsberechnung ist eine genaue Berechnung. Es gibt keinen Ermessensspielraum, mit dem Sie dies besser oder schlechter machen können.

Verwenden des EM-Algorithmus

Meines Wissens gibt es keine andere Möglichkeit, die Wahrscheinlichkeit direkt in einem solchen Zustandsraummodell zu bewerten. Sie können jedoch weiterhin eine Maximum-Likelihood-Schätzung durchführen, indem Sie eine andere Funktion bewerten: Sie können den EM-Algorithmus verwenden. Im Erwartungsschritt (E-Schritt) würden Sie f ( x 1 , , x n | y 1 , y n ) log f ( y 1 , , y n , x 1 , , x n ) d berechnen x 1 Hierf( y 1 ,, y n , x 1 ,, x n )

f(x1,,xn|y1,yn)Logf(y1,,yn,x1,,xn)dx1::n=E.smÖÖth[Logf(y1,,yn,x1,,xn)]].
f(y1,,yn,x1,,xn)ist die Wahrscheinlichkeit "vollständiger Daten", und Sie nehmen die Erwartung des Protokolls davon in Bezug auf die Verbindungsglättungsdichte. Was häufig passiert, ist, dass Sie, weil Sie das Protokoll dieser vollständigen Datenwahrscheinlichkeit erstellen, die Begriffe in Summen aufteilen und aufgrund der Linearität des Erwartungsoperators Erwartungen in Bezug auf die Randglättungsverteilungen (diejenigen) nehmen Sie erwähnen in Ihrer Frage).

Andere Dinge

Ich habe an einigen Stellen gelesen, dass die EM ein "stabilerer" Weg ist, um die Wahrscheinlichkeit zu maximieren, aber ich habe nie wirklich gesehen, dass dieser Punkt gut argumentiert wurde, noch habe ich dieses Wort "stabil" überhaupt definiert gesehen, aber ich habe es auch Ich habe das nicht weiter untersucht. Keiner dieser Algorithmen umgeht die lokale / globale Maxima-Prüfung. Ich persönlich neige dazu, den Kalman aus Gewohnheit öfter zu benutzen.

Es ist wahr, dass geglättete Schätzungen des Zustands normalerweise eine geringere Varianz aufweisen als das Filtern. Ich denke, Sie haben Recht, eine gewisse Intuition darüber zu haben, aber Sie verwenden die Zustände nicht wirklich. Die Wahrscheinlichkeit, die Sie maximieren möchten, hängt nicht von den Zuständen ab.


Wie unterschiedlich sind KF und EM? Am Ende tun sie dasselbe auf vage ähnliche Weise.
Mitch

1
@Mitch das ist wahrscheinlich etwas, das mehr als einen Kommentar verdient. Dies hängt davon ab, welchen Allzweckoptimierer Sie mit dem KF verwenden und welche Art von EM Sie verwenden. Ich werde nicht zu sicher sein, ohne es zu untersuchen.
Taylor

7

f(y1,,yn)=f(y1)ich=2nf(yich|y1,,yich- -1).
yich
E.(yich|y1,,yich- -1)=E.(H.xt+EINzt+wt|y1,,yich- -1)=H.E.(xt|y1,,yich- -1)+EINzt+E.wt=H.x^t|t- -1+EINzt,
und
V.einr(yich|y1,,yich- -1)=V.einr(H.xt+EINzt+wt|y1,,yich- -1)=H.V.einr(xt|y1,,yich- -1)H.'+V.einrwt=H.P.t|t- -1H.'+R..
Dies gibt Ihnen die genaue Wahrscheinlichkeit, ohne geglättete Schätzungen zu berechnen.

Während Sie natürlich die geglätteten Schätzungen verwenden könnten, die in der Tat bessere Schätzungen der unbekannten Zustände sind, würde dies Ihnen nicht die Wahrscheinlichkeitsfunktion geben. In der Tat würden Sie den beobachteten Wert von verwendenyich den eigenen erwarteten Wert zu schätzen, so dass es wahrscheinlich ist, dass dies zu einer gewissen Verzerrung der resultierenden Schätzungen führen würde.


0

Ich denke, eine bessere Antwort auf die Frage, warum die Glättungsverteilung (normalerweise) nicht verwendet wird, ist die Effizienz. Grundsätzlich ist es unkompliziert, die (Glättungs-) Grenzwahrscheinlichkeit in einem ausgelassenen Sinne wie folgt zu berechnen. Beobachtung j löschen, Kalman mit den verbleibenden Daten glatter laufen lassen. Bewerten Sie dann die Wahrscheinlichkeit des unsichtbaren y (j). Wiederholen Sie dies für alle j. Fassen Sie die Log-Wahrscheinlichkeiten zusammen. Schnellere Versionen davon funktionieren mit (randomisierten) Blöcken von herausgehaltenen Samples (wie k-fach CV). Beachten Sie, dass dieses Schema eine allgemeinere Implementierung des Kalman-Filters / Glätters erfordert, der bei Bedarf willkürlich Messungsaktualisierungen überspringen kann. Der Rückwärts- / Glättungsdurchlauf greift nicht auf die Messungen zu (ohnehin RTS-Algorithmus) und bleibt gleich.

Wenn die Zeitreihe "lang genug" ist, ist dies wahrscheinlich wenig nützlich, da die Filterwahrscheinlichkeit ihren anfänglichen Übergang "abbrennt". Wenn der Datensatz jedoch kurz ist, kann sich die teurere Glättungswahrscheinlichkeit lohnen. Ein Glatter mit fester Verzögerung könnte eine Zwischenlösung sein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.