Uploaded by Zime Karim Songbian

acp cours

advertisement
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
Download