Chapitre I Analyse en Composantes Principales...

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

Transcript of Chapitre I Analyse en Composantes Principales...

Page 1: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 2: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 3: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 4: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 5: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 6: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 7: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 8: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

- 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

Page 9: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 10: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 11: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 12: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 13: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 14: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 15: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 16: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

−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

Page 17: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 18: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 19: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 20: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 21: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 22: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 23: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 24: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 25: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 26: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 27: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 28: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 29: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 30: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 31: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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

Page 32: Chapitre I Analyse en Composantes Principales (ACP)mchave100p/wordpress/wp-content/uploads/2013/... · 1.1 Nuage des individus Nuage des n=6 individus de R^3 60 65 70 75 80 85 90

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