Données manquantes en ACM : l algorithme NIPALS & VANESSA KUENTZ & BENOÎT LIQUET IMB, Université de Bordeaux, France INRIA Bordeaux Sud-Ouest, CQFD Team INSERM, U897 SFC09, Grenoble
Introduction NIPALS Motivation : un exemple réelle avec données manquantes Plans factoriels 1-2 de l ACM de FactoMineR 1230 individus 35 modalités, 14 modalités NA Dim 2 2 1 0 1 2 Dim 2 2 1 0 1 2 Q40.1_NA Q29.2_NA Q30.2_NA Q30.1_NA Q29.3_NA Q40.3_NA Q30.3_NA Q8.3_2 Q8.2_2 Q8.1_2 Q7.4_3 Q7.1_3 Q7.2_2 Q7.4_2 Q7.1_2 Q7.2_3 Q9Nav.3_1 Q9Nav.3_2 Q7.2_1 Q29.2_1 Q40.1_1 Q40.3_1 Q7.1_1 Q7.4_1 Q29.3_1 Q29.3_2 Q40.1_2 Q29.2_2 Q8.1_1 Q8.3_1 Q40.1_3 Q40.3_3 Q40.3_2 Q8.2_1 Q29.3_3 Q30.3_1 Q30.3_2 Q30.2_1 Q30.1_1 Q30.1_2 Q30.2_2 Q30.3_3 Q7.2_NA Q9Nav.3_NA Q7.1_NA Q7.4_NA Q8.2_NA Q8.3_NA Q8.1_NA 1 0 1 2 3 4 Dim 1 2 0 2 4 6 Dim 1
Introduction NIPALS ACM = ACP pondérée des profils lignes et des profils colonnes du TDC Algorithmes d ACP permettant la gestion des données manquantes : NIPALS (Regression PLS, Tenenhaus) ACP iterative (Josse, Husson & Pagès, SFDS 09) IMLS (Wasito & Mirkin, CSDA, 2005, 2006)
1 NIPALS pour l ACM de données incomplètes 2 3
Présentation générale Pour l ACM Données incomplètes Présentation générale de NIPALS Meilleure approximation d une matrice Z de rang p par une matrice Z k = Y k V t k de rang k < p = + Z Y k V t k E k minimiser: Z Y k V t k 2 si les données sont complètes W (Z Y k V t k ) 2 si les données sont incomplètes, W est une matrice de poids, w ij = 0 si z ij manquant, w ij = 1 sinon. Décomposition en valeurs singulières de Z Algorithme itératif NIPALS qui s adapte au cas incomplet
Présentation générale Pour l ACM Données incomplètes Etape 1 : meilleure approximation Z 1 de rang 1 Définir : Z 1 = y 1 v t 1 Z = y 1 v t 1 + E 1 min y1,v1 E 1 2 Algorithme : Initialiser y 1 Répéter jusqu à convergence 1) on fixe y 1 et on calcule v1 v 1 normalisé à 1 2) on fixe v 1 et on calcule y 1
Présentation générale Pour l ACM Données incomplètes Algorithme d approximation en dimension 1 1) on fixe y 1 et on calcule v1 : pour j = 1 à p, on écrit z j = v 1j y 1 + e j NA z j y 1 = + v 1j e j min v1j e j 2 P n i=1 z v 1j = ij y 1i P n i=1 y1i 2 si NA dans z j on les passe dans la somme v 1 normalisé à 1
Présentation générale Pour l ACM Données incomplètes Algorithme d approximation en dimension 1 2) on fixe v 1 et on calcule y 1 : pour i = 1 à n, on écrit z i = y 1i v 1 + e i z t i = + NA v t 1 y e t 1i i min y1i e i 2 P p j=1 z ijv 1j y 1i = P p v 2 j=1 1j si NA dans z i on les passe dans la somme
Présentation générale Pour l ACM Données incomplètes Etape 2 : meilleure approximation Z 2 de rang 2 Etape 2 : définir Z 2 = y 1 v t 1 + y 2v t 2 : Z y 1 v t 1 y 2 v t 2 = + + E 2 Z 1 Z Z 1 y 2 v t 2 = + E 2 Algorithme d approximation en dimension 1
en ACP NIPALS Présentation générale Pour l ACM Données incomplètes La matrice de données X n p est quantitative Comment définir Z n p pour avoir Y k est la matrice des k composantes principales des individus V k est la matrice des k axes principaux = + Z? Y k V t k E k Il suffit de prendre la matrice des données centrées et réduites : Z = (X 1g t )D 1/2 c
en ACM NIPALS Présentation générale Pour l ACM Données incomplètes La matrice de données X n p est qualitative Comment définir Z n q? On calcule F n q, matrice des fréquences relatives du TDC G, f is = g is n p r = (f 1.... f i.... f n. ), f i. = 1 n c = (f.1... f.s... f.q ), f.s = ns n p R = D 1 r (F rc t ) de la matrice des profils lignes centrés Il suffit alors de prendre la matrice des profils lignes centrés et réduits : Z = RD 1/2 c
Données incomplètes Présentation générale Pour l ACM Données incomplètes En ACP, on estime les moyennes et les écart-types des colonnes de la matrice des données complète inconnue à partir des valeurs observées. En ACM, l idée est d estimer les marges du TDC inconnu à partir du TDC observées, G : G : i s 1 0 0 0 1 0 na na na 1 0 0 na na na 0 0 1 ˆn s ˆn i np ˆn i = p ˆn s = n ns n j
Données incomplètes Présentation générale Pour l ACM Données incomplètes On calcule ˆF n q, avec ˆf is = { gis n p na, si g is na, sinon ˆr = (ˆf 1....ˆf i....ˆf n. ), ˆf i. = ˆn i n p = 1 n ĉ = (ˆf.1...ˆf.s...ˆf.q ), ˆf.s = ˆns n p = ns p n j ˆR = D 1 ˆr (ˆF ˆrĉ t ) de la matrice des profils lignes centrés Il suffit alors de prendre la matrice des profils lignes centrés et réduits : Z = ˆRD 1/2 ĉ
Données vnf Données chiens L exemple réelle des données vnf Plans factoriels 1-2 de l ACM réalisés avec FactoMineR 1230 individus 35 modalités, 14 modalités NA Dim 2 2 1 0 1 2 Dim 2 2 1 0 1 2 Q40.1_NA Q29.2_NA Q30.2_NA Q30.1_NA Q29.3_NA Q40.3_NA Q30.3_NA Q8.3_2 Q8.2_2 Q8.1_2 Q7.1_3 Q7.2_2 Q7.4_2 Q7.1_2 Q7.4_3 Q7.2_3 Q9Nav.3_1 Q9Nav.3_2 Q7.2_1 Q29.2_1 Q40.1_1 Q40.3_1 Q7.1_1 Q7.4_1 Q29.3_1 Q29.3_2 Q40.1_2 Q29.2_2 Q8.1_1 Q8.3_1 Q40.1_3 Q40.3_3 Q40.3_2 Q8.2_1 Q29.3_3 Q30.3_1 Q30.3_2 Q30.2_1 Q30.1_1 Q30.1_2 Q30.2_2 Q30.3_3 Q7.2_NA Q9Nav.3_NA Q7.1_NA Q7.4_NA Q8.2_NA Q8.3_NA Q8.1_NA 1 0 1 2 3 4 Dim 1 2 0 2 4 6 Dim 1
Données vnf Données chiens L exemple réelle des données vnf Plans factoriels 1-2 de l ACM réalisés avec NIPALS 1230 individus 35 modalités Dim 2 2 1 0 1 Dim 2 0.5 0.0 0.5 1.0 1.5 Q8.3.2 Q8.2.2 Q8.1.2 Q30.2.1 Q30.3.1 Q29.3.1 Q9Nav.3.1 Q29.2.1 Q40.1.1 Q30.1.1 Q7.2.2 Q7.1.2 Q40.3.1 Q7.2.1 Q30.3.2 Q29.3.2 Q7.4.1 Q40.1.3 Q7.1.1 Q40.3.2 Q7.4.2 Q40.1.2 Q40.3.3 Q8.3.1Q7.4.3 Q8.2.1 Q8.1.1 Q7.2.3 Q9Nav.3.2 Q30.1.2 Q29.2.2 Q30.2.2 Q7.1.3 Q30.3.3 Q29.3.3 1.0 0.5 0.0 0.5 1.0 1.5 Dim 1 0.5 0.0 0.5 1.0 Dim 1
Données vnf Données chiens L exemple réelle des données vnf Plans factoriels 1-2 des rapports de corrélations des 14 variables MCA sur 709 individus sans NA NIPALS sur 1230 individus avec NA Dim 2 0.0 0.1 0.2 0.3 0.4 Q40.1 Q40.3 Q8.3 Q8.2 Q8.1 Q7.1 Q29.3 Q7.2 Q30.3 Q7.4 Q30.2 Q29.2 Q30.1 Q9Nav.3 Dim 2 0.0 0.1 0.2 0.3 0.4 Q40.1 Q40.3 Q8.3 Q8.2 Q8.1 Q29.2 Q29.3 Q30.3 Q9Nav.3 Q7.2 Q7.1 Q7.4 Q30.2 Q30.1 0.0 0.1 0.2 0.3 0.4 0.5 Dim 1 0.0 0.1 0.2 0.3 0.4 0.5 Dim 1
L exemple des données chiens Données vnf Données chiens Nom TAILLE POIDS VELOCITE INTELLI AFFECTIO AGRESSIV Basset petit leger lent peu peu agressif Chihuahua petit leger lent peu très nonagressif Pekinois petit leger lent peu très nonagressif Caniche petit leger rapide très très nonagressif Bull-Dog moyen lourd lent moyen très nonagressif EpagneulBreton moyen lourd rapide très très nonagressif Dalmatien moyen lourd rapide moyen très nonagressif..................... Dim 2 1.0 0.5 0.0 0.5 1.0 1.5 Basset Chihuahua Pekinois Mastiff Teckel DogueAllemand Bull Mastiff Saint Bernard Terre Neuve Fox Terrier Cocker Caniche Fox Hound GrdBleuGascon Levrier Doberman BergerAllemand Bull Dog Pointer EpagneulFrancais Setter Colley Beauceron Boxer EpagneulBreton Dalmatien Labrador 1.5 1.0 0.5 0.0 0.5 1.0 1.5 Dim 1
L exemple des données chiens Données vnf Données chiens Nom TAILLE POIDS VELOCITE INTELLI AFFECTIO AGRESSIV Basset petit leger lent peu peu agressif Chihuahua NA NA lent peu très nonagressif Pekinois petit leger lent peu très nonagressif Caniche NA NA rapide très très nonagressif Bull-Dog NA NA lent moyen très nonagressif EpagneulBreton moyen lourd rapide très très nonagressif Dalmatien moyen lourd rapide moyen très nonagressif..................... Complet Incomplet et FactoMineR Incomplet et NIPALS Dim 2 1.0 0.5 0.0 0.5 1.0 1.5 Basset Chihuahua Pekinois Mastiff Teckel DogueAllemand Bull Mastiff Saint Bernard Fox Terrier Terre Neuve Cocker Caniche Fox Hound GrdBleuGascon Levrier Doberman Bull Dog BergerAllemand Pointer EpagneulFrancais Setter Colley Beauceron Boxer EpagneulBreton Dalmatien Labrador Dim 2 1.0 0.5 0.0 0.5 1.0 1.5 Basset Teckel Mastiff Fox Terrier Saint Bernard DogueAllemand Bull Mastiff Terre Neuve Cocker Chihuahua Fox Hound GrdBleuGascon Levrier Pekinois Bull Dog Doberman Beauceron BergerAllemand EpagneulFrancais Setter Pointer Colley Caniche Boxer Dalmatien Labrador EpagneulBreton Dim 2 1.0 0.5 0.0 0.5 1.0 1.5 Basset Pekinois Chihuahua Teckel Mastiff Bull Dog Saint Bernard Fox Terrier DogueAllemand Terre Neuve Bull Mastiff Cocker Fox Hound GrdBleuGascon Levrier Setter Doberman Colley BergerAllemand EpagneulFrancais Beauceron Pointer Boxer Dalmatien Labrador EpagneulBreton Caniche 1.5 1.0 0.5 0.0 0.5 1.0 1.5 1.5 1.0 0.5 0.0 0.5 1.0 1.5 1.5 1.0 0.5 0.0 0.5 1.0 1.5 Dim 1 Dim 1 Dim 1
L exemple des données chiens Données vnf Données chiens Comparaisons des matrices Y k axe par axe: Complet FactoMineR incomplet NIPALS incomplet Dim 1 Dim 2 Dim 3 Dim 1 Dim 2 Dim 3 Dim 1 Dim 2 Dim 3 Beauceron 0.14-0.52-0.25 0.05-0.44-0.43-0.21 0.46 0.33 Basset 0.12 1.25 0.22 0.01 1.42-0.37-0.12-1.32-0.36 BergerAllemand -0.43-0.47 0.58-0.45-0.52 0.03 0.39 0.52-0.44.............................. Setter -0.47-0.46 0.23-0.49-0.42 0.01 0.41 0.36-0.30 Teckel 0.94 0.72 0.11 0.82 0.95-0.54-0.98-0.93-0.32 Terre-Neuve -0.46 0.33-0.77-0.40 0.38 0.25 0.38-0.40 0.66 Corrélations entre les axes : r(dim1, Dim1) = 0.97 Dim 1 Dim 2 Dim 3 FactoMineR 0.97 0.91 0.21 NIPALS -0.98-0.87-0.93
L exemple des données chiens Données vnf Données chiens Comparaisons des matrices Y k globalement sur tous les axes: Complet FactoMineR incomplet NIPALS incomplet Dim 1 Dim 2 Dim 3 Dim 1 Dim 2 Dim 3 Dim 1 Dim 2 Dim 3 Beauceron 0.14-0.52-0.25 0.05-0.44-0.43-0.21 0.46 0.33 Basset 0.12 1.25 0.22 0.01 1.42-0.37-0.12-1.32-0.36 BergerAllemand -0.43-0.47 0.58-0.45-0.52 0.03 0.39 0.52-0.44.............................. Setter -0.47-0.46 0.23-0.49-0.42 0.01 0.41 0.36-0.30 Teckel 0.94 0.72 0.11 0.82 0.95-0.54-0.98-0.93-0.32 Terre-Neuve -0.46 0.33-0.77-0.40 0.38 0.25 0.38-0.40 0.66 Coefficient RV : compare la matrice W = Y 3 Y t 3 à la vrai matrice W = Y 3 Y t 3 : RV(Y 3, Y 3 ) = trace(w, W) p trace(w, W)trace(W, W) = 0.79 RV FactoMineR 0.79 NIPALS 0.89
ACM itérative NIPALS Autre algorithmes Adaptation de l ACP itérative (Josse, Husson & Pagès) Algorithme de décomposition en valeur singulière (SVD) itératif : imputer les valeurs manquantes dans une matrice réelle Z: 1 choisir le nombre k de dimension 2 remplir arbitrairement les trous dans Z 3 répéter jusqu à convergence faire une SVD de Z: Z = UΛV meilleure approximation de rang k : Z k = U k Λ k V t k remplir les trous dans Z avec les valeurs estimées : Z = WZ + (1 W)Z k
Autre algorithmes Algorithme d ACM itérative : 1 choisir le nombre k de dimension 2 calculer Z = ˆRD 1/2 ĉ 3 appliquer l algorithme de SVD itérative à Z et k. On note U k, Λ k et V k les résultats. 4 calculer la matrice des k premières composantes principales : Y k = U k Λ k Inconvénients : solutions Y k et V k ne sont pas emboîtées plus k est grand, plus la SVD itérative approxime bien les valeurs mises arbitrairement dans Z pour boucher les trous...
IMLS pour l ACM NIPALS Autre algorithmes Adaptation de la méthode IMLS (Wasito & Mirkin) Algorithme IMLS pour l ACM: 1 choisir le nombre k de dimension 2 calculer Z = ˆRD 1/2 ĉ 3 pour l = 1 à k appliquer l ACM itérative à Z en dimension 1 et noter y l la première composante principale et et v l le premier axe principal. calculer la matrice des résidus : Z = Z W(y l v t l) 4 Les vecteurs y 1... y l... y k forment les colonnes de Y k Les vecteurs v 1... v l... v k forment les colonnes de V k
Autre algorithmes Simulation : coefficient RV, deux axes % de NA =10 % de NA =20 0.6 0.7 0.8 0.9 1.0 0.6 0.7 0.8 0.9 1.0 FM ITERATIVE IMLS NIPALS FM ITERATIVE IMLS NIPALS % de NA =30 % de NA =40 0.6 0.7 0.8 0.9 1.0 0.6 0.7 0.8 0.9 1.0 FM ITERATIVE IMLS NIPALS FM ITERATIVE IMLS NIPALS
Autre algorithmes Simulation : plans factoriels des modalités Complet FactoMineR et 40 % de NA aléatoires Dim 2 0.5 0.0 0.5 1.0 1.5 Q8.3.2 Q8.2.2 Q8.1.2 Q7.1.2 Q7.2.2 Q40.3.3 Q30.2.1 Q29.3.1 Q30.3.1 Q29.2.1 Q40.1.3 Q30.1.1 Q7.4.2 Q9Nav.3.1 Q30.3.2 Q29.3.2 Q7.4.1 Q40.3.2 Q40.1.1 Q40.3.1 Q7.2.1 Q7.1.1 Q7.2.3 Q7.4.3 Q9Nav.3.2 Q40.1.2 Q7.1.3 Q8.3.1 Q8.2.1 Q8.1.1 Q30.1.2 Q30.2.2 Q29.2.2 Q30.3.3 Q29.3.3 Dim 2 1.0 0.5 0.0 0.5 1.0 1.5 2.0 Q8.3_2 Q8.2_2 Q8.1_2 Q40.3_3 Q7.2_2 Q7.1_NA Q29.2_1 Q29.3_1 Q30.2_1 Q29.3_2 Q9Nav.3_1 Q30.1_1 Q30.3_2 Q40.1_3 Q7.1_2 Q7.4_2 Q30.3_NA Q40.3_2 Q8.3_NA Q9Nav.3_2 Q7.4_1 Q30.1_NA Q40.1_NA Q30.3_1 Q30.2_NA Q7.2_1 Q7.2_NA Q7.4_3 Q7.4_NA Q29.3_NA Q40.3_NA Q40.1_1 Q29.2_NA Q8.2_NA Q8.1_NA Q9Nav.3_NA Q40.3_1 Q40.1_2 Q7.1_1 Q7.2_3 Q29.2_2 Q30.2_2 Q30.1_2 Q8.2_1 Q8.1_1 Q8.3_1 Q7.1_3 Q30.3_3 Q29.3_3 0.6 0.4 0.2 0.0 0.2 0.4 0.6 0.8 Dim 1 0.5 0.0 0.5 1.0 Dim 1
Autre algorithmes Simulation : coefficient RV, 2 à 5 axes, 30 % de NA nombre d axe =2 nombre d axe =3 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 ITERATIVE IMLS NIPALS ITERATIVE IMLS NIPALS nombre d axe =4 nombre d axe =5 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 ITERATIVE IMLS NIPALS ITERATIVE IMLS NIPALS
Conclusions et perspectives Autre algorithmes Aller plus loin dans la comparaison des algorithmes Complexités et problèmes de convergence? D autres algorithmes? (ACP itérative régularisée,...)
References NIPALS Autre algorithmes Josse, J., Husson, F., Pagès, J. (2009), Apport de l ACP probabiliste pour la gestion des données manquantes en ACP. Congrès de la SFdS, Bordeaux, 25-29 mai, 2009. Tenenhaus, M., (1998), La régression PLS, Technip. Wasito, I., Mirkin, B., (2005), Nearest neighbours in least-squares data imputation algorithms, Information Sciences, 169, 1-25. Wasito, I., Mirkin, B., (2006), Nearest neighbours in least-squares data imputation algorithms with different missing patterns, CSDA, 50, 926-949.