L`algorithme EM pour des données manquantes

publicité
L’algorithme EM pour des données
manquantes
Molière Nguile makao
INSERM U823/équipe 11
historique
Article historique de Dempster, Laird et
Rubin (1977),
 ML estimation from incomplete data via
the EM algorithm, JRSS, B 39, 1-38

Définition

EM pour Espérance-maximisation (ExpectationMaximization) .
L'algorithme EM permet de compléter une série de données manquantes en se basant sur la
vraisemblance maximale
(maximum-likelihood estimation) de l'ensemble
des données.

Exemple
obs
X1
X2
obs
X1
X2
1
2
3
4
5
6
7
8
9
10
11
210
210
205
235
215
200
215
230
200
165
245
200
215
---245
230
--225
230
----250
1
2
4
5
7
8
11
210
210
235
215
215
230
245
200
215
245
230
225
230
250
3
6
9
10
205
200
200
165
---------
Estimation de la vraisemblance maximale
Rappel
obs
x
densité
1
1,725
exp(-1,725*a)
2
0,821
exp(-0,821*a)
3
0,318
exp(-0,318*a)
4
1,147
exp(-1,147*a)
5
2,61
exp(-2,61*a)
6
0,648
exp(-0,648*a)
exp(-a*x)=f(x)
L(a)=exp(-(1,725+0.821+0,318+1,147+2,61+0,648)*a)
Trouver « a » revient à optimiser L(a)
Estimation de la vraisemblance maximale
Principe
On suppose que un échantillon X1,…Xn suit
une distribution. Exp: normale de paramètre Θ=(μ ,Σ)
pas de données manquantes
p(X| Θ) la densité
L(X1| Θ)=log ( p(X| Θ) )
Avec des données manquantes
Variable modifiée Z=(X,Y) où Y représente l’ensemble
des données manquantes
p(Z| Θ)= p(Y|X, Θ) p(X| Θ)
L(X,Y| Θ)=log ( p(Z| Θ) )
EM pour des données manquantes
But : trouver la valeur espérée de la log-vraisemblance de l'ensemble
complet de données Z par rapport aux données manquantes Y
sachant les données observées X et les paramètres du modèle Θ
Problème : Manque de connaissance sur la variable Y, il faut donc
utiliser les données et les paramètres d'une itération précédente X et
Θ^(i-1)
valeur espérée :
Q(Θ, Θ^(i-1)) = Ey[ L(X,Y| Θ)|X,Θ^(i-1)]
Les étapes de l'algorithme EM
Étape E : Évaluation de l'espérance selon les données observées
et les paramètres à notre disposition.
Étape M : Maximisation de cette espérance
Algorithme EM
Set n=0
initialize Θo
E-step
Compute Q(Θ|Θn)
n=n+1
M-step
Θ*=max Q(Θ|Θn)
Θn+1=Θn*
Q(Θn+1|Θn)Q(Θn|Θn-1)<ξ
Θml:Maximum likelihood estimated
ξ: termination threshold
Θml=Θn+1
Exemple utilisation de l’algorithme EM
Exemple des sinus
Deux fonctions: Y1 = Sin(x), Y2=Sin( x+3)+2 5 cycles sont ensuite
retirés à Y2
Utilisation de l'algorithme EM pour retrouver les données. ( logiciel R )
Données imputées (orange) pour la fonction Y2
Exemple en utilisant le logiciel sas
Exemple de sas: Data on Physical Fitness
Utilisation de l’algorithme EM pour calcul
les paramètres de la distribution conjointe
Procédure sas
proc mi data = FitMiss seed=1518971
simple nimpute =0;
em itprint outem=outem;
var Oxygen RunTime RunPulse;
run;
proc print data=outem;
title 'EM Estimates';
run;
Exemple en utilisant le logiciel sas(suite)
Exemple en utilisant le logiciel sas
Discussion
EM est intéressant et très puissant (application multiple)
mais pas de bonne qualité pour des séries avec une grande
variance-covariance .
alternative: ex: EMBootstrapping.
Pour ce qui est des paramètres du modèle, il est possible d'obtenir de
bons résultats avec une bonne précision.
Les caractéristiques globales sont donc bien reproduites par
l'algorithme.
Remarque :la censure informative peut être traitée par l’algorithme EM.
EM est beaucoup plus
qu’un algorithme,
c’est un mode de pensée.
Téléchargement