60
Pierre Legendre Département de sciences biologiques Université de Montréal http://www.NumericalEcology.com/ 1.1. Analyse en composantes principales © Pierre Legendre 2017

1.1. Analyse en composantes principalesbiol09.biol.umontreal.ca/CoursPL/Ordination_section_1.1_ACP_Fr.pdf · L’analyse en composantes principales (ACP) est une méthode d’ordination

  • Upload
    vankiet

  • View
    231

  • Download
    1

Embed Size (px)

Citation preview

Pierre LegendreDépartement de sciences biologiques

Université de Montréalhttp://www.NumericalEcology.com/

1.1. Analyse en composantes principales

© Pierre Legendre 2017

Cette section du cours sur l’ordination décrira la méthode d’ordination la plus fondamentale. Il s’agit de l’analyse en composantes principales (ACP).

L’ACP est à la base des méthodes d’ordination que nous étudierons dans les sections suivantes parce que ces autres méthodes tenteront de produire le même type de graphiques d’ordination que l’ACP en analysant des données qui ne sont pas tout à fait appropriées ou qui sont inappropriées pour l’ACP.

Nous examinerons d’abord l’algèbre ainsi que les étapes de calcul de l’ACP.

Algèbre de l’ACP et étapes de calcul

Algèbredel’ACPetétapesdecalcul

L’analyse en composantes principales (ACP) est une méthode d’ordination qui préserve la distance euclidienne entre les objets.

Définition de l’ACP

L’ACP est uniquement applicable à des données quantitatives multivariables.

Algèbredel’ACPetétapesdecalcul

Étapes du calcul

Les données doivent être quantitatives en ACP pour que les moyennes, variances et covariances aient du sens.

Algèbredel’ACPetétapesdecalcul

Matrice de covariance (2 variables):

Données: Centrer chaque colonne sur sa moyenne:

Données: Centrer chaque colonne sur sa moyenne:

Matrice de covariance (2 variables) :

Valeurs propres : λ1 = 9, λ2 = 5 Matrice des valeurs propres :

Calcul des valeurs et vecteurs propres de S :

Matrice des vecteurs propres :

Algèbredel’ACPetétapesdecalcul

Multiplier les données centrées

par la matrice des vecteurs propres U

pour obtenir la position des objets dans le graphique d’ordination ACP :

F = y− y⎡⎣

⎤⎦U

Algèbredel’ACPetétapesdecalcul

F = y− y⎡⎣

⎤⎦U

Algèbredel’ACPetétapesdecalcul

La matrice U contient des cosinus directeurs, soit les cosinus des angles entre les variables et les axes ACPF

Code R pour cet exemple –

Y <- matrix(c(2,3,5,7,9,1,4,0,6,2),5,2)!Y.c <- scale(Y, center=TRUE, scale=FALSE)!Y.eig <- eigen(cov(Y))!U <- Y.eig$vectors!F <- Y.c %*% U!!biplot(F,U)!

Algèbredel’ACPetétapesdecalcul

Note – La direction des axes peut être inversée à la suite d’une décision arbitraire du logiciel : Quelle extrémité de chaque axe correspond à la direction positive?

Algèbredel’ACPetétapesdecalcul

Cette décision n’a aucune conséquence fondamentale pour l’ordination :

Les distances entre objets restent les mêmes si la direction de certains axes a été inversée.

Après inversion des signes le long d’un ou de plusieurs axes, l’ACP préserve toujours les distances euclidiennes entre objets.

Algèbredel’ACPetétapesdecalcul

(b)Centrerlesvariables

0 2 4 6 8 10

-20

24

68

Var.1

Var.2

(a)Diagrammededispersion

-4 -2 0 2 4-4

-20

24

Var.1 centred

Var

.2 c

entre

d

Var1centred

Var2

centred

Algèbredel’ACPetétapesdecalcul

Animation: étapes du calcul de l’exemple

Algèbredel’ACPetétapesdecalcul

Var1centred

Var2

centred

-4 -2 0 2 4

-4-2

02

4

(c)Calculdesaxesdel’ACP

(d)DoubleprojecAonACP

-3 -2 -1 0 1 2 3

-3-2

-10

12

3

PCA axis 1

PC

A a

xis

2

1

2

3

4

5

-1.0 -0.5 0.0 0.5

-1.0

-0.5

0.0

0.5

Var 1

Var 2

1

Var 1

RotaAondu

graphique

Algèbredel’ACPetétapesdecalcul

Transformation des données avant l’ACP

Les données brutes doivent souvent être transformées avant qu’on puisse les analyser par analyse en composantes principales. Nous allons voir pourquoi.

L’ACP est une forme de décomposition de la variance 1. La somme des valeurs propres est égale à la somme des variances des variables.

Oui, les variances ont

des dimensions physiques!!

Propriétés des variances

2. Les variables ont des dimensions physiques (par ex. l’altitude se mesure en m) et la variance d’une variable a la même dimension que la variable, au carré.

3. Les variables soumises ensemble à une ACP doivent avoir des variances qui ont les mêmes dimensions physiques. Autrement, nous ne pourrions pas additionner ces variances en une somme qui sera décomposée en valeurs propres au cours de l’ACP.

Par exemple, la variance de l’altitude est exprimée en m2.

TransformaAondesdonnéesavantl’ACP

• On utilise parfois aussi le cadrage (ranging) :

y 'i =yi − yminymax − ymin

Les deux méthodes éliminent les dimensions des variables.

• Lorsque les variables soumises à l’ACP n’ont pas toutes la même dimension physique, elles doivent être centrées-réduites (standardized) :

Centrer-réduire les variables est une option des fonctions d’ACP.

zi =yi − ysy

TransformaAondesdonnéesavantl’ACP

Éliminer les dimensions des variables

• Donc la somme des valeurs propres d’une matrice de variables centrées-réduites (argument scale) est également p.

• Les variables centrées-réduites ont une et var(x) = 1.• La somme des variances de p variables centrées-réduites est p.

# ACP, données environnementales, fonction rda() de vegan spiders.env <- read.table(file.choose())!dim(spiders.env)!# [1] 28 15 <= 28 sites, 15 variables!!rda.spiders.env <- rda(spiders.env, scale=TRUE)!sum(rda.spiders.env$CA$eig)!# [1] 15 <= Somme des valeurs propres de l’ACP!

Le fichier de données utilisé ici est ‘Spiders_env_(28x15).txt’. Il contient 15 variables.

x = 0

L’ACP produit la meilleure dispersion des points lorsque les variables ont une distribution symétrique. La situation idéale – mais rare – est une distribution multivariable normale.

Les graphiques d’ACP sont plus faciles à interpréter lorsque les variable ont une distribution symétrique. On peut transformer les variables pour rendre leur distribution plus symétrique. Les transformations les plus utilisées sont la racine carrée (exposant ½), la double racine carrée (exposant ¼) et le log.

N’importe quelle base de log peut être utilisée. Pour un vecteur de données vec, log10(vec) est une transformation linéaire de loge(vec) ; les deux vecteurs transformés sont parfaitement corrélés.

TransformaAondesdonnéesavantl’ACP

Transformations “normalisatrices”

Exemple en deux dimensions   : données aléatoires lognormales versus normales.=> Quel graphique montre la meilleure dispersion des points ?

# Générer une matrice de données aléatoires lognormales!# avec 50 lignes et 5 colonnes!n <- 50 ; p <- 5!mat2.2 <- matrix(exp(rnorm((n*p),mean=0,sd=2.5)),n,p)!colnames(mat2.2) <- paste("Var",1:5,sep=".")!!

# Transformation log de ces données!mat2.2.log <- log(mat2.2)!!# Graphique des colonnes 1 et 2 de ces fichiers!

TransformaAondesdonnéesavantl’ACP

log

TransformaAondesdonnéesavantl’ACP

0 10 20 30 40 50 60 70

050

100

150

200

250

300

Données aléatoires lognormales

Var.1

Var.2

-6 -4 -2 0 2 4

-4-2

02

46

Données aléatoires normales

Var.1

Var.2

=> Quel graphique disperse les points de la façon la plus interprétable?

1. Transformation pour réduire l’asymétrie des distributions d’abondances d’espèces: y' = log(y + 1).

2. Avant l’ACP, on peut aussi transformer les données de communautés en utilisant des transformations qui sont appropriées pour l’étude de la diversité bêta =>

Transformation des données de communautés

Pour les données de communautés, on utilise y' = log(y + 1) parce que la borne inférieure des valeurs est 0.

log(0) = –Inf, mais log(0 + 1) = 0.

La fonction R qui produit cette transformation est :

log1p(x)

Les transformations de Hellinger et de corde (Legendre & Gallagher, 2001) sont appropriées avant l’ACP parce que …

• Tranformation de corde :

Données transformées corde + dist. euclidienne => distance de corde

" y ij = yij yij2

j=1

p∑

• Tranformation de Hellinger :

Données transf. Hellinger + dist. euclidienne => distance de Hellinger

" y ij = yij yi +

TransformaAondesdonnéesavantl’ACP

Les distances de Hellinger et de corde sont appropriées pour l’ordination des données de communautés parce qu’elles possèdent 9 propriétés importantes pour l’étude de la diversité bêta.

Ces deux distances seront décrites dans le cours sur les dissimilarités et leurs propriétés seront présentées dans le cours sur la diversité bêta.

Exemple : les données d’araignées (28 sites, 12 espèces) —ACP des abondances brutes et des données transformées Hellinger.

spiders <- read.table(file.choose())!spiders.hel <- decostand(spiders, "hellinger")!!

# ACP à l’aide de la fonction prcomp de {stats}!pca.spiders <- prcomp(spiders)!pca.spiders.hel <- prcomp(spiders.hel)!!

# Doubles projections produites par prcomp {stats}!par(mfrow=c(1,2))!biplot(pca.spiders, scale=0)!biplot(pca.spiders.hel, scale=0)!

Quelle double projection montre la meilleure dispersion des points ?

ACP des abondances brutes Données transformées Hellinger

-50 0 50 100

-50

050

100

PC1

PC2

Site1

Site2

Site3

Site4

Site5

Site6

Site7

Site8

Site9Site10

Site11Site12

Site13Site14

Site15Site16Site17Site18Site19Site20Site21Site22Site23Site24

Site25Site26Site27Site28

-0.2 0.0 0.2 0.4 0.6 0.8 1.0

-0.2

0.0

0.2

0.4

0.6

0.8

1.0

Alop.acce

Alop.cune

Alop.fabrArct.luteArct.periAulo.albi

Pard.lugu

Pard.mont

Pard.nigr

Pard.pull

Troc.terrZora.spin

-0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4

-0.8

-0.6

-0.4

-0.2

0.0

0.2

0.4

PC1

PC2

Site1

Site2

Site3 Site4Site5Site6

Site7

Site8

Site9

Site10Site11

Site12

Site13

Site14

Site15

Site16Site17Site18Site19Site20

Site21Site22Site23Site24

Site25

Site26

Site27

Site28

-0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4

-0.8

-0.6

-0.4

-0.2

0.0

0.2

0.4

Alop.acce

Alop.cune

Alop.fabr

Arct.lute

Arct.peri

Aulo.albi

Pard.lugu

Pard.mont

Pard.nigr

Pard.pull

Troc.terr

Zora.spin

TransformaAondesdonnéesavantl’ACP

Le rôle des cadrages est de transformer les vecteurs propres de la matrice U en des coordonnées qui représenteront de façon appropriée les sites et les espèces dans les diagrammes de double projection.

Différents types de cadrages sont disponibles en ACP.

Cadrages en ACP

CadragesenACP

En ACP, les diagrammes de doubles projections (biplots) sont des graphiques qui représentent ensemble les objets et les variables (descripteurs).

Diagrammes de double projection

CadragesenACP

Dans les diagrammes de doubles projections, les objets et les variables peuvent être représentés ensemble de deux façons différentes, appelées cadrages :

• Cadrage de type 1 (distance biplot) : préserve les distances des objets les uns par rapport aux autres. –

Ø On utilise F pour les objects et U pour les variables.

• Cadrage de type 2 (correlation biplot) : approxime les corrélations par des angles entre les variables. –

Ø On utilise G pour représenter les objets et Usc2 pour les variables, où G = FΛ–1/2 et Usc2 = UΛ1/2.

Cadrages dans les doubles projections

CadragesenACP

La règle généralement acceptée pour représenter ensemble les sites et les variables (par ex. les espèces) est la suivante : Dans une double projection, on peut utiliser des matrices qui permettent, ensemble, de reconstruire les données centrées Yc . Ainsi,Ø Dans un cadrage de type 1, on peut tracer F et U

ensemble parce que F U' = Yc ;Ø Dans un cadrage de type 2, on peut tracer G et Usc2

ensemble parce que G Usc2' = (FΛ–1/2) (UΛ1/2)' = Yc .

Cette règle de double projection a été proposée par K. Ruben Gabriel en 1971.

Règle de la double projection

CadragesenACP

Code R pour l’exemple numérique, cadrages de types 1 et 2 –

Y <- matrix(c(2,3,5,7,9,1,4,0,6,2),5,2)!Y.c <- scale(Y, center=TRUE, scale=FALSE)!Y.eig <- eigen(cov(Y))!k <- length(which(Y.eig$values > 1e-10))!!

# Cadrage de type 1!U <- Y.eig$vectors!F <- Y.c %*% U!biplot(F, U, expand=1.5, xlim=c(-4,4), ylim=c(-4,4))!abline(h=0, v=0, lty=2, col="grey60")!!

# Cadrage de type 2!U.sc2 <- U %*% diag(Y.eig$values[1:k]^(0.5))!G <- F %*% diag(Y.eig$values[1:k]^(-0.5))!biplot(G, U.sc2, expand=1.3, xlim=c(-1.5,1.5), ylim=c(-1.5,1.5))!abline(h=0, v=0, lty=2, col="grey60")!

Cadragedetype1 Cadragedetype2

-4 -2 0 2 4

-4-2

02

4

PCA axis 1

PC

A a

xis

2

1

2

3

4

5

-1.0 -0.5 0.0 0.5 1.0

-1.0

-0.5

0.0

0.5

1.0

Var 1

Var 2

-1.5 -1.0 -0.5 0.0 0.5 1.0 1.5-1.5

-1.0

-0.5

0.0

0.5

1.0

1.5

PCA axis 1

PC

A a

xis

2

1

2

3

4

5

-3 -2 -1 0 1 2 3

-3-2

-10

12

3

Var 1

Var 2

CadragesenACP

• En cadrage de type 1 (distance biplot), Ø  sur chaque axe (ou composante principale), la variance des

sites est égale à la valeur propre de l’axe (colonne de F);Ø  les vecteurs propres (colonnes de U) ont une norme de 1; Ø  la longueur de chaque variable (e.g. espèce, ligne de U)

dans l’espace d’ordination à p dimensions est 1.• En cadrage de type 2 (correlation biplot),

Ø  le long de chaque axe, la variance des sites est égale à 1 (colonne de G);

Ø  les vecteurs propres (colonnes de Usc2) ont des normes égales à sqrt(valeur propre);

Ø  la longueur de chaque variable (e.g. espèce, ligne de Usc2) dans l’espace à p dimensions est égale à son écart type.

Relations mathématiques dans les matrices

Doubles projections en cadrage de type 1 (distance biplot), 1.  Les distances entre objets approximent leurs distances euclidiennes

dans l’espace multidimensionnel des p variables.2.  La projection d’un objet à angle droit sur un descripteur approxime

la position de l’objet le long de ce descripteur. 3.  Puisque les descripteurs ont tous la longeur 1 dans l’espace à p

dimensions, la longueur de la projection d’un descripteur dans l’espace réduit indique sa contribution à la formation de cet espace.

4.  Le graphique montre donc quelles variables contribuent le plus à l’ordination en 2 ou 3 dimensions (voir aussi la section: Contribution équilibrée des variables).

5.  Les axes-descripteurs sont orthogonaux (90°) les uns aux autres dans l’espace multidimensionnel. Ces angles droits, projetés dans l’espace réduit, ne reflètent pas leurs corrélations.

Interprétation des relations dans les graphiques

CadragesenACP

Révisez ces relations lorsque vous calculerez

une ACP

Doubles projections en cadrage de type 2 (correlation biplot), 1.  Les distances entre objets approximent leurs distances de

Mahalanobis dans l’espace multidimensionnel des p variables.2.  La projection d’un objet à angle droit sur un descripteur approxime

la position de l’objet le long de ce descripteur.3.  Puisque les descripteurs ont tous la longeur sj dans l’espace à p

dimensions, la longueur de la projection d’un descripteur j dans l’espace réduit approxime son écart type sj. Note : sj = 1 lorsque les variables ont été centrées-réduites.

4.  Les angles entre les descripteurs dans le diagramme de double projection reflètent leurs corrélations.

5.  Lorsque les distances entre les objets sont importantes pour l’interprétation, ce type de double projection n’est pas adéquat; il faut plutôt utiliser un diagramme de type 1.

CadragesenACP

Révisez ces relations lorsque vous calculerez

une ACP

Contribution équilibrée des variables

Si p variables contribuaient également à toutes les dimensions d’un espace réduit d’ACP, par exemple en 2 dimensions, on dirait que leurs contributions sont en équilibre par rapport aux différents axes.

Pour un ensemble de p variables, on peut, en cadrage de type 1, dessiner un cercle sur le diagramme d’ordination. Le rayon de ce cercle doit être égal à la longueur d’une variable qui contribuerait de façon égale à tous les axes de l’espace réduit.

Logique du calcul : diapositives suivantes =>

length = 1

projection = 2 / 3

En cadrage de type 1, l’espace à p dimensions préserve la distance euclidienne entre les objets. Les variables (descripteurs) ont toutes une longueur (ou norme) de 1 dans cet espace multidimensionnel.

Longueur des variables dans l’espace ACP

Par conséquent, on peut comparer la longueur de leur projection dans un graphique, par exemple en 2 dimensions : Ø  les longues flèches représentent des variables qui contribuent

fortement aux axes de cette projection en 2 dimensions,Ø  les flèches courtes indiquent des variables qui contribuent peu. Les variables sont à angle droit les unes des autres dans l’espace multidimensionnel. Projetés en 2 dimensions, ces angles semblent aigus ou obtus alors qu’il s’agit toujours d’angles droits.

ContribuAonéquilibréedesvariables

On peut tracer un cercle sur une double projection en cadrage de type 1. Il correspond à l’hypothèse de contribution égale de tous les descripteurs à l’espace réduit (par exemple en 2 dimensions) : à on l’appelle le cercle de contribution équilibrée des descripteurs.

àSon rayon est sqrt(d/p), où

d = dimension de l’espace réduit (habituellement, d = 2)p = dimension de l’espace multivariable de l’ACP, qui est le nombre de valeurs propres > 0; habituellement égal au nombre de descripteurs.

Cercle de contribution équilibrée

ContribuAonéquilibréedesvariables

ContribuAonéquilibréedesvariables

length = 1

projection = 2 / 3

Rayon (R) du cercle de contribution équilibrée : R = sqrt(d/p), oùd = dimension de l’espace réduit (d = 2 dans cet exemple)p = nombre de variables dans l’ACP (p = 3)

Avec un cercle de contribution équilibrée, le diagramme en cadrage de type 1 montre les 6 espèces qui contribuent le plus à la dispersion des sites. Les angles entre descripteurs ne sont pas interprétables dans ce type de double projection.

Double projection d’ACP, cadrage de type 1, données d’araignées transformées Hellinger.

Le cercle de contribution équilibrée est en rouge. Son rayon est sqrt(2/12) = 0.408.

Six espèces ont des flèches plus longues que le rayon du cercle.

Figure tracée à l’aide de la fonction cleanplot.pca() du livre Numerical ecology with R.

-1.0 -0.5 0.0 0.5

-0.5

0.0

0.5

PCA biplot - Scaling 1

PCA 1

PC

A 2

Site1

Site2

Site3Site4Site5Site6

Site7

Site8

Site9

Site10

Site11

Site12

Site13

Site14

Site15

Site16

Site17Site18Site19Site20

Site21Site22Site23Site24

Site25

Site26

Site27

Site28

Alop.acce

Alop.cune

Alop.fabr

Arct.lute

Arct.peri

Aulo.albi

Pard.lugu

Pard.mont

Pard.nigr

Pard.pull

Troc.terr

Zora.spin

En cadrage de type 2, l’espace ACP à p dimensions préserve la distance de Mahalanobis entre objets, pas la distance euclidienne.Dans cet espace multivariable, • Les variables ne sont pas à angle droit les unes par rapport aux autres mais à des angles qui reflètent leurs corrélations ;• la longueur des vecteurs-variables = leur écart type.

En cadrage de type 2: pas de cercle

Ø  La longueur de la projection des variables en (par exemple) 2 dimensions dépend de :•leur écart type, et ceux-ci peuvent être tous différents si les

variables n’ont pas été centrées-réduites ;•l’angle de leur projection, dans l’espace de Mahalanobis, sur

le plan à 2 dimensions.

Pour ces raisons, en cadrage de type 2,•   les angles entre descripteurs reflètent les corrélations entre ceux-ci,• aucune valeur de contribution équilibrée ne pourrait s’appliquer à tous les descripteurs. • Par conséquent, aucun cercle de contribution équilibrée ne peut être tracé sur des doubles projections ACP en cadrage de type 2.

ContribuAonéquilibréedesvariables

En cadrage de type 2, les angles entre descripteurs reflètent les corrélations entre ceux-ci. De longues flèches séparées par de petits angles peuvent indiquer des associations d’espèces.

Double projection d’ACP, cadrage de type 2, données d’araignées transformées Hellinger.

Figure tracée à l’aide de la fonction cleanplot.pca() du livre Numerical ecology with R.

-2 -1 0 1 2

-2-1

01

2

PCA biplot - Scaling 2

PCA 1

PC

A 2

Site1

Site2

Site3 Site4Site5Site6

Site7

Site8

Site9

Site10

Site11

Site12

Site13

Site14

Site15

Site16

Site17Site18Site19Site20

Site21Site22Site23Site24

Site25

Site26

Site27

Site28

Alop.acce

Alop.cune

Alop.fabr

Arct.lute

Arct.peri

Aulo.albi

Pard.lugu

Pard.mont

Pard.nigr

Pard.pull

Troc.terr

Zora.spin

Les variables physiques qui ne sont pas dimensionnellement homogènes doivent être centrées-réduites au début d’une ACP. On peut tracer un cercle de contribution équilibrée en cadrage de type 1. Ce cercle aide à identifier les variables qui contribuent le plus à former le plan de l’espace réduit.

Variables environnementales

# ACP, données environnementales, fonction rda() de vegan spiders.env <- read.table(file.choose())!rda.spiders.env <- rda(spiders.env, scale=TRUE)! !par(mfrow=c(1,2))!cleanplot.pca(rda.spiders.env, scaling=1, opt=TRUE)!cleanplot.pca(rda.spiders.env, scaling=2, opt=TRUE)!

Le fichier de données utilisé ici est ‘Spiders_env_(28x15).txt’. Il contient 15 variables.cleanplot.pca(): fonction R du livre Numerical ecology with R.

•En cadrage de type 1, les distances entre sites reflètent les distances dans l’espace multivariable. On peut tracer le cercle de contribution équilibrée. •En cadrage de type 2, les angles entre les variables reflètent leurs corrélations.

-4 -2 0 2 4

-4-2

02

46

PCA biplot - Scaling 1

PCA 1

PC

A 2 Site1

Site2

Site3

Site4Site5

Site6

Site7

Site8

Site9

Site10

Site11Site12

Site13

Site14

Site15Site16

Site17

Site18Site19Site20Site21

Site22Site23Site24

Site25

Site26

Site27Site28

Water.contentHumus

Bare.sandLeaves.twigs

Herb.cover

Herb.height

Calamagrostis

Corynephorus Tree.coverTree.heightPopulus

Crataegus

Ill.grey.sky

Ill.clear.skySoil.reflection

-2 -1 0 1 2

-2-1

01

2

PCA biplot - Scaling 2

PCA 1P

CA

2

Site1

Site2

Site3

Site4Site5

Site6

Site7

Site8

Site9

Site10

Site11Site12

Site13

Site14

Site15Site16

Site17

Site18

Site19Site20Site21Site22Site23Site24

Site25

Site26

Site27Site28

Water.contentHumus

Bare.sandLeaves.twigs

Herb.cover

Herb.height

Calamagrostis

Corynephorus Tree.coverTree.heightPopulus

Crataegus

Ill.grey.sky

Ill.clear.skySoil.reflection

Les composantes interprétables

Une ACP produit une ordination en k dimensions oùk ≤ min(p, n – 1)

Quelles sont les dimensions de l’ordination que nous devrions examiner et tenter d’interpréter?

L’ACP produit une description de données multivariables dans un espace de dimension réduite. Ce n’est pas un test statistique.

1 Voir aussi Legendre & Legendre (2012), Section 9.1.6, “The meaningful components”.

Cependant, les utilisateurs peuvent se demander : combien d’axes faut-il examiner? Combien d’axes représentent plus que de la variation aléatoire? Plusieurs critères ont été proposés1.1. Décision arbitraire — Par exemple, dessiner et examiner les axes qui représentent ensemble 75% de la variation totale.2. Le critère de Kaiser-Guttman — On peut interpréter les axes dont les valeurs propres sont > la moyenne des valeurs propres. (Pour données centrées-réduites : la somme des valeurs propres = le nombre de variables p, donc la valeur propre moyenne = 1.)

Critères de choix des composantes interprétables

3. Comparer les valeurs propres au modèle du bâton brisé, un modèle nul de répartition aléatoire de la variance entre les axes. Modèle nul   : brisez un bâton de longueur 1 en p parties en y plaçant (p–1) points de coupure au hasard. Mesurez les morceaux et placez les valeurs en ordre décroissant. Répétez. Calculez la longueur moyenne du plus grand morceau, du second, etc.

Pour un bâton brisé au hasard en p = 2, 3, … parties, l’espérance (E) de la longueur relative des morceaux successifs de taille décroissante (j) est donnée par l’équation suivante :

Plusieurs bibliothèques R offrent des fonctions pour la comparaison graphique (scree plot) des valeurs propres au modèle du bâton brisé.

E( j) = 1p

1xx= j

p

# Exemple de comparaison graphique: ACP des araignées!spiders <- read.table(file.choose())!spiders.hel <- decostand(spiders, "hellinger")!!# ACP à l’aide de la fonction rda de {vegan}!rda.spiders.hel <- rda(spiders.hel)!screeplot(rda.spiders.hel, bstick=TRUE, npcs=12)!

Graphique des valeurs propres. Rectangles gris: les valeurs propres. Points rouges: valeurs du bâton brisé à l’échelle de la somme des valeurs propres. Screeplot: voir http://psychologydictionary.org/scree-plot/

PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10 PC11 PC12

rda.spiders.hel

Inertia

0.00

0.10

0.20

Broken Stick

La décision quant au nombre de valeurs propres à interpréter peut être fondée … • sur la comparaison des valeurs propres individuelles avec les valeurs correspondantes du bâton brisé,• ou encore sur la comparaison des valeurs propres cumulées avec les valeurs cumulées du bâton brisé.

Rectangles gris: les valeurs propres. Points rouges: valeurs du modèle du bâton brisé remises à l’échelle de la somme des valeurs propres.

PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10 PC11 PC12

rda.spiders.hel

Inertia

0.00

0.10

0.20

Broken Stick

Rectangles gris: les valeurs propres. Points rouges: valeurs du modèle du bâton brisé remises à l’échelle de la somme des valeurs propres.

PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10 PC11 PC12

rda.spiders.hel

Inertia

0.00

0.10

0.20

Broken Stick

Pour cet exemple, si on compare les valeurs propres individuelles avec les valeurs correspondantes du bâton brisé, on peut décider d’interpréter les 2 ou 3 premières valeurs propres parce que les deux premières sont plus grandes que les valeurs correspondantes du bâton brisé alors que la troisième est à peu près égale.

Lescomposantesinterprétables

PCAalgebraandcomputaAonsteps

Dans l’analyse des données d’araignées, quelle proportion de la variance est exprimée sur les 2 ou les 3 premiers axes de l’ACP? Calculons une statistique pseudo-R2 pour m = 2 ou 3 axes:

R.carré = somme des m premiers λ / somme de tous les λ

# PCA using function rda() of {vegan}!res1 <- rda(spiders.hel)!( sum(res1$CA$eig[1:2])/sum(res1$CA$eig) ) # 0.744!( sum(res1$CA$eig[1:3])/sum(res1$CA$eig) ) # 0.874!!# Same analysis using function prcomp() of {stats}!res2 <- prcomp(spiders.hel)!( sum(res2$sdev[1:2]^2)/sum(res2$sdev^2) ) # 0.744!( sum(res2$sdev[1:3]^2)/sum(res2$sdev^2) ) # 0.874!

Algorithmes pour l’ACP

L’analyse en composantes principales peut être calculée à l’aide de différents algorithmes informatiques.

Algorithmespourl’PCA

L’ACP est une méthode statistique d’analyse des données.Trois algorithmes (ou méthodes de calcul) différents peuvent être utilisés pour mettre en œuvre l’ACP :Ø Décomposition en valeurs propres ; eigen(cov(Y)) en R.

Ø Décomposition en valeurs singulières ; svd(Y.c) en R.Ces deux algorithmes sont interchangeables. Les statisticiens préfèrent souvent svd() pour sa plus grande précision numérique.

Détails dans Legendre & Legendre (2012, Section 9.1.9).

Ø  Un algorithme itératif, développé par Clint & Jennings (1970), a été adapté à l’analyse des correspondances par Hill (1973). Il fut ensuite utilisé par Cajo ter Braak dans le logiciel d’ordination Canoco.

Algorithmespourl’PCA

It had to be U – The (wonderful) SVDThe SVD song

Le calcul de l’ACP par décomposition en valeurs singulières (Singular Value Decomposition, SVD) est illustré par une vidéo écrite par le Prof. Michael Greenacre, Barcelona Graduate School of Economics. La vidéo est disponible à l’adresse suivante:

https://www.youtube.com/watch?v=JEYLfIVvR9I

La vidéo explique en chanson la mathématique de la décomposition en valeurs singulières (SVD), un résultat très utile de l’algèbre des matrices qui a un large éventail d’applications, incluant l’ACP. Le texte est chanté par Gurdeep Stephens accompagnée au piano par Lisa Olive. Conception, texte et animations: Michael Greenacre.

Cette vidéo a été jouée pour la première fois au cours de la 9th Tartu Conference of Multivariate Statistics à Tartu, en Estonie, le 28 juin 2011.

La vidéo enchaîne avec des cours sur la mathématique de la SVD.

Faitesjouerlavideo

Algorithmespourl’PCA

Quelques applications de l’ACP en écologie

L’analyse en composantes principales peut nous aider à répondre à différentes questions écologiques.Voici quelques exemples.

QuelquesapplicaAonsdel’ACPenécologie

QuelquesapplicaAonsdel’ACPenécologie

Exemple 1 –

Représenter une ordination d’objets, avec leurs variables, en deux dimensions. Les objets sont souvent des sites d’étude en écologie.

-0.3 -0.2 -0.1 0.0 0.1 0.2

-0.3

-0.2

-0.1

0.0

0.1

0.2

PC1

PC2

Site1

Site2

Site3Site4Site5Site6

Site7

Site8

Site9

Site10

Site11

Site12

Site13

Site14

Site15

Site16

Site17Site18Site19Site20

Site21Site22Site23Site24

Site25

Site26

Site27

Site28

-1.5 -1.0 -0.5 0.0 0.5 1.0

-1.5

-1.0

-0.5

0.0

0.5

1.0

Alop.acce

Alop.cune

Alop.fabr

Arct.lute

Arct.peri

Aulo.albi

Pard.lugu

Pard.mont

Pard.nigr

Pard.pull

Troc.terr

Zora.spin

C’est l’application la plus courante de l’ACP.

Exemple 2 –

Identifier ou représenter des groupes de variables qui sont intercorrélées, par exemple des associations d’espèces.

Associations d’espèces d’acariens oribates (symboles: groupes 1 et 2) dans une ACP avec cadrage de type 2. Tiré de Legendre (2005).

Exemple 3 –Détecter des données exceptionnelles ou erronées dans un fichier.

-0.8 -0.6 -0.4 -0.2 0.0 0.2

-0.8

-0.6

-0.4

-0.2

0.0

0.2

PC1

PC2

Site1Site2

Site3Site4Site5

Site6Site7

Site8

Site9

Site10Site11Site12Site13Site14Site15Site16Site17Site18Site19Site20Site21

Site22Site23Site24 Site25Site26Site27Site28

-20 -15 -10 -5 0 5

-20

-15

-10

-50

5

Water_content

Calamagrostis

ReflectanceCorynephorus

-0.3 -0.1 0.1 0.2 0.3 0.4

-0.3

-0.1

0.10.20.30.4

PC1

PC2

Site1Site2

Site3

Site4

Site5

Site6

Site7

Site8Site9

Site10Site11Site12

Site13

Site14

Site15Site16Site17Site18Site19Site20Site21

Site22Site23Site24

Site25

Site26

Site27Site28

-4 -2 0 2 4 6

-4-2

02

46

Water_content

Calamagrostis

Reflectance

Corynephorus

• À gauche: valeur erronée de 1000 pour Calamagrostis au site 9. • À droite: ordination avec la valeur corrigée (Calamagrostis = 0) au site 9.

Exemple 4 –

Simplifier des données colinéaires qui deviendront des variables explicatives ou covariables en analyse canonique (RDA ou CCA).

# Exemple: les données d’araignées, p=12!spiders <- read.table(file.choose())!spiders.hel <- decostand(spiders, "hellinger")!!

# ACP à l’aide de la fonction rda de {vegan}!rda.spiders.hel <- rda(spiders.hel)!eigenval = rda.spiders.hel$CA$eig!format(cumsum(eigenval)/sum(eigenval),digits=3)!

PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10 PC11 PC12 !0.502 0.744 0.874 0.906 0.935 0.953 0.969 0.979 0.987 0.994 0.998 1.000 !

Ø  Le bruit des données peut être réduit en éliminant les derniers axes de l’ACP.Ø  Dans cet exemple, les 4 premières composantes représentent 90% de la

variance et les 6 premières, 95%. Ces composantes peuvent remplacer les 12 espèces comme variables explicatives ou covariables dans une RDA ou CCA, afin d’épargner des degrés de liberté dans les tests statistiques.

Exemple 5 –

Éliminer une composante linéaire de variation, e.g. le facteur taille dans des données morphologiques transformées en log.

Supposition: la taille est un facteur multiplicatif pour tous les traits morphologiques qui ont été mesurés.• Après transformation log des mesures morphologiques, la taille devient un facteur additif.• Calculer une ACP des mesures transformées en log.• La taille devrait être très corrélée à un des premiers axes ACP.• Éliminer de la matrice F (voir Étapes de calcul) l’axe le plus corrélé à la taille. Utiliser les autres colonnes de la matrice F comme mesures morphologiques affranchies de la taille.

QuelquesapplicaAonsdel’ACPenécologie

Borcard, D., F. Gillet & P. Legendre. 2011. Numerical ecology with R. Use R! series, Springer Science, New York. xi + 306 pp. ISBN: 978-1-4419-7975-9. e-ISBN: 978-1-4419-7976-6.

Clint, M. & A. Jennings. 1970. The evaluation of eigenvalues and eigenvectors of real symmetric matrices by simultaneous iteration. Computer Journal 13: 76–80.

Gabriel, K. R. 1971. The biplot graphical display of matrices with applications to principal component analysis. Biometrika 58: 453–467.

Goodall, D. W. 1954. Objective methods for the classification of vegetation. III. An essay in the use of factor analysis. Australian Journal of Botany 2: 304–324.

Hill, M. O. 1973. Reciprocal averaging: an eigenvector method of ordination. Journal of Ecology 61: 237–249.

Legendre, P. 2005. Species associations: the Kendall coefficient of concordance revisited. Journal of Agricultural, Biological, and Environmental Statistics 10: 226-245.

Legendre, P. & E. D. Gallagher. 2001. Ecologically meaningful transformations for ordination of species data. Oecologia 129: 271–280.

Legendre, P. & L. Legendre. 2012. Numerical ecology, 3rd English edition. Elsevier Science BV, Amsterdam. xvi + 990 pp. ISBN-13: 978-0444538680.

ter Braak, C. J. F. & P. Smilauer. 2002. CANOCO reference manual and CanoDraw for Windows user’s guide – Software for canonical community ordination (version 4.5). Microcomputer Power, Ithaca, New York. 500 pp.

Références

RéférencesACP

Fin de la section