Analyse de Données Analyse en Composantes Principales (ACP)
Analyse en composantes principales (ACP) ** Sur toute la fiche, on notera M' la transposée de M. Cadre de travail : On a des données statistiques regroupant n individus et faisant intervenir p variables. On les modélise alors par une matrice nxp. p X =( x,, x )= x x 2 x2 x2 x p... 2 j xi x n... x np
A partir de la matrice initiale, on a les vecteurs représentant les individus et ceux représentant les variables : X =( x,..., x p )= x x 2 x 2 x 22... xp x ij x n... x np x i Vecteur représentant le ième individu : x i ei=... x ip xj Vecteur représentant la jème variable : x 2j Xj=... x nj
Exemple : Files d'attente Proba. Devt dur. Romain L. 0,5 2 Victor C. 5 X= e= 0,5 2 e2= 5 0,5 2 5 X= X2= 0,5 X3= 2 5
Autre manière de représenter ces données, de façon plus visuelle : le nuage de points. Dim = 3 Dim = 2
Comme on peut le voir, il y a deux manières de considérer ces données statistiques : - un nuage d'individus dans un repère de plusieurs variables - un nuage de variables dans un repère de plusieurs individus Dans le premier cas on utilise la matrice X : p X =( x,, x )= x x 2 x 2 x 22 x p x ij x n x np Dans le second on utilise sa transposée X' X '=( x,..., x p )' = x x 2 x 2 x 22 x p x ij x n x np
Si l'on veut faire apparaître une importance différente pour chaque individu dans les données, alors on leur accorde un poids respectifs ( p,,p2 ). Ces poids apparaissent dans la matrice D de taille nxn : D= p 0 0 p2 0 pj 0 pn La plupart du temps, la même importance est accordée à chaque individu et : D = (/n).in On définit également le vecteur g représentant les moyennes de chaque variable : x x 2 g=... x p où x j est la moyenne de la jème variable On montre que g = X ' D px
Pour centrer notre matrice de données initiale par rapport aux moyennes, il faut retrancher la moyenne concernée à chaque valeur pour la variable d'un individu : Autrement dit, on obtient le «tableau centré» de cette manière : Y = X px g ' = x x 2 x 2 x 22 x p j xi x n x np. x x 2... x p
Autres matrices statistiques : Matrice de variance-covariance : V = ( sij ) i;j ϵ ;p ;p Et pour tout i,j, sij = cov( Xi, Xj ) V = Y'DY Matrice de corrélation : R = ( rij ) i;j ϵ ;p ;p Et pour tout i,j, R = D/sVD/s r ij = cov ( Xi, Xj) var ( Xi)Var ( Xj) D / s = / s 0 0 /s 2 0 / s j 0 / s p
Inertie : Elle quantifie la dispersion des individus dans le nuage de point. Le but de l'acp va être de projeter ce nuage de points sur un espace de dimension plus petit ( faisant intervenir moins de paramètres ) tout en gardant une inertie la plus grande possible pour perdre peu d'information. - Par rapport à un vecteur u n Iu = pi d M (ei, u)2 i=0 - Inertie totale : n Ig = n n p i p j d M (ei, ej)2 j=0 i=0 = p j I ej j =0 Pour définir la distance dm(. ) il faut d'abord définir le produit scalaire : <.,.>M. Celui-ci se définit à partir d'une matrice M qui a comme propriété d'être symétrique définie positive. Dans le produit scalaire usuel, on prend M = In. On montre alors que : I g =Tr (VM ) Où V est la matrice de covariance.
Or VM est M-symétrique. Donc elle diagonalisable ( Thm. Spectral ), ses v.p ( λ,, λp ) sont positives et on peut construire une B.O.N à partir des vecteurs propres. p Alors, Ig = λj j=0 Ainsi, pour maximiser l'inertie sur un sev de dim k ( < p ), il suffit de projeter le nuage de points sur le sous-espace vectoriel engendré par les vecteurs propres ( a,, ak) associés aux k plus grandes valeurs propres. Les axes principaux d'inertie ( a,, ak) sont alors ces vecteurs propres orthogonaux et normés. Et le taux d inertie expliquée par un axe ai représente simplement la quantité λi/ Ig. ACP centrée : Le plus souvent, on prend la métrique M = In, et la matrice de poids D = (/n)in. On a alors LA matrice à diagonaliser : Y 'Y = Z' Z n x ij x j où Z = Y et v ij = n n VM = V =
ACP centrée réduite : On peut aussi prendre M = D(/s)'.D(/s), et la matrice de poids D = (/n)in. On a alors LA matrice à diagonaliser : VM = YD /s ' YD / s = Z ' Z n x x j où Z = YD / s et VM ij = ij n nσ j Ici, l'acp est réalisée de manière à projeter le nuage de points-individus sur un sev. Mais on a vu que l'on pouvait également voir les données comme un nuage de points-variable. Pour effectuer l'acp sur ce nouveau nuage de points, il suffit de remplacer, dans l'acp, notre précédente matrice Z : Z= z z 2 z2 z2 z p 2 z ij z n z np Par sa transposée Z '= z z 2 2 z2 z... z p z ij 2 z n... Alors, la nouvelle matrice à diagonaliser est simplement Z.Z'. On obtient alors une B.O.N de vecteurs propres ( b,, bp). z np
Bien sûr, Z'Z et ZZ' ont les mêmes valeurs propres et quand aux vecteurs propres normés, on peut passer d'un cas à un autre par ces relations : Notations : Prof. Nous matrice X Z Vecteurs pr. u a Vecteurs pr. v b