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 (Expectation- Maximization). 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 obsX1X obsX1X
Estimation de la vraisemblance maximale obsxdensité 11,725exp(-1,725*a) 20,821exp(-0,821*a) 30,318exp(-0,318*a) 41,147exp(-1,147*a) 52,61exp(-2,61*a) 60,648exp(-0,648*a) exp(-a*x)=f(x) L (a)=exp(-(1, ,318+1,147+2,61+0,648)*a) Trouver « a » revient à optimiser L(a) Rappel
Estimation de la vraisemblance maximale On suppose que un échantillon X1,…Xn suit une distribution. Exp: normale de paramètre Θ=(μ,Σ) pas de données manquantes Avec des données manquantes p(X| Θ) la densité L(X1| Θ)=log ( p(X| Θ) ) 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| Θ) ) Principe
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) M-step Θ*=max Q(Θ|Θn) Θn+1=Θn* Q(Θn+1|Θn)- Q(Θn|Θn-1)<ξ Θml=Θn+1 n=n+1 Θml:Maximum likelihood estimated ξ: termination threshold
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= 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.