Pourquoi la probabilité dans le filtre de Kalman est-elle calculée en utilisant des résultats de filtre au lieu de résultats plus fluides?

11

J'utilise le filtre de Kalman d'une manière très standard. Le système est représenté par l'équation d'état xt+1=Fxt+vt+1 et l'équation d'observation yt=Hxt+Azt+wt .

Les manuels scolaires enseignent que , après l' application du filtre de Kalman et d' obtenir les « prévisions d' une étape à venir x^t|t1 (ou "estimation filtrée"), nous devons les utiliser pour calculer la fonction de vraisemblance:

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

Ma question est la suivante: pourquoi la fonction de vraisemblance est-elle calculée en utilisant l '"estimation filtrée" et non pas l' "estimation lissée" ? n'est-il pas une meilleure estimation du vecteur d'état? x t| T x t| Tx^t|t1x^t|Tx^t|T

Gustavo Amarante
la source
J'ai édité le titre pour être plus informatif.
Juho Kokkala

Réponses:

5

Pour répondre à votre question: vous pouvez utiliser la densité de lissage. Mais ce n'est pas obligatoire. La réponse de Jarle Tufto a la décomposition que vous utilisez. Mais il y en a d'autres.

Utilisation des Kalman Recursions

Ici, vous évaluez la probabilité comme

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

Cependant, les moyennes et les variances ne définissent pas toujours complètement les distributions de probabilité en général. Voici la décomposition que vous utilisez pour passer des distributions de filtrage aux vraisemblances conditionnelles :f ( y i | y 1 , , y i - 1 )f(xi1|y1,,yi1)f(yi|y1,,yi1)

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

Ici est la densité de transition d'état ... partie du modèle, et est la densité d'observation ... partie du modèle à nouveau. Dans votre question, vous les écrivez comme et respectivement. C'est la même chose.f(xi|xi1)f(yi|xi)xt+1=Fxt+vt+1yt=Hxt+Azt+wt

Lorsque vous obtenez la distribution de prédiction d'état à un pas en avant, c'est le calcul . Lorsque vous réintégrez, vous obtenez (1) complètement. Vous écrivez cette densité complètement dans votre question, et c'est la même chose.f(xi|xi1)f(xi1|y1,,yi1)dxi1

Ici, vous n'utilisez que des décompositions de distributions de probabilité et des hypothèses sur le modèle. Ce calcul de vraisemblance est un calcul exact. Il n'y a rien de discrétionnaire que vous puissiez utiliser pour faire mieux ou pire.

Utilisation de l'algorithme EM

À ma connaissance, il n'y a pas d'autre moyen d'évaluer directement la probabilité dans ce type de modèle d'espace d'état. Cependant, vous pouvez toujours faire une estimation du maximum de probabilité en évaluant une fonction différente: vous pouvez utiliser l'algorithme EM. Dans l'étape Attente (E-Step), vous devez calculer Ici

f(x1,,xn|y1,yn)logf(y1,,yn,x1,,xn)dx1:n=Esmooth[logf(y1,,yn,x1,,xn)].
f(y1,,yn,x1,,xn)est la probabilité de "données complètes", et vous prenez l'attente du logarithme de cela en ce qui concerne la densité de lissage des joints. Ce qui se produit souvent, c'est que, parce que vous prenez le journal de cette probabilité de données complète, les termes sont divisés en sommes, et en raison de la linéarité de l'opérateur d'attente, vous prenez des attentes en ce qui concerne les distributions de lissage marginal (celles vous mentionnez dans votre question).

Autres choses

J'ai lu par endroits que l'EM est un moyen "plus stable" de maximiser la probabilité, mais je n'ai jamais vraiment vu ce point bien argumenté, ni vu ce mot "stable" défini du tout, mais aussi je n'ai pas 't vraiment examiné cela plus loin. Aucun de ces algorithmes ne contourne l'épreuve des maxima locaux / globaux. Personnellement, j'ai tendance à utiliser le Kalman plus souvent juste par habitude.

Il est vrai que les estimations lissées de l'état ont généralement une variance plus petite que le filtrage, donc je suppose que vous avez raison d'avoir une certaine intuition à ce sujet, mais vous n'utilisez pas vraiment les états. La probabilité que vous essayez de maximiser n'est pas fonction des États.

Taylor
la source
Quelle est la différence entre KF et EM? Ils finissent par faire la même chose de manières vaguement similaires.
Mitch
1
@Mitch, c'est probablement quelque chose qui mérite plus qu'un commentaire. Cela dépendra de l'optimiseur à usage général que vous utilisez avec le KF et du type d'EM que vous utilisez. Je ne vais pas en être trop sûr sans m'y intéresser.
Taylor
7

En général, selon la règle du produit, la vraisemblance exacte peut s'écrire De l'hypothèse du modèle d'espace d'état, il s'ensuit que le vecteur d'espérance et la matrice de variance de chaque conditionnel aux observations passées peuvent être exprimés comme et

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.
Cela vous donne donc la probabilité exacte sans calculer aucune estimation lissée.

Bien que vous puissiez bien sûr utiliser les estimations lissées qui sont en effet de meilleures estimations des états inconnus, cela ne vous donnerait pas la fonction de vraisemblance. En effet, vous utiliseriez la valeur observée de pour estimer sa propre valeur attendue, il semble donc probable que cela entraînerait un certain biais dans les estimations résultantes. yi

Jarle Tufto
la source
0

Je pense qu'une meilleure réponse quant au «pourquoi» la distribution de lissage n'est pas utilisée (typiquement) est l'efficacité. Il est en principe simple de calculer la probabilité marginale (de lissage) dans le sens du non-retour comme suit. Supprimez l'observation j, exécutez le lisseur de Kalman sur les données restantes. Évaluez ensuite la probabilité de l'invisible y (j). Répétez cette opération pour tout j. Résumez les log-vraisemblances. Des versions plus rapides de cela fonctionnent avec des blocs (randomisés) d'échantillons retenus (comme CV k-fold). Notez que ce schéma nécessite une implémentation plus générale du filtre / lisseur de Kalman qui peut sauter arbitrairement les mises à jour de mesure si nécessaire. Le passage en arrière / lissage n'accède pas aux mesures (algorithme RTS de toute façon) et reste le même.

Si la série chronologique est "suffisamment longue", il y a probablement peu d'avantages utiles à le faire puisque la probabilité de filtrage "brûle" son transitoire initial. Mais si l'ensemble de données est court, la probabilité de lissage plus coûteuse en vaut la peine. Un lissage à décalage fixe pourrait être une solution intermédiaire.

trois bois
la source