Chapitre I Analyse en Composantes Principales (ACP) Master MMAS - Université de Bordeaux Marie Chavent Chapitre 1 ACP 1/64 ACP 2/64 Plan 1 Notions de base 2 Analyse du nuage des individus 3 Analyse du nuage des variables 4 Interprétation des résultats 5 ACP avec métriques Chapitre 1 1. Notions de base On considère un tableau de données numériques où n individus sont décrits sur p variables. 1 ... j ... p ... . . . xij . . . ... 1 . . . i . . . n On notera : X = (xij )n×p la matrice des données brutes où xij ∈ R est la valeur du i ème individu sur la j ème variable. xi1 .. x i = . ∈ Rp xip la description du i ème individu (ligne de X) Chapitre 1 x1j . xj = .. ∈ Rn xnj la description de la j ème variable (colonne de X). ACP 3/64 Exemple : mesure de la tension arterielle diastolique, systolique et du taux de cholestérol de 6 patients. load("chol.RData") print(X) ## ## ## ## ## ## ## Brigitte Marie Vincent Alex Manue Fred n= diast syst chol 90 140 6.0 60 85 5.9 75 135 6.1 70 145 5.8 85 130 5.4 70 145 5.0 p= X= x3 = x2 = ⇒ Deux nuages de points. Chapitre 1 ACP 4/64 1.1 Nuage des individus Nuage des n=6 individus de R^3 Vincent Brigitte 6.0 6.2 Alex Marie syst 5.6 150 Fred 140 130 5.4 chol 5.8 Manue 120 5.2 110 100 5.0 90 80 60 65 70 75 80 85 90 diast Chapitre 1 ACP 5/64 Nuage de n points-individus pondérés : Les n lignes de X définissent un nuage de n points de Rp . On pondère chaque individu i par un poids wi . En pratique : - wi = - wi 6= 1 n 1 n pour des tirage aléatoire par exemple. pour des échantillons redressés, des données regroupées,etc. En ACP, on va s’interesser - au nuage centré des n points individus, - au nuage centré-réduit des n points individus. Chapitre 1 ACP 6/64 Matrice X des données brutes 1 ... 1 . . . i . . . n x̄ j Matrice Y des données centrées ... p ... . . . xij . . . ... 1 . . . i . . . n ... x̄ j ... ȳ avec dans le cas classique où wi = 1 n 1 ... j ... p ... . . . yij . . . ... ... 0 ... : Pn x̄ j = n1 i=1 xij , yij = xij − x̄ j . - Le nuage centré des points-individus a pour centre de gravité l’origine du repère. Montrez que ȳj = 0 pour tout j = 1, . . . , p. - Les distances entre les points-individus sont conservées. Montrez que d 2 (xi , xi 0 ) = d 2 (yi , yi 0 ). Chapitre 1 ACP 7/64 Matrice X des données brutes Matrice Y des données centrées print(X) Y <- sweep(X,2,moy,"-") print(Y) ## ## ## ## ## ## ## Brigitte Marie Vincent Alex Manue Fred diast syst chol 90 140 6.0 60 85 5.9 75 135 6.1 70 145 5.8 85 130 5.4 70 145 5.0 ## ## ## ## ## ## ## Brigitte Marie Vincent Alex Manue Fred diast syst chol 15 10 0.3 -15 -45 0.2 0 5 0.4 -5 15 0.1 10 0 -0.3 -5 15 -0.7 # moyennes des colonnes moy <- apply(X,2,mean) print(moy,digits=3) #moyennes des colonnes de Y round(apply(Y,2,mean),digit=1) ## diast syst ## 75.0 130.0 ## diast ## 0 chol 5.7 Chapitre 1 ACP syst 0 chol 0 8/64 Nuage centré des 6 individus Vincent Brigitte 0.4 Alex 0.2 Marie 20 syst −0.2 Fred 10 0 −0.4 chol 0.0 Manue −10 −0.6 −20 −30 −0.8 −40 −50 −15 −10 −5 0 5 10 15 diast Translation du nuage de points-individus. Chapitre 1 ACP Matrice X des données brutes 1 ... 1 . . . i . . . n x̄ s j 9/64 Matrice Z des données centrées-réduites ... p ... . . . xij . . . ... 1 . . . i . . . n ... ... x̄ j sj ... ... z̄ s avec dans le cas classique où wi = 1 n xij −x̄ j sj j ... p ... . . . zij . . . ... ... ... 0 1 ... ... : sj2 = var (xj ) = zij = 1 ... 1 n Pn i=1 (xij − x̄ j )2 , . - La variance des variables centrées-réduites est égale à 1. Montrer que var (zj ) = 1 pour tout j = 1, . . . , p. - Les distances entre les points-individus sont modifiées. Pp 1 2 Montrer que d (zi , zi 0 ) = j=1 s 2 (xij − xi 0 j )2 . j Chapitre 1 ACP 10/64 Matrice X des données brutes Matrice Z des données centrées-réduites print(X) Z <- sweep(Y,2,s,"/") print(Z) diast syst chol Brigitte 90 140 6.0 Marie 60 85 5.9 Vincent 75 135 6.1 Alex 70 145 5.8 Manue 85 130 5.4 Fred 70 145 5.0 ## ## ## ## ## ## ## moy <- apply(X,2,mean) s <- apply(X,2,sd)*sqrt(5/6) #standard deviation stat <- rbind(moy,s) rownames(stat) <- c("moyenne","écart-type") print(stat,digits=3) Brigitte Marie Vincent Alex Manue Fred diast syst chol 1.5 0.48 0.78 -1.5 -2.16 0.52 0.0 0.24 1.04 -0.5 0.72 0.26 1.0 0.00 -0.78 -0.5 0.72 -1.83 #moyennes et écarts-types des colonnes de Z round(apply(Z,2,mean),digit=1) ## diast ## 0 ## diast syst chol ## moyenne 75 130.0 5.700 ## écart-type 10 20.8 0.383 syst 0 chol 0 round(apply(Z,2,sd)*sqrt(4/5),digit=1) ## diast ## 1 Chapitre 1 syst 1 chol 1 ACP 11/64 Nuage centré−réduit des 6 individus Vincent Brigitte Marie Manue −0.5 Fred 1.0 0.5 0.0 −1.0 chol 0.0 0.5 1.0 1.5 Alex syst ## ## ## ## ## ## ## −0.5 −1.5 −1.0 −1.5 −2.0 −2.0 −1.5 −2.5 −1.0 −0.5 0.0 0.5 1.0 1.5 diast Translation et "normalisation" du nuage de points-individus. Chapitre 1 ACP 12/64 En résumé, trois nuages de points-individus. 20 40 60 80 100 −50 8 6 0 20 diast 40 60 80 100 −50 diast 0 −20 0 20 40 60 80 100 −50 diast Chapitre 1 ACP 13/64 Distance entre deux individus. On munit l’espace Rp d’une métrique M (matrice p × p symétrique définie positive). - un produit scalaire : < x, y >M = xt My √ - une norme : kxkM = < x, x >M - une distance : dM (x, y) = kx − ykM On utilise souvent une métrique diagonale M = diag(m1 , . . . , mp ) afin de pondérer les variables dans le calcul de la distance : kxi k2M = p X mj xij2 j=1 2 dM (xi , xi 0 ) = p X mj (xij − xi 0 j )2 j=1 Chapitre 1 ACP 14/64 syst chol 2 0 150 100 50 0 −20 −2 0 −2 −20 syst 4 6 chol 2 150 100 50 0 syst 4 6 4 chol 2 0 150 100 50 0 −2 données centrées−réduites 8 données centrées 8 données brutes - Si on donne le même poids à toutes les variables, M = Ip et dI2p (xi , xi 0 ) = p X (xij − xi 0 j )2 = dI2p (yi , yi 0 ) j=1 - Si on donne moins de poids aux variables de forte variance, M = diag( s12 , . . . , s12 ) et p 1 dM (xi , xi 0 ) = 2 p X 1 j=1 sj2 (xij − xi 0 j )2 = dI2p (zi , zi 0 ) Centrer-réduire les données permet de donner le même poids à toutes les variables dans le calcul de la distance entre deux individus. Chapitre 1 ACP 15/64 print(X) # données brutes print(Z,digits=2) # données centrées-réduites ## ## ## ## ## ## ## ## ## ## ## ## ## ## Brigitte Marie Vincent Alex Manue Fred diast syst chol 90 140 6.0 60 85 5.9 75 135 6.1 70 145 5.8 85 130 5.4 70 145 5.0 Brigitte Marie Vincent Alex Manue Fred diast syst chol 1.5 0.48 0.78 -1.5 -2.16 0.52 0.0 0.24 1.04 -0.5 0.72 0.26 1.0 0.00 -0.78 -0.5 0.72 -1.83 print(stat[2,],digits=3) #écarts-types ## diast syst ## 10.000 20.817 chol 0.383 Distance euclidienne simple entre les deux premières lignes de X : dI3 (x1 , x2 ) = p (90 − 60)2 + (140 − 85)2 + (6 − 5.9)2 = 62.64 Distance euclidienne simple entre les deux premières lignes de Z : dI3 (z1 , z2 ) = = p (1.5 + 1.5)2 + (0.48 + 2.16)2 + (0.78 − 0.52)2 = 4.006 r 1 1 1 2 + 2 + (90 − 60) (140 − 85) (6 − 5.9)2 2 2 2 10 20.8 0.383 Chapitre 1 ACP 16/64 Inertie du nuage des individus. C’est une mesure de dispersion du nuage des n points-individus de Rp définie par : I(X) = n X 2 wi dM (xi , x̄). i=1 Pour une métrique diagonale M = diag(m1 , . . . , mp ) on a : I(X) = p X mj var (xj ). j=1 Et si M = Ip : - L’inertie I(Y) du nuage centré des individus est égale à la somme des variances des p variables. - L’inertie I(Z) du nuage centré-réduit des individus est égal à p. Chapitre 1 ACP 17/64 print(Y) # données centrées print(Z,digits=2) # données centrées-réduites ## ## ## ## ## ## ## ## ## ## ## ## ## ## Brigitte Marie Vincent Alex Manue Fred diast syst chol 15 10 0.3 -15 -45 0.2 0 5 0.4 -5 15 0.1 10 0 -0.3 -5 15 -0.7 Brigitte Marie Vincent Alex Manue Fred diast syst chol 1.5 0.48 0.78 -1.5 -2.16 0.52 0.0 0.24 1.04 -0.5 0.72 0.26 1.0 0.00 -0.78 -0.5 0.72 -1.83 print(s,digits=2) # écart-types apply(Z,2,sd)*sqrt(5/6) # écart-types ## diast syst ## 10.00 20.82 ## diast ## 1 chol 0.38 syst 1 chol 1 sum(s^2) #inertie ## [1] 533 - Inertie du nuage centré des individus : I(Y) = 102 + 20.82 + 0.3832 = 533.48 - Inertie du nuage centré-réduit des individus : I(Z) = 1 + 1 + 1 = 3 Chapitre 1 ACP 18/64 1.2 Nuage des variables Exemple des 6 patients décrits sur 3 variables. # nuage de 3 points-variables de R^6 ! print(t(X)) ## Brigitte Marie Vincent Alex Manue Fred ## diast 90 60.0 75.0 70.0 85.0 70 ## syst 140 85.0 135.0 145.0 130.0 145 ## chol 6 5.9 6.1 5.8 5.4 5 Chapitre 1 ACP 19/64 Nuage de p points-variables pondérés : Les p colonnes de X définissent un nuage de p points de Rn . On pondère chaque variable j par un poids mj . En pratique : - mj = 1 en ACP. - mj 6= 1 en ACM (Analyse des Correspondances Multiples). En ACP, on va s’interesser - au nuage des p variables centrées si on analyse Y, - au nuage des p variables centrées-réduites si on analyse Z. Chapitre 1 ACP 20/64 Variance et norme. Si on munit Rn de la métrique diagonale N = diag( n1 , . . . , n1 ) des poids des individus, on peut écrire n 1X var (x ) = (xij − x̄ j )2 = kyj k2N n j i=1 On en déduit que : - La variance empirique d’une variable j est égale au carré de la norme de la variable centrée. - La norme d’une variable centrée-réduite zj est égale à 1 : var (zj ) = kzj k2N = 1. Les variables centrées-réduites se trouvent sur l’hypersphère unité de Rn . Chapitre 1 ACP 21/64 Covariance et produit-scalaire La covariance empirique cjj 0 mesure la liaison entre deux variables j et j 0 : cjj 0 n 0 1X = (xij − x̄ j )(xij 0 − x̄ j ) n i=1 On en déduit que : - La covariance cjj 0 est le produit scalaire entre les variables centrées : 0 cjj 0 =< yj , yj >N - La matrice p × p de covariance notée C se calcule matriciellement à partir de la matrice Y des données centrées : C = Yt NY Chapitre 1 ACP 22/64 Corrélation et cosinus La corrélation rjj 0 est une autre mesure de liaison entre deux variables j et j 0 qui prend ses valeurs dans [−1, 1] : rjj 0 0 n 1 X xij − x̄ j xij 0 − x̄ j = ( )( ) n sj sj 0 i=1 On en déduit que : - La corrélation est le cosinus de l’angle entre les variables centrées : 0 rjj 0 < yj , yj >N j j0 = cos θ (y , y ). = j N 0 ky kN kyj kN et le produit scalaire et le cosinus de l’angle entre les variables centrées-réduites : 0 0 rjj 0 =< zj , zj >N = cos θN (zj , zj ) - La matrice p × p de corrélations notée R se calcule matriciellement à partir de la matrice Z des données centrées-réduites : R = Zt NZ Chapitre 1 ACP 23/64 1.3 ACP normée ou non normée ? En ACP on peut analyser : la matrice des données centrées Y, la matrice des données centrées-réduites Z. L’ACP consiste alors à analyser deux nuages de points : les n points-individus de Rp (les lignes) avec la métrique M = Ip , les p points-variables de Rn (les colonnes) avec la métrique N = n1 In . On distingue alors deux type d’ACP : l’ACP non normée (sur matrice des covariances) qui analyse Y, l’ACP normée (sur matrice des corrélations) qui analyse Z. Dans la suite du cours, on se place dans le cadre de l’ACP normée qui va analyser les lignes et le colonnes de la matrice des données centrées-réduites Z. Chapitre 1 ACP 24/64 Plan 1 Notions de base 2 Analyse du nuage des individus 3 Analyse du nuage des variables 4 Interprétation des résultats 5 ACP avec métriques Chapitre 1 ACP 25/64 2. Analyse du nuage des individus en ACP normée Exemple des 6 patients décrits sur 3 variables. Nuage centré−réduit Projection sur le premier plan de l'ACP Brigitte Vincent Vincent 1 Brigitte 0 Dim 2 (35.07%) 1.0 0.5 syst −0.5 Fred Alex Marie Manue 0.0 −1.0 −0.5 −1.5 −1.0 −2 chol 0.0 Manue −1 Marie 0.5 1.0 1.5 Alex −1.5 Fred −2.0 −2.0 −1.5 −2.5 −1.0 −0.5 0.0 0.5 1.0 1.5 −3 diast −2 −1 0 1 Dim 1 (52.69%) Objectif : trouver le plan de projection tel que les distances entre les individus soient les mieux conservées possible. Chapitre 1 ACP 26/64 Projection d’un individu. La projection M-orthogonale d’un point zi ∈ Rp sur un axe ∆α de vecteur t directeur vα de norme 1 (i.e. vα Mvα = 1) a pour coordonnée : fiα =< zi , vα >M = zti Mvα . On notera f α ∈ Rn le vecteur des coordonnées des projections des n points du nuage des individus sur cet axe : f1α . f α = .. = ZMvα fnα Chapitre 1 ACP 27/64 - f α est une combinaison linéaire des colonnes de Z. Par exemple, avec M = Ip on a : f = Zvα = α p X vjα zj j=1 - f α est donc une variable synthétique centrée et donc n 1X 2 var (f ) = fiα = kf α k2N n α i=1 Chapitre 1 ACP 28/64 Exemple des 6 patients : La matrice des données centrées-réduites est : 1.50 −1.50 0.00 Z= −0.50 1.00 −0.50 0.48 −2.16 0.24 0.72 0.00 0.72 0.78 0.52 1.04 0.26 −0.78 −1.83 On veut projeter avec la métrique M = I3 les 6 individus du nuage centré-réduit sur les axes orthogonaux ∆1 et ∆2 de vecteurs directeurs : 0.4433 0.641 v1 = 0.72 , v2 = −0.0652 . 0.894 −0.265 Chapitre 1 ACP 29/64 Les coordonnées des projections sont : 1.5 0.48 0.78 1.09 . . . . f 1 = Zv1 = 0.641 .. +0.72 .. −0.265 .. = .. −0.5 0.72 −1.82 0.683 1.5 0.48 0.78 1.333 . . . . f 2 = Zv2 = 0.4433 .. −0.0652 .. −0.894 .. = .. −0.5 0.72 −1.82 −1.9 On peut vérifier que les deux variables synthétiques f 1 et f 2 sont centrées et non corrélées. Chapitre 1 ACP 30/64 Brigitte Vincent 1.0 Vincent Brigitte 0.0 Marie 1.0 0.5 −1.0 −0.5 Fred syst 0.0 −0.5 f2 Manue 0.0 −1.0 −0.5 −1.5 chol Alex Marie Manue 0.5 1.0 1.5 0.5 Alex −1.5 −1.0 −1.5 −2.0 −2.0 Fred −1.0 −0.5 0.0 0.5 1.0 −2.0 −2.5 −1.5 1.5 −2 diast −1 0 1 f1 Question : Comment ont été déterminés v1 et v2 ? Chapitre 1 ACP 31/64 2.1 Recherche des axes de projection des individus On cherche d’abord l’axe ∆1 de vecteur directeur v1 ∈ Rp pour que la variance de la variable synthétique f 1 = Zv1 ∈ Rn (ici M = Ip ) soit maximale : v1 = arg max v∈Rp ,kvk=1 var (Zv) On peut montrer que : - le problème d’optimisation s’écrit : max vt Rv, kvk=1 avec R = n1 Zt Z la matrice des corrélations en les variables, - la solution v1 est le vecteur propre associé à la plus grand valeur propre λ1 de la matrice matrice des corrélations avec λ1 = var (f 1 ). Chapitre 1 ACP 32/64 On cherche ensuite l’axe ∆2 de vecteur directeur v2 ⊥ v1 qui maximise la variance de la variable synthétique f 2 = Zv2 : v2 = arg max kvk=1,v⊥v1 var (Zv) On peut montrer que : - v2 est le vecteur propre associé à la seconde plus grand valeur propre λ2 de R avec λ2 = var (f 2 ), - les nouvelles variables synthétiques f 1 et f 2 sont non corrélées. Chapitre 1 ACP 33/64 Finalement, on construit q ≤ r (où r est le rang de Z) axes de vecteurs directeurs v1 , . . . , vq et on obtient la matrice F de dimension n × q des coordonnées des individus sur ces axes : F = ZV où V est la matrice des q premiers vecteurs propres de la matrice des corrélations R. 1 ... 1 . . . i . . . n ... moy var ... ... α ... q Les éléments fiα sont appelés : - coordonnées factorielles des individus, . . . fiα . . . - scores des individus sur les composantes principales, ... Les colonnes 0 λα f α = Zvα ... ... sont les nouvelles variables appelées les composantes principales. Chapitre 1 ACP 34/64 Exemple des 6 patients : Projection patients sur le plan 1−2 Dim.1 Dim.2 Brigitte 1.10 1.334 Marie -2.66 -0.057 Vincent -0.10 0.918 Alex 0.13 -0.035 Manue 0.85 -0.257 Fred 0.68 -1.903 Brigitte Dim 2 (35.07%) 1 Vincent Alex Manue Marie −2 −1 ## ## ## ## ## ## ## plot(res,cex=1.8, cex.main=1.8, title="Projection patients sur le plan 1-2") 0 res <- PCA(X, ncp=2, graph=FALSE) F <- res$ind$coord print(F,digits=2) Fred −3 −2 −1 0 1 Dim 1 (52.69%) Chapitre 1 ACP 35/64 2.2 Inertie des q premières composantes principales Les composantes principales (colonnes de F) sont q nouvelles variables synthétiques non corrélées et de variance maximale avec var (f α ) = λα On en déduit que l’inertie de la matrice F des q premières composantes principales vaut : I(F) = λ1 + . . . + λq . Exemple des 6 patients : res <- PCA(X,graph=FALSE) res$eig ## eigenvalue percentage of variance cumulative percentage of variance ## comp 1 1.58 53 53 ## comp 2 1.05 35 88 ## comp 3 0.37 12 100 Chapitre 1 ACP 36/64 Plan 1 Notions de base 2 Analyse du nuage des individus 3 Analyse du nuage des variables 4 Interprétation des résultats 5 ACP avec métriques Chapitre 1 ACP 37/64 3. Analyse du nuage des variables en ACP normée Exemple des 3 variables centées-réduites décrivant les 6 patients. print(t(Z),digits=2) ## Brigitte Marie Vincent Alex Manue Fred ## diast 1.50 -1.50 0.00 -0.50 1.00 -0.50 ## syst 0.48 -2.16 0.24 0.72 0.00 0.72 ## chol 0.78 0.52 1.04 0.26 -0.78 -1.83 Nuage de 3 points de R6 sur l’hypersphère de rayon 1 . Objectif : trouver le plan de projection tel que les angles entre les variables (et donc les corrélations) soient les moins déformés possible. Chapitre 1 ACP 38/64 Projection d’une variable. La projection N-orthogonale d’une variable zj ∈ Rn sur un axe Gα de vecteur directeur uα de norme 1 (i.e. utα Nuα = 1) a pour coordonnée : ajα =< zj , uα >N = (zj )t Nuα . On notera aα ∈ Rp le vecteur des coordonnées des projections des p points-variable sur cet axe : a1α . aα = .. = Zt Nuα apα Exemple des 6 patients : On projette avec la métrique N = 16 I6 les variables centrées-réduites chol, syst et diast sur les axes orthogonaux G1 et G2 de vecteurs directeurs : u1 = 0.87 −2.11 −0.08 0.10 0.67 0.54 , u2 = Chapitre 1 1.30 −0.06 0.90 −0.03 −0.25 −1.85 . ACP 39/64 Les coordonnées des projections sont : 0.81 0.45 1 t 2 t a = Z u1 = , a = Z u2 = 0.91 −0.07 . −0.33 0.92 1.0 chol 0.5 diast 0.0 syst −1.0 −0.5 a2 −1.0 −0.5 0.0 0.5 1.0 a1 Question : Comment ont été déterminés u1 et u2 ? Chapitre 1 ACP 40/64 Recherche des axes de projection des variables On cherche d’abord l’axe G1 de vecteur directeur u1 ∈ Rn qui maximise le carré de la norme du vecteur a1 = Zt Nu1 ∈ Rp : u1 = arg max kZt Nuk2 kukN =1 Avec N = n1 In et la solution u1 est le vecteur propre associé à la plus grand valeur propre λ1 de la matrice n1 ZZt (qui est aussi la valeur propre de la matrice R = n1 Zt Z). On cherche ensuite l’axe G2 de vecteur directeur u2 ⊥N u1 qui maximise le carré de la norme du vecteur a2 = Zt Nu2 : u2 = arg max kukN =1,u2 ⊥N u1 kZt Nuk2 La solution u2 est le vecteur propre associé à la seconde plus grand valeur propre λ2 de la matrice n1 ZZt . Chapitre 1 ACP 41/64 Finalement, on construit q axes de vecteurs directeurs u1 , . . . , uq et on obtient la matrice A de dimension p × q des coordonnées des variables sur ces axes : A = Zt NU 1 ... 1 . . . j . . . p ... norme ... α ... q Les éléments ajα sont appelés : - coordonnées factorielles des variables, . . . ajα . . . √ λα - loadings des variables. ... On démontrera la relation suivante qui est fondamentale pour interpréter les résultats : ... ajα = cor (xj , f α ) Chapitre 1 ACP 42/64 Exemple des 6 patients : res <- PCA(X,graph=FALSE) A <- res$var$coord print(A,digits=2) ## Dim.1 Dim.2 Dim.3 ## diast 0.81 0.455 -0.38 ## syst 0.91 -0.067 0.42 ## chol -0.33 0.917 0.22 plot(res,choix="var", cex=1.8, title="Projection des 3 variables sur le plan 1-2") 1.0 Projection des 3 variables sur le plan 1−2 0.0 diast syst −1.0 −0.5 Dim 2 (35.07%) 0.5 chol −1.0 −0.5 0.0 0.5 1.0 Dim 1 (52.69%) Chapitre 1 ACP 43/64 ACP 44/64 Plan 1 Notions de base 2 Analyse du nuage des individus 3 Analyse du nuage des variables 4 Interprétation des résultats 5 ACP avec métriques Chapitre 1 4. Interprétation des résultats Qualité de la réduction de dimension. On mesure la qualité des q premières composantes principales par le pourcentage de l’inertie des données qu’elles expliquent. Inertie des données : I(Z) = λ1 + . . . + λr . Cette inertie vaut p en ACP normée et s12 + . . . + sp2 en ACP non normée. Inertie des q ≤ r premières composantes principales : I(F) = λ1 + . . . + λq ≤ I(Z). Part d’inertie expliquée par la αème composante principale. λα . λ1 + . . . + λr Part d’inertie expliquée par les q premières composantes principales. λ1 + . . . + λq . λ1 + . . . + λr Chapitre 1 ACP 45/64 Exemple des 6 patients. Données brutes (p = 3 et n=6) ## ## ## ## ## ## ## Brigitte Marie Vincent Alex Manue Fred Réduction aux deux premières CP ## ## ## ## ## ## ## diast syst chol 90 140 6.0 60 85 5.9 75 135 6.1 70 145 5.8 85 130 5.4 70 145 5.0 Dim.1 Dim.2 Brigitte 1.10 1.334 Marie -2.66 -0.057 Vincent -0.10 0.918 Alex 0.13 -0.035 Manue 0.85 -0.257 Fred 0.68 -1.903 Quelle est la qualité de cette réduction ? res$eig ## eigenvalue percentage of variance cumulative percentage of variance ## comp 1 1.58 53 53 ## comp 2 1.05 35 88 ## comp 3 0.37 12 100 - r = 3 valeurs propres non nulles car r = min(n − 1, p) = 3, - La somme des valeurs propres vaut p = 3 (l’inertie totale), - 88 % de l’inertie est expliquée par les deux premières CP. Chapitre 1 ACP 46/64 Combien de composantes retenir ? On peut choisir le nombre q de composantes à retenir en fonction d’un pourcentage d’inertie fixé a priori. On peut choisir de retenir les composantes apportant une inertie λα supérieure à l’inertie moyenne par variable. En ACP normée, l’inertie moyenne par variable vaut 1, et on choisit q tel que λq > 1 et λq+1 < 1. C’est la règle de Kaiser. Visualiser l’histogramme des valeurs prores (qui n’est pas un histogramme) et chercher une "cassure". Pour quantifier cette cassure, on peut utiliser la règle du coude : i. calculer les différence premières : 1 = λ1 − λ2 , 2 = λ2 − λ2 , ... ii. calculer les différence secondes : δ1 = 1 − 2 , δ2 = 2 − 2 , ... iii. retenir le nombre q tel que δ1 , . . . , δq−1 soient toutes positives et que δq soit négative. Choisir le nombre de composantes en fonction d’un critère de stabilité estimé par des approches bootstrap ou de validation croisée. Chapitre 1 ACP 47/64 Exemple des 6 patients. ## eigenvalue percentage of variance cumulative percentage of variance ## comp 1 1.58 53 53 ## comp 2 1.05 35 88 ## comp 3 0.37 12 100 Ebouli des valeurs propres - 88% d’inertie expliquée avec q = 2 composantes. 1.5 - Règle de Kaiser : deux valeurs propres plus grandes que 1. 1.0 - Règle du coude : "cassure" après 2 composantes. 0.5 On peut choisir de retenir q = 2 composantes principales pour résumer les données décrites sur p = 3 variables. comp 3 comp 2 comp 1 0.0 Chapitre 1 ACP 48/64 4.1 Interprétation des plans factorielles des individus Qualité de la projection des individus. Si deux individus sont bien projetés, alors leur distance en projection est proche de leur distance dans Rp . On mesure la qualité de la projection d’un individu i sur l’axe ∆α par le carré du cosinus de l’angle θiα entre le vecteur zi et l’axe ∆α : 2 fiα cos (θiα ) = kzi k2 2 On mesure la qualité de la projection d’un individu i sur le plan (∆α , ∆α0 ) par le carré du cosinus de l’angle θi(α,α0 ) entre le vecteur zi et sa projection orthogonale sur (∆α , ∆α0 ) : cos2 (θi(α,α0 ) ) = 2 2 fiα + fiα 0 2 kzi k Plus la valeur du cos2 est proche de 1, meilleure est la qualité de la représentation de l’individu. Chapitre 1 ACP 49/64 Exemple des 6 patients. cos2 avec les axes Coordonnées factorielles des patients res$ind$cos2[,1:2] ## ## ## ## ## ## ## Dim.1 Brigitte 1.10 Marie -2.66 Vincent -0.10 Alex 0.13 Manue 0.85 Fred 0.68 Dim.2 1.334 -0.057 0.918 -0.035 -0.257 -1.903 ## ## ## ## ## ## ## Brigitte Marie Vincent Alex Manue Fred Dim.1 0.3907 0.9812 0.0094 0.0200 0.4462 0.1137 Dim.2 0.57504 0.00045 0.73386 0.00148 0.04094 0.88080 Retrouver que le cos2 entre "Marie" et le premier axe vaut 0.98. Calculer ensuite le cos2 entre "Marie" le premier plan factoriel. #distances des individus à l'origine res$ind$dist ## Brigitte ## 1.76 Marie 2.68 Vincent 1.07 Alex 0.92 Manue 1.27 Chapitre 1 Fred 2.03 ACP 50/64 ## [1] "Qualité de projection des individus sur le plan" ## Fred Marie Brigitte Vincent Manue Alex ## 0.994 0.982 0.966 0.743 0.487 0.022 Les 4 individus les mieux projetés Brigitte 0 Marie −2 −1 Dim 2 (35.07%) 1 Vincent Fred −3 −2 −1 0 1 Dim 1 (52.69%) Interpréter les distances entre les patients sur ce plan. Chapitre 1 ACP 51/64 Contribution des individus. Les individus qui contribuent de manière excessive à la construction des axes sont source d’instabilité. Pour savoir si un individu contribue à un axe, on évalue la part de l’inertie de l’axe expliquée par cet individu. L’inertie sur l’axe ∆α est λα = Pn i=1 2 wi fiα avec souvent wi = n1 . La contribution relative d’un individu i à l’axe ∆α est Ctr (i, α) = 2 wi fiα . λα La contribution relative d’un individu i au plan (∆α , ∆0α ) est 2 2 wi fiα + wi fiα 0 Ctr (i, (α, α )) = . λ α + λ α0 0 Si les poids wi des individus sont tous identiques (wi = individus excentrés sont ceux qui contribuent le plus. Chapitre 1 ACP 1 n par exemple), les 52/64 Exemple des patients. Coordonnées factorielles des patients ## ## ## ## ## ## ## Contributions des patients aux axes res$ind$contrib[,1:2] Dim.1 Dim.2 Brigitte 1.10 1.334 Marie -2.66 -0.057 Vincent -0.10 0.918 Alex 0.13 -0.035 Manue 0.85 -0.257 Fred 0.68 -1.903 ## ## ## ## ## ## ## Deux premières valeurs propres Dim.1 Dim.2 Brigitte 12.75 28.186 Marie 74.44 0.052 Vincent 0.11 13.352 Alex 0.18 0.020 Manue 7.59 1.046 Fred 4.93 57.345 ## comp 1 comp 2 ## 1.6 1.1 - Retrouver que la contribution de "Marie" à l’inertie du premier axe vaut 74.4%. Calculer ensuite la contribution de "Marie" au premier plan principal. - Vérifier que pour chaque composante, la somme des contributions relative vaut 1. Chapitre 1 ACP 53/64 ## [1] "Contribution des patients au premier plan principal" ## Marie Fred Brigitte Vincent Manue Alex ## 44.71 25.87 18.92 5.40 4.98 0.11 Les 3 individus qui contribuent le plus 0 −1 Marie −2 Dim 2 (35.07%) 1 Brigitte Fred −3 −2 −1 0 1 Dim 1 (52.69%) Chapitre 1 ACP 54/64 4.2 Interprétation du cercle de corrélation Si deux variables sont bien projetées, alors leur angle en projection est proche de leur angle dans Rn . Sachant que la corrélation entre deux variables est le cosinus de l’angle entre les variables centrées-réduites : un angle de 90° correspond à une corrélation nulle, un angle nul (res. de 180°) correspond à une corrélation de 1 (res. de -1). Chapitre 1 ACP 55/64 Qualité de la projection des variables. On mesure la qualité de la projection d’une variable j sur l’axe Gα par le carré du cosinus de l’angle θjα entre le vecteur zj et l’axe Gα : cos2 (θjα ) = 2 ajα 2 = ajα j 2 kz k On mesure la qualité de la projection d’une variable j sur le plan (Gα , Gα0 ) par le carré du cosinus de l’angle θj(α,α0 ) entre le vecteur zj et sa projection orthogonale sur (Gα , Gα0 ) : 2 2 cos2 (θj(α,α0 ) ) = ajα + ajα 0. cos2 (θj(α,α0 ) ) est donc la "longueur de la flèche". p Plus la flèche est proche du cercle, meilleure est la qualité de la représentation de la variable. Chapitre 1 ACP 56/64 Exemple des 3 variables décrivant les patients. cos2 avec les axes Coordonnées factorielles des variables ## Dim.1 Dim.2 ## diast 0.65 0.2068 ## syst 0.82 0.0045 ## chol 0.11 0.8410 ## Dim.1 Dim.2 ## diast 0.81 0.455 ## syst 0.91 -0.067 ## chol -0.33 0.917 1.0 Cercle des corrélations 0.0 diast syst −1.0 −0.5 Dim 2 (35.07%) 0.5 chol −1.0 −0.5 0.0 0.5 1.0 Dim 1 (52.69%) Interpréter ce cercle des corrélations. Chapitre 1 ACP 57/64 Contribution des variables. Les contributions des variables aux axes permettent de donner une interprétation aux axes. Pour savoir si une variable contribue à un axe, on évalue la part de l’inertie de l’axe expliquée par la variables. L’inertie sur l’axe Gα est λα = Pp j=1 2 ajα . La contribution relative d’une variable j à l’axe Gα est 2 ajα Ctr (j, α) = . λα La contribution relative d’une variable j au plan (Gα , Gα0 ) est 2 2 ajα + ajα 0 Ctr (j, (α, α )) = . 0 λα + λα 0 Chapitre 1 ACP 58/64 Exemple des 3 variables décrivant les patients. Contributions des 3 variables aux 2 axes : ## Dim.1 Dim.2 ## diast 41 19.65 ## syst 52 0.42 ## chol 7 79.92 Contibutions dim1 Contibutions dim2 50 40 60 30 40 20 20 10 diast chol chol diast Chapitre 1 syst 0 syst 0 ACP 59/64 4.3 Interprétation du plan factoriel des individus à partir du cercle des corrélations. ajα = cor (xj , f α ) 1.0 ## Dim.1 Dim.2 ## diast 0.81 0.455 ## syst 0.91 -0.067 ## chol -0.33 0.917 chol Manue 0.0 Dim 2 (35.07%) 0 Alex Marie diast syst −2 −0.5 −1 Dim 2 (35.07%) 0.5 1 Brigitte Vincent −1.0 Fred −3 −2 −1 0 1 −1.0 Dim 1 (52.69%) −0.5 0.0 0.5 1.0 Dim 1 (52.69%) Interpreter la position des patients (gauche, doite, haut, bas) en fonction des variables. Chapitre 1 ACP 60/64 Plan 1 Notions de base 2 Analyse du nuage des individus 3 Analyse du nuage des variables 4 Interprétation des résultats 5 ACP avec métriques Chapitre 1 ACP 61/64 4. ACP avec métriques Soit Z une matrice réelle de dimension n × p. Soit N (resp. M) la matrice diagonale des poids des n lignes (resp. des poids des p colonnes). Décomposition en Valeurs Singulières Généralisée La DVSG de Z avec les métriques N sur Rn et M sur Rp donne la décomposition Z = UΛVt où (1) √ √ - Λ = diag( λ1 , . . . , λr ) est la matrice diagonale des valeurs singulières de ZMZt N et Zt NZM, avec r le rang Z, - U est la matrice n n × r des vecteurs propres de ZMZt N avec Ut NU = Ir - V est la matrice p × r des r vecteurs propres de Zt NZM avec Vt MV = Ir . Chapitre 1 ACP 62/64 Composantes principales. Les n lignes de Z sont projetées selon la métrique M sur les axes de vecteurs directeurs v1 , . . . , vr de Rp obtenus en résolvant la séquence (indexée par i) des problèmes d’optimisation : maximize subject to kZMvi k2N vit Mvj = 0 vit Mvi = 1. (2) ∀1 ≤ j < i, Les solutions v1 , . . . , vr sont les vecteurs propres de Zt NZM soit les vecteurs singuliers de droite dans (1). Les coordonnées des projections des n lignes de Z sur ces r axes sont les coordonnées factorielles des individus. On note F la matrice n × r des coordonnées factorielle des individus. Par définition : et on déduit de (1) que : F = ZMV, (3) F = UΛ. (4) Soit fi = ZMvi la ième colonne de F. La colonne fi ∈ Rn est appellée la ième composante principale et la solution de (2) donne kfi k2N = λi . Chapitre 1 ACP 63/64 Loadings. Les p colonnes de Z sont projetées selon la métrique N sur les axes de vecteurs directeurs u1 , . . . , ur obtenus en résolvant la séquence (indexée par i) des problèmes d’optimisation : maximize subject to kZt Nui k2M uti Nuj = 0 uti Nui = 1. (5) ∀1 ≤ j < i, Les solutions u1 , . . . , ur sont les vecteurs propres de ZMZt N soit les vecteurs singuliers de gauche dans (1). Les coordonnées des projections des p columns de Z sur ces r axes sont les coordonnées factorielles des variables encore appelées loadings des variables. On note A la matrice p × r des coordonnées factorielles des variables. Par définition : A = Zt NU, (6) et on déduit de (1) que : A = VΛ. (7) Soit ai = Zt Nui la ième colonne de A. La colonne ai ∈ Rp est appellée le ième vecteur de loadings and la solution de (5) donne kai k2M = λi . Chapitre 1 ACP 64/64