Vous êtes sur la page 1sur 32

Chapitre I

Analyse 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 sur
p variables.

1 ... j ... p
1
. .
. .
. .
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.
   
xi1 x1j
 ..  . 
x i =  .  ∈ Rp xj =  ..  ∈ Rn

xip xnj
la description du i ème individu la description de la j ème
(ligne de X) variable (colonne de X).
Chapitre 1 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)

## 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

Vincent
Brigitte

Alex

6.2
6.0
Marie
5.8 Manue

syst
chol

150
5.6

Fred
140
130
5.4

120
110
5.2

100
90
5.0

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 :
1
- wi = n
pour des tirage aléatoire par exemple.
1
- wi 6= n
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 Matrice Y des données centrées
1 ... j ... p 1 ... j ... p
1 1
. . . .
. . . .
. . . .
i ... xij ... i ... yij ...
. . . .
. . . .
. . . .
n n
x̄ ... x̄ j ... ȳ ... 0 ...

avec dans le cas classique où wi = 1


n
:
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)
## diast syst chol
## Brigitte 90 140 6.0 ## diast syst chol
## Marie 60 85 5.9 ## Brigitte 15 10 0.3
## Vincent 75 135 6.1 ## Marie -15 -45 0.2
## Alex 70 145 5.8 ## Vincent 0 5 0.4
## Manue 85 130 5.4 ## Alex -5 15 0.1
## Fred 70 145 5.0 ## Manue 10 0 -0.3
## Fred -5 15 -0.7
# moyennes des colonnes
moy <- apply(X,2,mean) #moyennes des colonnes de Y
print(moy,digits=3) round(apply(Y,2,mean),digit=1)

## diast syst chol ## diast syst chol


## 75.0 130.0 5.7 ## 0 0 0

Chapitre 1 ACP 8/64


Nuage centré des 6 individus

Vincent
Brigitte

Alex

0.4
Marie

0.2
Manue

0.0
Fred

syst
chol

−0.2
20
10
0
−0.4

−10
−20
−0.6

−30
−40
−0.8

−50
−15 −10 −5 0 5 10 15

diast

Translation du nuage de points-individus.

Chapitre 1 ACP 9/64

Matrice X des données brutes Matrice Z des données centrées-réduites


1 ... j ... p 1 ... j ... p
1 1
. . . .
. . . .
. . . .
i ... xij ... i ... zij ...
. . . .
. . . .
. . . .
n n
x̄ ... x̄ j ... z̄ ... 0 ...
s ... sj ... s ... 1 ...

avec dans le cas classique où wi = 1


n
:
Pn
sj2 = var (xj ) = 1
n i=1
(xij − x̄ j )2 ,
xij −x̄ j
zij = 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
Pp 1 sont modifiées.
Montrer que d (zi , zi 0 ) = j=1 s 2 (xij − xi 0 j )2 .
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,"/")
## diast syst chol print(Z)
## Brigitte 90 140 6.0
## Marie 60 85 5.9 ## diast syst chol
## Vincent 75 135 6.1 ## Brigitte 1.5 0.48 0.78
## Alex 70 145 5.8 ## Marie -1.5 -2.16 0.52
## Manue 85 130 5.4 ## Vincent 0.0 0.24 1.04
## Fred 70 145 5.0 ## Alex -0.5 0.72 0.26
## Manue 1.0 0.00 -0.78
moy <- apply(X,2,mean) ## Fred -0.5 0.72 -1.83
s <- apply(X,2,sd)*sqrt(5/6) #standard deviation
stat <- rbind(moy,s) #moyennes et écarts-types des colonnes de Z
rownames(stat) <- c("moyenne","écart-type") round(apply(Z,2,mean),digit=1)
print(stat,digits=3)
## diast syst chol
## diast syst chol ## 0 0 0
## moyenne 75 130.0 5.700
## écart-type 10 20.8 0.383 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

Vincent
Brigitte

Alex
1.5
1.0

Marie
0.5

Manue
0.0
chol

syst

Fred
−0.5

1.0
0.5
0.0
−1.0

−0.5
−1.0
−1.5

−1.5
−2.0
−2.0

−2.5
−1.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.

données brutes données centrées données centrées−réduites


8

8
6

6
4

4
chol

chol

chol
syst

syst

syst
2

2
150 150 150
100 100 100
0

0
50 50 50
0 0 0
−2

−2

−2
−50 −50 −50
−20 0 20 40 60 80 100 −20 0 20 40 60 80 100 −20 0 20 40 60 80 100
diast diast 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 :
p
X
kxi k2M = mj xij2
j=1
p
X
2
dM (xi , xi 0 ) = mj (xij − xi 0 j )2
j=1

Chapitre 1 ACP 14/64


- Si on donne le même poids à toutes les variables, M = Ip et
p
X
dI2p (xi , xi 0 ) = (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
1 p

p
X 1
dM (xi , xi 0 ) =
2
(xij − xi 0 j )2 = dI2p (zi , zi 0 )
sj2
j=1

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

## diast syst chol ## diast syst chol


## Brigitte 90 140 6.0 ## Brigitte 1.5 0.48 0.78
## Marie 60 85 5.9 ## Marie -1.5 -2.16 0.52
## Vincent 75 135 6.1 ## Vincent 0.0 0.24 1.04
## Alex 70 145 5.8 ## Alex -0.5 0.72 0.26
## Manue 85 130 5.4 ## Manue 1.0 0.00 -0.78
## Fred 70 145 5.0 ## Fred -0.5 0.72 -1.83

print(stat[2,],digits=3) #écarts-types

## diast syst chol


## 10.000 20.817 0.383

Distance euclidienne simple entre les deux premières lignes de X :


p
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 :


p
dI3 (z1 , z2 ) = (1.5 + 1.5)2 + (0.48 + 2.16)2 + (0.78 − 0.52)2 = 4.006
r
1 1 1
= (90 − 60) 2 + (140 − 85)2 + (6 − 5.9)2
10 2 20.8 2 0.383 2

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 :
n
X
I(X) = 2
wi dM (xi , x̄).
i=1

Pour une métrique diagonale M = diag(m1 , . . . , mp ) on a :


p
X
I(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

## diast syst chol ## diast syst chol


## Brigitte 15 10 0.3 ## Brigitte 1.5 0.48 0.78
## Marie -15 -45 0.2 ## Marie -1.5 -2.16 0.52
## Vincent 0 5 0.4 ## Vincent 0.0 0.24 1.04
## Alex -5 15 0.1 ## Alex -0.5 0.72 0.26
## Manue 10 0 -0.3 ## Manue 1.0 0.00 -0.78
## Fred -5 15 -0.7 ## Fred -0.5 0.72 -1.83

print(s,digits=2) # écart-types apply(Z,2,sd)*sqrt(5/6) # écart-types

## diast syst chol ## diast syst chol


## 10.00 20.82 0.38 ## 1 1 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 ) =
j
(xij − x̄ j )2 = kyj k2N
n
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 :
n
1X 0
cjj 0 = (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] :
n 0
1 X xij − x̄ j xij 0 − x̄ j
rjj 0 = ( )( )
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
< yj , yj >N j0
rjj 0 = j 0 = cos θN (y j
, y ).
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
Brigitte Vincent
1

Alex
1.5

Dim 2 (35.07%)
1.0

Marie Marie Alex


Manue
0.5

Manue
0.0
chol

Fred
−1
syst
−0.5

1.0
0.5
0.0
−1.0

−0.5
−1.0
−1.5

−2

−1.5 Fred
−2.0
−2.0

−2.5
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5

−3 −2 −1 0 1
diast
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


directeur vα de norme 1 (i.e. vα
t
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 :
p
X
f = Zvα =
α
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 0.48 0.78
−1.50
 −2.16 0.52 

 0.00 0.24 1.04 
Z= 
−0.50
 0.72 0.26 
 1.00 0.00 −0.78
−0.50 0.72 −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.641 0.4433
   
v1 =  0.72  , v2 = −0.0652 .
−0.265 0.894

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
Alex

0.5
1.5

Marie Alex
1.0

0.0
Marie Manue
0.5

Manue

f2

−0.5
0.0
chol

Fred

syst
−0.5

1.0

−1.0
0.5
0.0
−1.0

−0.5

−1.5
−1.0
−1.5

−1.5
−2.0
Fred
−2.0

−2.5

−2.0
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5

−2 −1 0 1
diast
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 var (Zv)


v∈Rp ,kvk=1

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 var (Zv)


kvk=1,v⊥v1

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 ... α ... q Les éléments fiα sont appelés :


1
- coordonnées factorielles des
. .
. . individus,
. .
i ... fiα ... - scores des individus sur les
. . composantes principales,
. .
. .
n Les colonnes

moy ... 0 ... f α = Zvα


var ... λα ...
sont les nouvelles variables appelées les
composantes principales.

Chapitre 1 ACP 34/64


Exemple des 6 patients :

res <- PCA(X, ncp=2, graph=FALSE) plot(res,cex=1.8, cex.main=1.8,


F <- res$ind$coord title="Projection patients sur le plan 1-2")
print(F,digits=2)

## Dim.1 Dim.2 Projection patients sur le plan 1−2


## Brigitte 1.10 1.334
## Marie -2.66 -0.057 Brigitte
## Vincent -0.10 0.918
Vincent

1
## Alex 0.13 -0.035
## Manue 0.85 -0.257
## Fred 0.68 -1.903
Alex

Dim 2 (35.07%)

0
Marie
Manue

−1
−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 :    
0.87 1.30
−2.11 −0.06
−0.08 0.90
   
u1 =  , u2 =  .
 0.10   −0.03 
0.67 −0.25
0.54 −1.85

Chapitre 1 ACP 39/64

Les coordonnées des projections sont :

0.81 0.45
   
a = Z u1 =
1 t  0.91  , a = Z u2 =
2 t  −0.07  .
−0.33 0.92
1.0

chol

diast
0.5

syst
0.0
a2

−0.5
−1.0

−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 kZt Nuk2


kukN =1,u2 ⊥N u1

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 ... α ... q Les éléments ajα sont appelés :


1
- coordonnées factorielles des
. .
. . variables,
. .
j ... ajα ... - loadings des variables.
. .
. .
. .
On démontrera la relation suivante qui est
p fondamentale pour interpréter les

norme ... λα ... 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")

Projection des 3 variables sur le plan 1−2

1.0
0.5 chol

diast
Dim 2 (35.07%)

0.0

syst
−0.5
−1.0

−1.0 −0.5 0.0 0.5 1.0

Dim 1 (52.69%)

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 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) Réduction aux deux premières CP

## diast syst chol ## Dim.1 Dim.2


## Brigitte 90 140 6.0 ## Brigitte 1.10 1.334
## Marie 60 85 5.9 ## Marie -2.66 -0.057
## Vincent 75 135 6.1 ## Vincent -0.10 0.918
## Alex 70 145 5.8 ## Alex 0.13 -0.035
## Manue 85 130 5.4 ## Manue 0.85 -0.257
## Fred 70 145 5.0 ## 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
1.5
composantes.
- Règle de Kaiser : deux valeurs propres plus
1.0 grandes que 1.
- Règle du coude : "cassure" après 2
0.5
composantes.

0.0
On peut choisir de retenir q = 2 composantes
principales pour résumer les données décrites sur
comp 1

comp 2

comp 3

p = 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 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α ) =
2
kzi k2

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 ) :
2
fiα + fiα2
0
cos2 (θi(α,α0 ) ) =
kzi k2

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.


Coordonnées factorielles des cos2 avec les axes
patients
res$ind$cos2[,1:2]
## Dim.1 Dim.2
## Brigitte 1.10 1.334 ## Dim.1 Dim.2
## Marie -2.66 -0.057 ## Brigitte 0.3907 0.57504
## Vincent -0.10 0.918 ## Marie 0.9812 0.00045
## Alex 0.13 -0.035 ## Vincent 0.0094 0.73386
## Manue 0.85 -0.257 ## Alex 0.0200 0.00148
## Fred 0.68 -1.903 ## 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 le
cos2 entre "Marie" le premier plan factoriel.

#distances des individus à l'origine


res$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

Les 4 individus les mieux projetés

Brigitte
Vincent

1
Dim 2 (35.07%)

0
Marie
−1
−2

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.
Pn
L’inertie sur l’axe ∆α est λα = i=1
2
wi fiα avec souvent wi = n1 .
La contribution relative d’un individu i à l’axe ∆α est
2
wi fiα
Ctr (i, α) = .
λα

La contribution relative d’un individu i au plan (∆α , ∆0α ) est


2
wi fiα
0 + wi fiα
2
0
Ctr (i, (α, α )) = .
λ α + λ α0

Si les poids wi des individus sont tous identiques (wi = 1


n
par exemple), les
individus excentrés sont ceux qui contribuent le plus.

Chapitre 1 ACP 52/64


Exemple des patients.

Coordonnées factorielles des Contributions des patients aux


patients axes

## Dim.1 Dim.2 res$ind$contrib[,1:2]


## Brigitte 1.10 1.334
## Marie -2.66 -0.057 ## Dim.1 Dim.2
## Vincent -0.10 0.918 ## Brigitte 12.75 28.186
## Alex 0.13 -0.035 ## Marie 74.44 0.052
## Manue 0.85 -0.257 ## Vincent 0.11 13.352
## Fred 0.68 -1.903 ## Alex 0.18 0.020
## Manue 7.59 1.046
Deux premières valeurs propres ## 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

Brigitte
1
Dim 2 (35.07%)

Marie
−1
−2

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α :
2
ajα
cos2 (θjα ) = = ajα
2
kz k
j 2

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 ) :

cos2 (θj(α,α0 ) ) = ajα


2
+ ajα
2
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.
Coordonnées factorielles des cos2 avec les axes
variables
## Dim.1 Dim.2
## Dim.1 Dim.2 ## diast 0.65 0.2068
## diast 0.81 0.455 ## syst 0.82 0.0045
## syst 0.91 -0.067 ## chol 0.11 0.8410
## chol -0.33 0.917
Cercle des corrélations

1.0
chol

0.5
diast

Dim 2 (35.07%)

0.0
syst
−0.5
−1.0

−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.
Pp
L’inertie sur l’axe Gα est λα = 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
ajα + ajα
2
0 0
Ctr (j, (α, α )) = .
λα + λα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

0 0
syst

diast

chol

chol

diast

syst
Chapitre 1 ACP 59/64

4.3 Interprétation du plan factoriel des individus à partir du cercle


des 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
1.0

chol
Brigitte
Vincent
1

0.5

diast
Dim 2 (35.07%)

Dim 2 (35.07%)

Alex
0

Marie Manue
0.0

syst
−1

−0.5
−2

Fred
−1.0

−3 −2 −1 0 1 −1.0 −0.5 0.0 0.5 1.0

Dim 1 (52.69%) 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 (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 kZMvi k2N


subject to vit Mvj = 0 ∀1 ≤ j < i, (2)
vit Mvi = 1.

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 :

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è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 kZt Nui k2M


subject to uti Nuj = 0 ∀1 ≤ j < i, (5)
uti Nui = 1.

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