next up previous contents
Next: Estimation d'un mode Up: Estimation Previous: Intervalle de confiance sur   Contents

Filtre de Kalman

Dans tous les problèmes d'estimation que nous venons d'aborder, on suppose toujours connu et fixe un échantillon de données. L'estimation est un travail a posteriori à partir de cet échantillon. Dans certains contextes (lorsque l'échantillon est très grand, ou qu'il correspond à un échantillonnage continu donc sans fin réel) on peut être amené à estimer les paramètres sans attendre d'avoir la totalité de l'échantillon. A chaque nouvelle donnée disponible, on cherchera donc à mettre à jour la valeur de l'estimation (il n'est bien sûr pas question de recommencer l'estimation à chaque fois, ce qui serait trop couteux). On parle alors d'estimation incrémentale.

Nous aborderons dans ce chapitre la technique la plus classique qui réalise une régression linéaire incrémentale, le filtre de Kalman.

Soit $(\theta_1,S_1)$ l'estimation initiale et son incertitude ( $\theta \in \Re^p$, et $S$ est une matrice $p \times p$). De même, soit $(\theta_i,S_i)$ l'estimation courante (calculée grâce aux $i$ premières données) et son incertitude. On suppose l'arrivée d'une nouvelle donnée $y_{i+1}$ ( $y_{i+1} \in \Re^n$) pour laquelle on connait aussi son incertitude notée $W_{i+1}$ ($W_{i+1}$ est une matrice $n \times n$). Le problème est donc le maintenant de trouver la nouvelle estimation $\theta_{i+1}$ et son incertitude, $S_{i+1}$.

Le principe de cette mise à jour est traduit par la relation:

\begin{displaymath}\theta_{i+1} = \theta_i + K ( y_{i+1} - M_{i+1} \theta_i) \end{displaymath}

Comment cela s'interprète-t-il? La matrice $M_{i+1}$ est une matrice $n \times p$ qui permet de passer de l'estimation $\theta_i$ au domaine des données. Le terme $M_{i+1} \theta_i$ est la prédiction de la $(i+1)$ème donnée à partir de l'estimation calculée sur les $i$ premières. Le terme $y_{i+1} - M_{i+1} \theta_i$ traduit donc l'écart entre la prédiction et la donnée réelle. On peut aussi dire que cet écart est l'innovation apportée par la nouvelle donnée. Cette innovation va servir à mettre à jour l'estimation. Cette mise à jour est une simple addition où l'on fait cependant intervenir un gain sur la partie innovation, la matrice $K$ appelée gain de Kalman.

Le gain de Kalman doit tenir compte des incertitudes relatives de l'estimation courante et de la donnée. Si l'incertitude de la donnée $W_i$ est négligeable devant celle du modèle $S_i$, on devra avoir un gain fort, i.e. la donnée est fiable. A l'inverse, si l'incertitude de la donnée est grande par rapport à celle de l'estimation, le gain doit être très faible, i.e. la donnée étant peu fiable, il est normal qu'elle ne modifie pas ou peu l'estimation courante. Ces remarques se traduisent par la relation suivante:


\begin{displaymath}K = S_i~M_{i+1}^t~(W_{i+1}~+~M_{i+1} S_i M_{i+1}^t)^{-1} \end{displaymath}

L'emploi de la matrice $M$ est rendu nécessaire par le fait que les matrices d'incertitudes ne sont pas de même rang.

Il ne reste plus qu'à mettre à jour l'incertitude de l'estimation qui tient compte de l'incertitude courante et du gain de Kalman par la relation:


\begin{displaymath}S_{i+1} = (I - K M_{i+1}) S_i \end{displaymath}

Prenons un exemple simple, $p = n = 1$ et $M_i = 1~\forall i$. On obtient les formules suivantes:


\begin{displaymath}\begin{array}{l}
\theta_{i+1} = \theta_i + K (y_{i+1} - \thet...
...2 + S_i^2} \\
K = \frac{S_i^2}{W_{i+1}^2 + S_i^2}
\end{array}\end{displaymath}

On peut montrer que l'estimation obtenue par ce processus après $m$ données est égale à celle que l'on obtiendrait si l'on estimait directement le vecteur $\theta$ sur l'échantillon de $m$ données.


next up previous contents
Next: Estimation d'un mode Up: Estimation Previous: Intervalle de confiance sur   Contents
Jean-Michel Jolion 2006-05-27