You are on page 1of 8

Table des mati`eres

1 Projection orthogonale dans un espace de Hilbert . . . . . . . . . . . . . . . . . . . . . . . 1


2 Mod`ele de Markov `a etats caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Filtre de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1 Un exemple simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 De facon generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1 Projection orthogonale dans un espace de Hilbert
On consid`ere un espace de Hilbert H muni dun produit scalaire note (x, y) auquel on associe la norme
x =
_
(x, x) et `a la distance d(x, y) = x y. On rappelle que :
(x, y) = (y, x)

,
(
1
x
1
+
2
x
2
, y) =
1
(x
1
, y) +
2
(x
2
, y),
(x, x) 0, legalite ayant lieu si et seulement si x = 0.
On montre aisement les proprietes suivantes :
|(x, y)| x y,
| x y | x y x +y,
x +y
2
+x y
2
= 2x
2
+ 2y
2
.
Theor`eme de projection : soit C un sous-espace de H. Alors pour tout element x H il existe un
unique element de y
0
C tel que, quel que soit y C, d(x, y
0
) d(x, y). y
0
est appele la projection
orthogonale de x sur C. Elle est notee (x|C). Elle verie pour tout y C, (x y
0
, y) = 0.
On a les proprietes suivantes :
(x +y|C) = (x|C) +(y|C),
(x|C) x,
si C

C, alors ((x|C)|C

) = (x|C

),
si C
1
C
2
, alors (x|C
1
C
2
) = (x|C
1
) + (x|C
2
),
soit C H et y H pas necessairement orthogonal `a C, alors (x|C, y) = (x|C) + (x|y (y|C)).
Pour la derni`ere propriete, noter u = (x|C) +(x|y (y|C)) et verier que, pour tout z C, (x u, z) = 0
et (x u, y (y|C)) = 0 et (x u, y) = 0 et donc u = (x|C, y).
On en deduit :
(x|y
p
, , y
1
) = (x|y
p1
, , y
1
) +u
p
(1)
avec = (x, u
p
)(u
p
, u
p
)
1
o` u u
p
= y
p
(y
p
|y
p1
, , , y
1
).
Regression matricielle
On consid`ere lensemble H des matrices de dimension (n, N) avec N > n telles que trace
_
XX
T

<
+. On montre facilement que (X, Y ) = trace
_
XY
T

denit un produit scalaire sur H et que (X, X) =


X
2
= trace
_
XX
T

denit une norme qui munit H dune structure despace de Hilbert. En particulier
(X, X) = 0 X = 0. En eet
trace
_
XX
T

i,j
|X
ij
|
2
Pour (X, Y ) H, d(X, Y ) = X Y denit une distance.
1
Soit Y une matrice de dimension (k, N) avec N > k telle que Y < + et soit C le sous-espace de H
deni par C = { Y : M
k,n
} o` u M
k,n
designe lensemble des matrices de dimension (n, k).
Quelque soit X H, il existe un unique element Z
0
= Y C tel que Z C, d(X, Z
0
) d(X, Z).
Cet element verie (X Z
0
) C et donc quel que soit M
k,n
, verie trace
_
(X Y )Y
T

= 0,
ce qui est equivalent `a (X Y )Y
T
= 0 (prendre pour toutes les matrices ayant un seul element non
nul). En consequence :
Y Y
T
= XY
T
Si Y est de rang plein, alors Y Y
T
est inversible et on a :
= XY
T
(Y Y
T
)
1
dont on deduit la formule suivante :
(X|Y ) = XY
T
(Y Y
T
)
1
Y (2)
Si Y nest pas de rang plein, alors il y a une innite de solutions de la forme + u
0
o` u u
0
designe
une matrice de dimension (n, k) qui verie u
0
Y Y
T
= 0. Il en existe dautres que la matrice 0 puisque la
matrice Y Y
T
de dimension (k, k) est supposee de rang degenere.
Regression entre vecteurs aleatoires
Soit H lensemble des vecteurs aleatoires de dimension n denis sur {, F, P} et tels que :
trace
_
E
_
XX
T

=
n

i=1
E
_
|X
i
|
2

< + i, E
_
|X
i
|
2

< +
On montre facilement que (X, Y ) = trace
_
E
_
XY
T

denit un produit scalaire sur H et que (X, X) =


X
2
= trace
_
E
_
XX
T

denit une norme qui munit H dune structure despace de Hilbert. En parti-
culier (X, X) = 0 X = 0. En eet
trace
_
E
_
XX
T

i
E
_
|X
i
|
2

qui implique que, pour tout i, E


_
|X
i
|
2

= 0 et donc que X
i
p.s.
= 0 (moyenne et variance nulles).
Pour (X, Y ) H, d(X, Y ) = X Y denit une distance.
Soit Y un vecteur aleatoire deni sur {, F, P} de dimension k tel que Y < + et soit C le sous-
espace de H deni par C = { Y : M
k,n
} o` u M
k,n
designe lensemble des matrices de dimension
(n, k).
Quelque soit X H, il existe un unique element Z
0
= Y C tel que Z C, d(X, Z
0
) d(X, Z). Cet
element verie (X Z
0
) C et donc quel que soit M
k,n
, verie trace
_
E
_
(X Y )Y
T

= 0,
ce qui est equivalent `a E
_
(X Y )Y
T

= 0 (prendre pour toutes les matrices ayant un seul element


non nul). En consequence :
E
_
Y Y
T

= E
_
XY
T

Si E
_
Y Y
T

est inversible et on a :
= E
_
XY
T

E
_
Y Y
T

1
dont on deduit :
(X|Y ) = E
_
XY
T

E
_
Y Y
T

1
Y (3)
Rappelons que dans le cas gaussien, la projection orthogonale (X|Y ) concide avec lesperance condition-
nelle E[X|Y ].
Si E
_
Y Y
T

nest pas inversible, alors il y a une innite de solutions de la forme +u


0
o` u u
0
designe
une matrice de dimension (n, k) qui verie u
0
E
_
Y Y
T

= 0. Il en existe dautres que la matrice 0 puisque


la matrice E
_
Y Y
T

de dimension (k, k) est supposee de rang degenere.


2
2 Mod`ele de Markov `a etats caches
On consid`ere un syst`eme `a temps discret dont les observations sont modelisees par une suite de vecteurs
aleatoires Y
n
`a valeurs dans R
p
. Ce syst`eme est caracterise par une chane de Markov de vecteurs aleatoires
X
n
(n Z) `a valeurs dans R
m
. La variable aleatoire X
n
est appele letat du syst`eme `a linstant n. On
suppose :
que la loi de probabilite conditionnelle P
X
n
|F
n1
= P
X
n
|X
n1
, o` u F
n
= (X
u
; u n 1), poss`ede
une densite que lon note p
X
n
|X
n1
(x
n
, x
n1
).
et que, conditionnellement aux etats, les observations sont independantes et que leurs lois ont une
densite que lon note p
Y
n
|X
n
(x
n
, y
n
).
Comme les variables X
n
ne sont pas en general observees, on parle de mod`eles de Markov cache (en anglais
Hidden Markov Model, en abrege HMM). Des hypoth`eses precedentes on deduit que la loi conjointe de
{X
1:n
, Y
1:n
} secrit :
p
X
1:n
,Y
1:n
(x
1:n
, y
1:n
) = p
Y
1:n
|X
1:n
(x
1:n
, y
1:n
)p
X
1:n
(x
1:n
)
=
n

j=1
p
Y
j
|X
j
(x
j
, y
j
)
n

j=2
p
X
n
|X
n1
(x
n
, x
n1
)p
X
1
(x
1
)
Un exemple est fourni par le syst`eme decrit par les deux equations :
_
X
n+1
= f
n
(X
n
, V
n
)
Y
n
= g
n
(X
n
, W
n
)
(4)
o` u n 1 et o` u V
n
et W
n
sont deux suites de vecteurs independants, et independantes entre elles et
independantes de X
1
. Il est facile de montrer que X
n
est une suite de Markov et que, conditionnellement
`a X
1:n
, les variables Y
1:n
sont independantes. La premi`ere equation des expressions (4) est dite equation
detat ou equation devolution. La seconde equation est dite equation dobservation.
Le probl`eme du ltrage est de calculer de facon recursive p
X
n
|Y
1:n
(x
n
, y
1:n
) et en particulier X
n|n
=
E[X
n
|Y
1:n
] =
_
x
n
p
X
n
|Y
n
, ,Y
1
(x
n
, y
1:n
)dx
n
. Rappelons que E[X
n
|Y
n
, , Y
1
] est parmi toutes les fonc-
tions (mesurables) de (Y
n
, , Y
1
) celle qui minimise lerreur quadratique E
_
|X
n
f(Y
n
, , Y
1
)|
2

. Dans
le cas gaussien on a X
n|n
concide avec la projection orthogonale (X|Y
n
, , Y
1
).
On montre aisement que lon peut calculer p
X
n
|Y
1:n
(x
n
, y
1:n
) de facon recursive en utilisant les deux
expressions suivantes :
_
_
_
p
X
n
|Y
1:n1
(x
n
, y
1:n1
) =
_
p
X
n1
|Y
1:n1
(x
n1
, y
1:n1
)p
X
n
|X
n1
(x
n
, x
n1
)dx
n1
p
X
n
|Y
1:n
(x
n
, y
1:n
) = (y
1:n
)p
X
n
|Y
1:n1
(x
n
, y
1:n1
)p
Y
n
|X
n
(x
n
, y
n
)
(5)
o` u (y
1:n
) est une constante que lon obtient en ecrivant que
_
p
X
n
|Y
1:n
(x
n
, y
1:n
)dx
n
= 1. Malheureuse-
ment les formules (5) nont pas en general dexpressions analytiques simples, excepte dans le cas important
en pratique o` u toutes les lois sont gaussiennes. Ce cas correspond au mod`ele lineaire-gaussien suivant :
3
3 Filtre de Kalman
3.1 Un exemple simple
On consid`ere le probl`eme suivant :
_
x
n+1
= x
n
= = x
1
(equation devolution detat, cible xe)
y
n
= b
n
x
n
+w
n
(equation dobservation)
o` u w
n
est une suite de v.a. scalaires, gaussiennes, centrees, independantes, de variances respectives
2
n
.
On veut estimer x
0
`a partir de lobservation de y
1:N
. Il est simple de montrer que la solution des
moindres carres secrit :
x
1
=
1
bn
N

n=1
y
n
Cette solution nest pas recursive. Le ltre de Kalman fournit une solution recursive `a lestimation de
x
1
: au fur et `a mesure que les observations arrivent le ltre remet `a jour la valeur de x
1
. A la premi`ere
observation on prend bien evidemment :
x
1
= y
1
/b
1
La variance de lerreur secrit alors
k
1
= E
_
(x
1
x
1
)
2

= E
_
(x
1
y
1
/b
1
)
2

= E
_
w
2
1
/b
2
1

=
2
1
/b
2
1
Pour determiner un algorithme sous forme recursive, on op`ere de la facon suivante : on suppose connue
x
n
ainsi que la variance de lerreur que lon note
k
n
= E
_
(x
n
x
n
)
2

= E
_
e
2
n

o` u nous avons pose e


n
= x
n
x
n
et on estime x
n+1
suivant lexpression lineaire
1
x
n+1
= x
n
+g
n+1
(y
n+1
b
n+1
x
n
) (6)
On choisit alors g
n+1
qui minimise
E
_
(x
n+1
x
n+1
)
2

= E
_
(x
n
x
n
g
n+1
(y
n+1
b
n+1
x
n
))
2

= E
_
(e
n
g
n+1
(b
n+1
e
n
+w
n+1
))
2

o` u nous avons utilise x


n+1
= x
n
. Un calcul simple donne
g
n+1
=
E[e
n
(b
n+1
e
n
+w
n+1
)]
E[(b
n+1
e
n
+w
n+1
)
2
]
=
b
n+1
k
n
b
2
n+1
k
n
+
2
n+1
(7)
On en deduit que lerreur au pas (n + 1) a pour expression
e
n+1
= x
n+1
x
n+1
= x
n
( x
n
+g
n+1
(y
n+1
b
n+1
x
n
))
= e
n
(1 g
n+1
b
n+1
) +g
n+1
w
n+1
Il sensuit que la variance de lerreur a pour expression
k
n+1
= E
_
e
2
n+1

= k
n
(1 g
n+1
b
n+1
)
2
+g
2
n+1

2
n+1
En utilisant 7, on a g
2
n+1

2
n+1
= g
n+1
b
n+1
k
n
(1g
n+1
b
n+1
). En portant cette expression dans lexpression
de k
n+1
on a aussi :
k
n+1
= k
n
(1 g
n+1
b
n+1
) (8)
En regroupant 6,7 et 8, on obtient lalgorithme de ltrage de Kalman :
1
On montre en eet que, dans le cas o` u w
n
est gaussien, lestimateurqui minimise lerreur quadratique, cad E[x
n
|y
1:n
],
secrit lineairement en fonction de y
n
.
4
Valeurs initiales :
x
1
= y
1
/b
1
et k
1
=
2
1
/b
2
1
puis pour n 2, repeter :
g
n
=
b
n
k
n1
b
2
n
k
n1
+
2
n
(9)
x
n
= x
n1
+g
n
(y
n
b
n
x
n1
) (10)
k
n
= k
n1
(1 g
n
b
n
) (11)
3.2 De facon generale . . .
On consid`ere pour n 1 le syst`eme :
_
X
n+1
= A
n
X
n
+V
n
(equation devolution detat)
Y
n
= B
n
X
n
+W
n
(equation dobservation)
o` u V
n
et W
n
sont deux suites de vecteurs gaussiens, centres et independantes entre elles. On note R
V
n
et
R
W
n
leurs matrices de covariance respectives. On suppose que X
1
est independante des suites V
n
et W
n
.
On cherche `a determiner suivant un algorithme recursif E[X
n
|Y
n
, , Y
1
]. Du fait de lhypoth`ese
gaussienne, on a E[X
n
|Y
n
, , Y
1
] = (X
n
|Y
n
, , Y
1
). La solution est donnee par le ltre de Kalman. En
voici la preuve.
On adopte les notations suivantes :
X
n|n
= (X
n
|Y
n
, , Y
1
)
et X
n+1|n
= (X
n+1
|Y
n
, , Y
1
)
En utilisant lequation devolution detat et les proprietes dindependance, on a :
X
n+1|n
= A
n
X
n|n
+ 0
Dapr`es lexpression (1) on peut ecrire :
X
n+1|n+1
= X
n+1|n
+G
n+1
U
n+1
o` u U
n+1
= Y
n+1
(Y
n+1
|Y
n
, , Y
1
) et G
n+1
= E
_
X
n+1
U
T
n+1

E
_
U
n+1
U
T
n+1

1
.
En utilisant lequation dobservation et les proprietes dindependance, on a :
(Y
n+1
|Y
n
, , Y
1
) = B
n+1
(X
n+1
|Y
n
, , Y
1
) + (W
n+1
|Y
n
, , Y
1
)
= B
n+1
X
n+1|n
= B
n+1
A
n
X
n|n
soit encore
U
n+1
= Y
n+1
B
n+1
X
n+1|n
= Y
n+1
B
n+1
A
n
X
n|n
et par consequent :
X
n+1|n+1
= A
n
X
n|n
+G
n+1
(Y
n+1
B
n+1
A
n
X
n|n
)
Il faut `a present determiner la relation de recurrence donnant G
n+1
et donc celles donnant
E
_
X
n+1
U
T
n+1

et E
_
U
n+1
U
T
n+1

.
Relation donnant E
_
X
n+1
X
T
n+1

: on a dapr`es lequation devolution detat et les hypoth`eses


dindependance
E
_
X
n+1
X
T
n+1

= A
n
E
_
X
n
X
T
n

A
T
n
+R
V
n
5
Relation donnant E
_
X
n+1
U
T
n+1

: on pose

n+1
= X
n+1
X
n+1|n
En utilisant lequation dobservation on deduit que :
U
n+1
= Y
n+1
B
n+1
X
n+1|n
= B
n+1
(X
n+1
X
n+1|n
) +W
n+1
= B
n+1

n+1
+W
n+1
et donc
E
_
X
n+1
U
T
n+1

= E
_
X
n+1

T
n+1

B
T
n+1
+ 0 = K
n
B
T
n+1
o` u on a pose
K
n
= E
_
X
n+1

T
n+1

En notant que X
n+1|n

n+1
on a aussi
K
n
= E
_

n+1

T
n+1

Relation donnant E
_
U
n+1
U
T
n+1

: en notant que W
n+1

n+1
, il vient
E
_
U
n+1
U
T
n+1

= B
n+1
K
n
B
T
n+1
+R
W
n+1
Par consequent :
G
n+1
= K
n
B
T
n+1
_
B
n+1
K
n
B
T
n+1
+R
W
n+1
_
1
(12)
et
X
n+1|n+1
=
_
_
_
X
n+1|n
+G
n+1
(Y
n+1
B
n+1
X
n+1|n
)
A
n
X
n|n
+G
n+1
(Y
n+1
B
n+1
A
n
X
n|n
)
(13)
Reste `a calculer la recurrence donnant K
n
.
Relation donnant K
n
: en rappelant que X
n+1|n
= A
n
X
n|n
et en utilisant lexpression (13) donnant
X
n|n
en fonction de X
n|n1
, on a

n+1
= X
n+1
X
n+1|n
= A
n
X
n
+V
n
A
n
_
X
n|n1
G
n
(Y
n
B
n
X
n|n1
)
_
= A
n

n
+V
n
A
n
G
n
(B
n
X
n
B
n
X
n|n1
) A
n
G
n
W
n
= A
n
(I G
n
B
n
)
n
+V
n
A
n
G
n
W
n
En remarquant que V
n
,
n
et W
n
sont orthogonaux deux `a deux, il vient :
K
n
= A
n
(I G
n
B
n
)K
n1
(I G
n
B
n
)
T
A
T
n
+R
V
n
+A
n
G
n
R
W
n
G
T
n
A
T
n
(14)
En utilisant lequation 12 on peut encore ecrire `a lindice n
G
n
(R
W
n
+B
n
K
n1
B
T
n
) = K
n1
B
T
n
et donc
G
n
R
W
n
= K
n1
B
T
n
G
n
B
n
K
n1
B
T
n
Par consequent
A
n
G
n
R
W
n
G
T
n
A
T
n
= A
n
K
n1
B
T
n
G
T
n
A
T
n
A
n
G
n
B
n
K
n1
B
T
n
G
T
n
A
T
n
En portant dans (14), on obtient
K
n
= A
n
(I G
n
B
n
)K
n1
A
T
n
+R
V
n
6
En conclusion :
Param`etres connus : A
n
, G
n
, B
n
, R
w
n
, R
v
n
= G
n
cov [e
n
] G
T
n
, E[x
0
] et E
_
x
0
x
T
0

,
Observations : y
n
Valeurs initiales : avec p(x
0
)
x
0|0
= E[x
0
] et P
0|0
= E
_
x
0
x
T
0

Iteration : puis pour n 1, repeter


X
n|n1
= A
n1
X
n1|n1
(15)
P
n|n1
= A
n1
P
n1|n1
A
T
n1
+R
v
n1
(16)
G
n
= P
n|n1
B
T
n
_
B
n
P
n|n1
B
T
n
+R
w
n
_
1
(17)
X
n|n
= X
n|n1
+G
n
(Y
n
B
n
X
n|n1
) (18)
P
n|n
= (I G
n
B
n
)P
n|n1
(19)
Lexpression de cet algorithme appelle quelques remarques :
1. Dans le cas particulier o` u les bruits V
n
et W
n
sont stationnaires, les matrices R
V
n
et R
W
n
sont
independantes de n.
2. Dans le cas particulier o` u le syst`eme est invariant dans le temps, les matrices A
n
et B
n
sont
independantes de n.
3. G
n
sappelle le gain de Kalman. Il peut etre calcule `a lavance. En eet, les equations (15) et (19),
qui le determinent, ne dependent pas des donnees observees Y
n
. Toutefois, `a part dans le cas scalaire
(voir exercice 3.1), lexpression de G
n
necessite la resolution dune equation recurrente compliquee.
4. La signication de lequation (18) est claire. Dapr`es lequation detat, sil ny avait pas de bruit,
la valeur de X
n
`a linstant n serait simplement egal `a A
n1
X
n1
. Cest le premier terme de (18).
Mais, `a cause du bruit, il faut corriger cette valeur par une quantite proportionnelle `a lecart entre
la valeur observee Y
n
et la valeur que lon aurait d u avoir si lequation dobservation netait pas
bruitee, `a savoir B
n
X
n
= B
n
A
n1
X
n1
.
5. Soulignons que lalgorithme necessite la connaissance de R
V
n
et R
W
n
. Cependant la theorie peut etre
generalisee et inclure la situation o` u il faut estimer ces quantites `a partir des donnees observees.
Dans ce cas la suite des gains nest plus pre-calculable.
En conclusion les principales proprietes du ltre de Kalman peuvent se resumer de la facon suivante :
Il conduit `a lerreur quadratique minimum ;
Il necessite une description detaillee du mod`ele de signal sans toutefois imposer dhypoth`eses de
stationnarite. Lorsquon secarte de ce mod`ele les resultats obtenus peuvent devenir tr`es mauvais ;
Lalgorithme obtenu est recursif. Ce terme signie quil peut etre implante avec une taille de
memoire nie, le plus souvent faible ;
Le nombre doperations `a eectuer conduit `a un temps de calcul important, ce qui a parfois limite
son utilisation.
7
Exercice 3.1 Debruitage dun signal AR-1 au moyen dun ltre de Kalman
On observe le signal `a temps discret Y
n
= X
n
+W
n
fourni par programme suivant : qui correspond `a
un syst`eme decrit par :
_
X
n+1
= aX
n
+V
n
(equation detat)
Y
n
= X
n
+W
n
(equation dobservation)
On suppose que V
n
et W
n
sont deux bruits blancs non correles entre eux. Par consequent X
n
est un
processus AR-1. On pose =
2
V
/
2
W
.
1. Determiner, en fonction de a et de
2
V
, lexpression de la puissance P
1
= E
_
X
2
1

correspondant `a
la solution stationnaire de lequation detat. On prendra cette valeur comme expression initiale de
E
_
X
2
1

.
2. Determiner en fonction de a et de , lequation recurrente du gain de Kalman G
n
ainsi que la
valeur initiale G
1
.
3. Ecrire un programme qui met en uvre le ltre de Kalman sur la trajectoire proposee.
Corrige de lexercice 3.1 1. Lequation detat montre que la solution stationnaire est un processus
AR dordre 1. Par consequent, sa puissance a pour expression :
E
_
X
2
1

=

2
V
1 a
2
2. Dapr`es (15), on a :
G
n
=
K
n1
K
n1
+
2
u
(20)
dont on tire K
n1
(1 G
n
) =
2
u
G
n
. En portant ce resultat dans (19) et en notant que C = 1 et
que toutes les quantites sont scalaires, on a successivement :
K
n
= a
2
K
n1
(1 G
n
)
2
+a
2
G
2
n

2
W
+
2
V
= a
2
G
n
(1 G
n
)
2
W
+a
2
G
2
n

2
W
+
2
V
= a
2

2
W
G
n
+
2
V
dont on deduit aussi K
n
= a
2

2
W
G
n
+
2
V
. En portant dans lexpression (20) donnant G
n
, on obtient
la formule de recurrence :
G
n
=
+a
2
G
n1
1 + +a
2
G
n1
(21)
Les conditions initiales sont ici K
0
= E
_
X
2
1

=
2
V
/(1 a
2
). En portant dans lexpression (20), on
en deduit que G
1
= /(1 + a
2
). En utilisant (21), cela revient `a prendre G
0
= /(1 a
2
).
En resume lalgorithme de Kalman secrit :
Conditions intiales : x
1|0
= 0 et G
0
= /(1 a
2
).
Pour n allant de 1 `a N :
_

_
G
n
=
+a
2
G
n1
1 + +a
2
G
n1
X
n|n
= X
n|n1
+G
n
_
Y
n
X
n|n1
_
8

You might also like