Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
Chapitre IAnalyse en Composantes Principales (ACP)
Master MMAS - Université de Bordeaux
Marie Chavent
Chapitre 1 ACP 1/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 2/64
1. Notions de base
On considère un tableau de données numériques où n individus sont décrits surp variables.
1 . . . j . . . p1...
...i . . . xij . . .
......
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.
xi =
xi1...
xip
∈ Rp
la description du i ème individu(ligne de X)
xj =
x1j...
xnj
∈ Rn
la description de la jème
variable (colonne de X).Chapitre 1 ACP 3/64
Exemple : mesure de la tension arterielle diastolique, systolique et du taux decholestérol de 6 patients.
load("chol.RData")print(X)
## 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
n = 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
60 65 70 75 80 85 90
5.0
5.2
5.4
5.6
5.8
6.0
6.2
80
90
100
110
120
130
140
150
diast
syst
chol
Brigitte
Marie
Vincent
Alex
Manue
Fred
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 = 1n pour des tirage aléatoire par exemple.
- wi 6= 1n 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 . . . j . . . p1...
...i . . . xij . . .
......
nx . . . x j . . .
Matrice Y des données centrées
1 . . . j . . . p1...
...i . . . yij . . .
......
ny . . . 0 . . .
avec dans le cas classique où wi = 1n :
x j = 1n
∑ni=1 xij ,
yij = xij − x j .
- Le nuage centré des points-individus a pour centre de gravité l’origine durepère.Montrez que yj = 0 pour tout j = 1, . . . , p.
- Les distances entre les points-individus sont conservées.Montrez que d2(xi , xi′ ) = d2(yi , yi′ ).
Chapitre 1 ACP 7/64
Matrice X des données brutesprint(X)
## 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
# moyennes des colonnesmoy <- apply(X,2,mean)print(moy,digits=3)
## diast syst chol## 75.0 130.0 5.7
Matrice Y des données centréesY <- sweep(X,2,moy,"-")print(Y)
## diast syst chol## Brigitte 15 10 0.3## Marie -15 -45 0.2## Vincent 0 5 0.4## Alex -5 15 0.1## Manue 10 0 -0.3## Fred -5 15 -0.7
#moyennes des colonnes de Yround(apply(Y,2,mean),digit=1)
## diast syst chol## 0 0 0
Chapitre 1 ACP 8/64
Nuage centré des 6 individus
−15 −10 −5 0 5 10 15
−0.
8−
0.6
−0.
4−
0.2
0.0
0.2
0.4
−50
−40
−30
−20
−10
0
10
20
diast
syst
chol
Brigitte
Marie
Vincent
Alex
Manue
Fred
Translation du nuage de points-individus.
Chapitre 1 ACP 9/64
Matrice X des données brutes
1 . . . j . . . p1...
...i . . . xij . . .
......
nx . . . x j . . .s . . . sj . . .
Matrice Z des données centrées-réduites
1 . . . j . . . p1...
...i . . . zij . . .
......
nz . . . 0 . . .s . . . 1 . . .
avec dans le cas classique où wi = 1n :
s2j = var(xj ) = 1n
∑ni=1(xij − x j )2,
zij = xij−x j
sj.
- 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.Montrer que d2(zi , zi′ ) =
∑pj=1
1s2j
(xij − xi′j )2.
Chapitre 1 ACP 10/64
Matrice X des données brutesprint(X)
## 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 deviationstat <- rbind(moy,s)rownames(stat) <- c("moyenne","écart-type")print(stat,digits=3)
## diast syst chol## moyenne 75 130.0 5.700## écart-type 10 20.8 0.383
Matrice Z des données centrées-réduites
Z <- sweep(Y,2,s,"/")print(Z)
## diast syst chol## Brigitte 1.5 0.48 0.78## Marie -1.5 -2.16 0.52## Vincent 0.0 0.24 1.04## Alex -0.5 0.72 0.26## Manue 1.0 0.00 -0.78## Fred -0.5 0.72 -1.83
#moyennes et écarts-types des colonnes de Zround(apply(Z,2,mean),digit=1)
## diast syst chol## 0 0 0
round(apply(Z,2,sd)*sqrt(4/5),digit=1)
## diast syst chol## 1 1 1
Chapitre 1 ACP 11/64
Nuage centré−réduit des 6 individus
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−2.
0−
1.5
−1.
0−
0.5
0.0
0.5
1.0
1.5
−2.5
−2.0
−1.5
−1.0
−0.5
0.0
0.5
1.0
diast
systch
ol
Brigitte
Marie
Vincent
Alex
Manue
Fred
Translation et "normalisation" du nuage de points-individus.
Chapitre 1 ACP 12/64
En résumé, trois nuages de points-individus.
données brutes
−20 0 20 40 60 80 100−2
0 2
4 6
8
−50 0
50100
150
diast
syst
chol
données centrées
−20 0 20 40 60 80 100−2
0 2
4 6
8
−50 0
50100
150
diast
syst
chol
données centrées−réduites
−20 0 20 40 60 80 100−2
0 2
4 6
8
−50 0
50100
150
diast
syst
chol
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= xtMy
- une norme : ‖x‖M = √< x, x >M
- une distance : dM(x, y) = ‖x− y‖M
On utilise souvent une métrique diagonale M = diag(m1, . . . ,mp) afin depondérer les variables dans le calcul de la distance :
‖xi‖2M =p∑
j=1
mjx2ij
d2M(xi , xi′ ) =
p∑j=1
mj (xij − xi′j )2
Chapitre 1 ACP 14/64
- Si on donne le même poids à toutes les variables, M = Ip et
d2Ip (xi , xi′ ) =
p∑j=1
(xij − xi′j )2 = d2Ip (yi , yi′ )
- Si on donne moins de poids aux variables de forte variance,M = diag( 1
s21, . . . , 1
s2p) et
dM2(xi , xi′ ) =
p∑j=1
1s2j
(xij − xi′j )2 = d2Ip (zi , zi′ )
Centrer-réduire les données permet de donner le même poids à toutes lesvariables dans le calcul de la distance entre deux individus.
Chapitre 1 ACP 15/64
print(X) # données brutes
## 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
print(stat[2,],digits=3) #écarts-types
## diast syst chol## 10.000 20.817 0.383
print(Z,digits=2) # données centrées-réduites
## diast syst chol## Brigitte 1.5 0.48 0.78## Marie -1.5 -2.16 0.52## Vincent 0.0 0.24 1.04## Alex -0.5 0.72 0.26## Manue 1.0 0.00 -0.78## Fred -0.5 0.72 -1.83
Distance euclidienne simple entre les deux premières lignes de X :
dI3(x1, x2) =√
(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) =√
(1.5 + 1.5)2 + (0.48 + 2.16)2 + (0.78− 0.52)2 = 4.006
=√
1102 (90− 60)2 + 1
20.82 (140− 85)2 + 10.3832 (6− 5.9)2
Chapitre 1 ACP 16/64
Inertie du nuage des individus. C’est une mesure de dispersion du nuage des npoints-individus de Rp définie par :
I(X) =n∑
i=1
wi d2M(xi , x).
Pour une métrique diagonale M = diag(m1, . . . ,mp) on a :
I(X) =p∑
j=1
mjvar(xj ).
Et si M = Ip :
- L’inertie I(Y) du nuage centré des individus est égale à la somme desvariances 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
## diast syst chol## Brigitte 15 10 0.3## Marie -15 -45 0.2## Vincent 0 5 0.4## Alex -5 15 0.1## Manue 10 0 -0.3## Fred -5 15 -0.7
print(s,digits=2) # écart-types
## diast syst chol## 10.00 20.82 0.38
sum(s^2) #inertie
## [1] 533
print(Z,digits=2) # données centrées-réduites
## diast syst chol## Brigitte 1.5 0.48 0.78## Marie -1.5 -2.16 0.52## Vincent 0.0 0.24 1.04## Alex -0.5 0.72 0.26## Manue 1.0 0.00 -0.78## Fred -0.5 0.72 -1.83
apply(Z,2,sd)*sqrt(5/6) # écart-types
## diast syst chol## 1 1 1
- 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( 1n , . . . ,
1n ) des poids des
individus, on peut écrire
var(xj ) = 1n
n∑i=1
(xij − x j )2 = ‖yj‖2N
On en déduit que :
- La variance empirique d’une variable j est égale au carré de la norme dela variable centrée.
- La norme d’une variable centrée-réduite zj est égale à 1 :
var(zj ) = ‖zj‖2N = 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′ mesure la liaison entre deux variables j et j ′ :
cjj′ = 1n
n∑i=1
(xij − x j )(xij′ − x j′)
On en déduit que :
- La covariance cjj′ est le produit scalaire entre les variables centrées :
cjj′ =< yj , yj′>N
- La matrice p× p de covariance notée C se calcule matriciellement à partirde la matrice Y des données centrées :
C = YtNY
Chapitre 1 ACP 22/64
Corrélation et cosinus
La corrélation rjj′ est une autre mesure de liaison entre deux variables j et j ′ quiprend ses valeurs dans [−1, 1] :
rjj′ = 1n
n∑i=1
( xij − x j
sj)( xij′ − x j′
sj′)
On en déduit que :
- La corrélation est le cosinus de l’angle entre les variables centrées :
rjj′ = < yj , yj′>N
‖yj‖N‖yj′‖N= cos θN(yj , yj′
).
et le produit scalaire et le cosinus de l’angle entre les variablescentrées-réduites :
rjj′ =< 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 = ZtNZ
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 = 1n 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 vaanalyser 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
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−2.
0−
1.5
−1.
0−
0.5
0.0
0.5
1.0
1.5
−2.5
−2.0
−1.5
−1.0
−0.5
0.0
0.5
1.0
diast
systch
ol
Brigitte
Marie
Vincent
Alex
Manue
Fred
−3 −2 −1 0 1
−2
−1
01
Projection sur le premier plan de l'ACP
Dim 1 (52.69%)
Dim
2 (
35.0
7%)
Brigitte
Marie
Vincent
Alex
Manue
Fred
Objectif : trouver le plan de projection tel que les distances entre les individussoient 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 vecteurdirecteur vα de norme 1 (i.e. vt
α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 dunuage des individus sur cet axe :
fα =
f1α...
fnα
= ZMvα
Chapitre 1 ACP 27/64
- fα est une combinaison linéaire des colonnes de Z. Par exemple, avecM = Ip on a :
fα = Zvα =p∑
j=1
vjαzj
- fα est donc une variable synthétique centrée et donc
var(fα) = 1n
n∑i=1
f 2iα = ‖fα‖2N
Chapitre 1 ACP 28/64
Exemple des 6 patients : La matrice des données centrées-réduites est :
Z =
1.50 0.48 0.78−1.50 −2.16 0.520.00 0.24 1.04−0.50 0.72 0.261.00 0.00 −0.78−0.50 0.72 −1.83
On veut projeter avec la métrique M = I3 les 6 individus du nuagecentré-réduit sur les axes orthogonaux ∆1 et ∆2 de vecteurs directeurs :
v1 =
0.6410.72−0.265
, v2 =
0.4433−0.06520.894
.
Chapitre 1 ACP 29/64
Les coordonnées des projections sont :
f1 = Zv1 = 0.641
1.5...−0.5
+0.72
0.48...
0.72
−0.265 0.78
...−1.82
=
1.09...
0.683
f2 = Zv2 = 0.4433
1.5...−0.5
−0.06520.48
...0.72
−0.894 0.78
...−1.82
=
1.333...−1.9
On peut vérifier que les deux variables synthétiques f1 et f2 sont centrées etnon corrélées.
Chapitre 1 ACP 30/64
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−2.
0−
1.5
−1.
0−
0.5
0.0
0.5
1.0
1.5
−2.5
−2.0
−1.5
−1.0
−0.5
0.0
0.5
1.0
diastsy
stchol
Brigitte
Marie
Vincent
Alex
Manue
Fred
−2 −1 0 1
−2.
0−
1.5
−1.
0−
0.5
0.0
0.5
1.0
f1
f2
Brigitte
Marie
Vincent
Alex
Manue
Fred
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 variancede la variable synthétique f1 = Zv1 ∈ Rn (ici M = Ip) soit maximale :
v1 = arg maxv∈Rp ,‖v‖=1
var(Zv)
On peut montrer que :
- le problème d’optimisation s’écrit :
max‖v‖=1
vtRv,
avec R = 1n ZtZ 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(f1).
Chapitre 1 ACP 32/64
On cherche ensuite l’axe ∆2 de vecteur directeur v2 ⊥ v1 qui maximise lavariance de la variable synthétique f2 = Zv2 :
v2 = arg max‖v‖=1,v⊥v1
var(Zv)
On peut montrer que :
- v2 est le vecteur propre associé à la seconde plus grand valeur propre λ2de R avec
λ2 = var(f2),
- les nouvelles variables synthétiques f1 et f2 sont non corrélées.
Chapitre 1 ACP 33/64
Finalement, on construit q ≤ r (où r est le rang de Z) axes de vecteursdirecteurs v1, . . . , vq et on obtient la matrice F de dimension n × q descoordonnées des individus sur ces axes :
F = ZV
où V est la matrice des q premiers vecteurs propres de la matrice descorrélations R.
1 . . . α . . . q1...
...i . . . fiα . . .
......
nmoy . . . 0 . . .var . . . λα . . .
Les éléments fiα sont appelés :- coordonnées factorielles des
individus,- scores des individus sur les
composantes principales,
Les colonnes
fα = Zvα
sont les nouvelles variables appelées lescomposantes principales.
Chapitre 1 ACP 34/64
Exemple des 6 patients :
res <- PCA(X, ncp=2, graph=FALSE)F <- res$ind$coordprint(F,digits=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
plot(res,cex=1.8, cex.main=1.8,title="Projection patients sur le plan 1-2")
−3 −2 −1 0 1−
2−
10
1
Projection patients sur le plan 1−2
Dim 1 (52.69%)
Dim
2 (
35.0
7%)
Brigitte
Marie
Vincent
AlexManue
Fred
Chapitre 1 ACP 35/64
2.2 Inertie des q premières composantes principales
Les composantes principales (colonnes de F) sont q nouvelles variablessynthé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 composantesprincipales 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 (etdonc 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 vecteurdirecteur uα de norme 1 (i.e. ut
αNuα = 1) a pour coordonnée :
ajα =< zj , uα >N= (zj )tNuα.
On notera aα ∈ Rp le vecteur des coordonnées des projections des ppoints-variable sur cet axe :
aα =
a1α...
apα
= ZtNuα
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 devecteurs directeurs :
u1 =
0.87−2.11−0.080.100.670.54
, u2 =
1.30−0.060.90−0.03−0.25−1.85
.
Chapitre 1 ACP 39/64
Les coordonnées des projections sont :
a1 = Ztu1 =
0.810.91−0.33
, a2 = Ztu2 =
0.45−0.070.92
.
−1.0 −0.5 0.0 0.5 1.0
−1.
0−
0.5
0.0
0.5
1.0
a1
a2
diast
syst
chol
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 = ZtNu1 ∈ Rp :
u1 = arg max‖u‖N=1
‖ZtNu‖2
Avec N = 1n In et la solution u1 est le vecteur propre associé à la plus grand
valeur propre λ1 de la matrice 1n ZZt (qui est aussi la valeur propre de la
matrice R = 1n ZtZ).
On cherche ensuite l’axe G2 de vecteur directeur u2 ⊥N u1 qui maximise lecarré de la norme du vecteur a2 = ZtNu2 :
u2 = arg max‖u‖N=1,u2⊥Nu1
‖ZtNu‖2
La solution u2 est le vecteur propre associé à la seconde plus grand valeurpropre λ2 de la matrice 1
n ZZt .
Chapitre 1 ACP 41/64
Finalement, on construit q axes de vecteurs directeurs u1, . . . , uq et on obtientla matrice A de dimension p × q des coordonnées des variables sur ces axes :
A = ZtNU
1 . . . α . . . q1...
...j . . . ajα . . .
......
pnorme . . .
√λα . . .
Les éléments ajα sont appelés :- coordonnées factorielles des
variables,- loadings des variables.
On démontrera la relation suivante qui estfondamentale pour interpréter lesrésultats :
ajα = cor(xj , fα)
Chapitre 1 ACP 42/64
Exemple des 6 patients :
res <- PCA(X,graph=FALSE)A <- res$var$coordprint(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 −0.5 0.0 0.5 1.0
−1.
0−
0.5
0.0
0.5
1.0
Projection des 3 variables sur le plan 1−2
Dim 1 (52.69%)
Dim
2 (
35.0
7%)
diast
syst
chol
Chapitre 1 ACP 43/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 44/64
4. Interprétation des résultats
Qualité de la réduction de dimension.
On mesure la qualité des q premières composantes principales par lepourcentage 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 s21 + . . .+ s2p 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)
## 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
Réduction aux deux premières CP
## 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’unpourcentage 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’inertiemoyenne 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 unhistogramme) et chercher une "cassure". Pour quantifier cette cassure, onpeut 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
com
p 1
com
p 2
com
p 3
0.0
0.5
1.0
1.5
- 88% d’inertie expliquée avec q = 2composantes.
- Règle de Kaiser : deux valeurs propres plusgrandes que 1.
- Règle du coude : "cassure" après 2composantes.
On peut choisir de retenir q = 2 composantesprincipales pour résumer les données décrites surp = 3 variables.
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 prochede leur distance dans Rp.
On mesure la qualité de la projection d’un individu i sur l’axe ∆α par lecarré du cosinus de l’angle θiα entre le vecteur zi et l’axe ∆α :
cos2(θiα) = f 2iα‖zi‖2
On mesure la qualité de la projection d’un individu i sur le plan(∆α,∆α′ ) par le carré du cosinus de l’angle θi(α,α′) entre le vecteur zi etsa projection orthogonale sur (∆α,∆α′ ) :
cos2(θi(α,α′)) = f 2iα + f 2
iα′
‖zi‖2
Plus la valeur du cos2 est proche de 1, meilleure est la qualité de lareprésentation de l’individu.
Chapitre 1 ACP 49/64
Exemple des 6 patients.Coordonnées factorielles des
patients
## 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
cos2 avec les axes
res$ind$cos2[,1:2]
## Dim.1 Dim.2## Brigitte 0.3907 0.57504## Marie 0.9812 0.00045## Vincent 0.0094 0.73386## Alex 0.0200 0.00148## Manue 0.4462 0.04094## Fred 0.1137 0.88080
Retrouver que le cos2 entre "Marie" et le premier axe vaut 0.98. Calculer ensuite lecos2 entre "Marie" le premier plan factoriel.
#distances des individus à l'origineres$ind$dist
## Brigitte Marie Vincent Alex Manue Fred## 1.76 2.68 1.07 0.92 1.27 2.03
Chapitre 1 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
−3 −2 −1 0 1
−2
−1
01
Les 4 individus les mieux projetés
Dim 1 (52.69%)
Dim
2 (
35.0
7%)
Brigitte
Marie
Vincent
Fred
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 axessont 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 λα =∑n
i=1 wi f 2iα avec souvent wi = 1
n .
La contribution relative d’un individu i à l’axe ∆α est
Ctr(i , α) = wi f 2iα
λα.
La contribution relative d’un individu i au plan (∆α,∆′α) est
Ctr(i , (α, α′)) = wi f 2iα + wi f 2
iα′
λα + λα′.
Si les poids wi des individus sont tous identiques (wi = 1n par exemple), les
individus excentrés sont ceux qui contribuent le plus.
Chapitre 1 ACP 52/64
Exemple des patients.
Coordonnées factorielles despatients
## 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
## comp 1 comp 2## 1.6 1.1
Contributions des patients auxaxes
res$ind$contrib[,1:2]
## 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
- 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
−3 −2 −1 0 1
−2
−1
01
Les 3 individus qui contribuent le plus
Dim 1 (52.69%)
Dim
2 (
35.0
7%)
Brigitte
Marie
Fred
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 prochede leur angle dans Rn.
Sachant que la corrélation entre deux variables est le cosinus de l’angle entreles 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 lecarré du cosinus de l’angle θjα entre le vecteur zj et l’axe Gα :
cos2(θjα) = a2jα
‖zj‖2 = a2jα
On mesure la qualité de la projection d’une variable j sur le plan(Gα,Gα′ ) par le carré du cosinus de l’angle θj(α,α′) entre le vecteur zj etsa projection orthogonale sur (Gα,Gα′ ) :
cos2(θj(α,α′)) = a2jα + a2
jα′ .√cos2(θj(α,α′)) est donc la "longueur de la flèche".
Plus la flèche est proche du cercle, meilleure est la qualité de la représentationde la variable.
Chapitre 1 ACP 56/64
Exemple des 3 variables décrivant les patients.Coordonnées factorielles des
variables
## Dim.1 Dim.2## diast 0.81 0.455## syst 0.91 -0.067## chol -0.33 0.917
cos2 avec les axes
## Dim.1 Dim.2## diast 0.65 0.2068## syst 0.82 0.0045## chol 0.11 0.8410
−1.0 −0.5 0.0 0.5 1.0
−1.
0−
0.5
0.0
0.5
1.0
Cercle des corrélations
Dim 1 (52.69%)
Dim
2 (
35.0
7%)
diast
syst
chol
Interpréter ce cercle des corrélations.
Chapitre 1 ACP 57/64
Contribution des variables.
Les contributions des variables aux axes permettent de donner uneinterpré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 λα =∑p
j=1 a2jα.
La contribution relative d’une variable j à l’axe Gα est
Ctr(j, α) = a2jα
λα.
La contribution relative d’une variable j au plan (Gα,G ′α) est
Ctr(j, (α, α′)) =a2
jα + a2jα′
λα + λ′α.
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
syst
dias
t
chol
Contibutions dim1
0
10
20
30
40
50
chol
dias
t
syst
Contibutions dim2
0
20
40
60
Chapitre 1 ACP 59/64
4.3 Interprétation du plan factoriel des individus à partir du cercledes corrélations.
ajα = cor(xj , fα)## Dim.1 Dim.2## diast 0.81 0.455## syst 0.91 -0.067## chol -0.33 0.917
−3 −2 −1 0 1
−2
−1
01
Dim 1 (52.69%)
Dim
2 (
35.0
7%)
Brigitte
Marie
Vincent
AlexManue
Fred
−1.0 −0.5 0.0 0.5 1.0
−1.
0−
0.5
0.0
0.5
1.0
Dim 1 (52.69%)
Dim
2 (
35.0
7%)
diast
syst
chol
Interpreter la position des patients (gauche, doite, haut, bas) en fonction desvariables.
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 matricediagonale des poids des n lignes (resp. des poids des p colonnes).
Décomposition en Valeurs Singulières GénéraliséeLa DVSG de Z avec les métriques N sur Rn et M sur Rp donne la décomposition
Z = UΛVt (1)
où- Λ = diag(
√λ1, . . . ,
√λr ) est la matrice diagonale des valeurs singulières de
ZMZtN et ZtNZM, avec r le rang Z,- U est la matrice n n × r des vecteurs propres de ZMZtN avec UtNU = Ir
- V est la matrice p × r des r vecteurs propres de ZtNZM avec VtMV = Ir .
Chapitre 1 ACP 62/64
Composantes principales. Les n lignes de Z sont projetées selon la métrique Msur les axes de vecteurs directeurs v1, . . . , vr de Rp obtenus en résolvant laséquence (indexée par i) des problèmes d’optimisation :
maximize ‖ZMvi‖2Nsubject to vt
i Mvj = 0 ∀1 ≤ j < i ,vt
i Mvi = 1.(2)
Les solutions v1, . . . , vr sont les vecteurs propres de ZtNZM soit les vecteurssinguliers de droite dans (1).
Les coordonnées des projections des n lignes de Z sur ces r axes sont lescoordonnées factorielles des individus. On note F la matrice n × r descoordonnées factorielle des individus. Par définition :
F = ZMV, (3)
et on déduit de (1) que :F = UΛ. (4)
Soit fi = ZMvi la ième colonne de F. La colonne fi ∈ Rn est appellée la ièmecomposante principale et la solution de (2) donne ‖fi‖2N = λi .
Chapitre 1 ACP 63/64
Loadings. Les p colonnes de Z sont projetées selon la métrique N sur les axesde vecteurs directeurs u1, . . . , ur obtenus en résolvant la séquence (indexée pari) des problèmes d’optimisation :
maximize ‖ZtNui‖2Msubject to ut
i Nuj = 0 ∀1 ≤ j < i ,ut
i Nui = 1.(5)
Les solutions u1, . . . , ur sont les vecteurs propres de ZMZtN soit les vecteurssinguliers de gauche dans (1).
Les coordonnées des projections des p columns de Z sur ces r axes sont lescoordonnées factorielles des variables encore appelées loadings des variables. Onnote A la matrice p × r des coordonnées factorielles des variables. Pardéfinition :
A = ZtNU, (6)et on déduit de (1) que :
A = VΛ. (7)Soit ai = ZtNui la ième colonne de A. La colonne ai ∈ Rp est appellée le ièmevecteur de loadings and la solution de (5) donne ‖ai‖2M = λi .
Chapitre 1 ACP 64/64