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.