l'analyse en composantes principales (a.c.p.) · pdf file1.avant propos : l...
TRANSCRIPT
Montpellier
L'analyse des données multivariées à l'aide du logiciel
L'analyse en composantes principales (A.C.P.)
INRA - Formation PermanenteJuillet 2005
André Bouchier
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.1/23
Copyright 2005 André Bouchier
Permission is granted to make and distribute verbatim copies of this manual provided the copyrightnotice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions forverbatim copying, provided that the entire resulting derived work is distributed under the terms of apermission notice identical to this one.
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.2/23
1.Avant propos :
l Pré-recquis
Ce support de cours concerne la mise en oeuvre d'une analyse en composantesprincipales à l'aide du logiciel de statistiques R. Ce n'est ni un cours destatistique ni une initiation à R. On suppose donc connues les bases de celogiciel ainsi que quelques notions de statistiques concernant l'analyse encomposantes principales.
l Les fonctions utilisées :
Les fonctions utilisées pour cette analyse sont disponibles dans lesbibliothèques standard de R et dans la bibliothèque ade4. Pour aider à lacompréhension, l'écriture des «programmes» sera détaillée. Par la suite, vouspourrez condenser cette écriture. Mais n'oubliez pas de les commenterabondamment.
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.3/23
2.Rappels :
l L’ACP est une méthode descriptive.
l Son objectif est de représenter sous forme graphique l’essentiel del’information contenue dans un tableau de données quantitatif.
l Dans un tableau de données à j variables, les individus se trouvent dans unespace à j dimensions.
l Lorsqu’on projette ces données sur un plan, on obtient un graphique déformé dela réalité.
l Le rôle de l’ACP est de trouver des espaces de dimensions plus petitesminimisant ces déformations.
l On utilise un espace à 2 dimensions (un plan). Ce plan est appelé le plan principal.
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.4/23
3.Les données d'exemple :
l Le tableau des données d'exemple :
Ce tableau de données, contient les données techniques sur 62 véhicules - annéemodèle 1994. Les variables sont :
row.names : nom du modèlePuissance : en chevaux fiscauxCylindree : en cm3
Longueur : longueur de la voitureLargeur : largeur de la voitureSurface : surface de la voiturePoids : poids total en KgVitesse : vitesse maximum en km/hDepArret : Temps, en secondes, pour parcourir 1000 m, départ arrêté.Conso : Consommation moyenne aux 100 Km, en litres (essence ou gazole)
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.5/23
4.Préparation du tableau des données :
l Les données seront dans le tableau « don »: Puissance Cylindree Longueur Largeur Surface Poids Vitesse DepArret ConsoAlfa-Romeo 33 1.5 ie 7 1490 4.07 1.61 6.58 970 180 31.4 7.7Alfa-Romeo 155 2.0 10 1995 4.44 1.70 7.55 1215 205 31.3 8.0Alfa-Romeo 155 TD 6 1929 4.44 1.70 7.55 1250 180 35.0 6.4Alfa-Romeo 164 2.5 T 7 2500 4.55 1.76 8.02 1490 202 32.2 6.8BMW 316i 7 1596 4.43 1.70 7.53 1190 191 34.1 7.9BMW 325 TD 7 2498 4.43 1.70 7.53 1335 198 33.3 6.9BMW 518i 10 1796 4.72 1.75 8.26 1360 194 33.6 8.6BMW 525 TD 7 2498 4.72 1.75 8.26 1465 188 NA 7.6
.../...
l On élimine les 10 individus ayant des valeurs manquantes
don<-na.omit(don)
l L'identifiant des individus est row.names(don)
Il contient le nom des véhicules
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.6/23
5.Description des variables, les histogrammes :
l Les histogrammes de toutes les variables
layout(matrix(c(1:9),3,3))for(i in 1:9) {hist(don[,i],main=names(don)[i],xlab="")}layout(1)
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.7/23
Puissance
Fre
quen
cy4 6 8 10 14
05
1525
Cylindree
Fre
quen
cy
500 1500 2500
05
1525
Longueur
Fre
quen
cy
3.5 4.0 4.5 5.0
05
1015
Largeur
Fre
quen
cy
1.5 1.7 1.9 2.1
05
15
Surface
Fre
quen
cy
5 6 7 8 9
04
812
Poids
Fre
quen
cy
800 1200 1600
02
46
8
Vitesse
Fre
quen
cy
140 180 220
05
1015
DepArret
Fre
quen
cy
28 32 36 40
05
1525
Conso
Fre
quen
cy
4 6 8 10 12
05
1015
6.Description des variables, contrôle de la linéarité des relations :
l Les relations entre les variables quantitatives :
pairs(don,main="Données voitures 1994")
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.8/23
7.L'A.C.P. - fonction dudi.pca () de la bibliothèque ade4 :
l On lance l’analyse en composantes principale
Les résultats de l'analyse sont stockés dans la variable z
library(ade4)z<- dudi.pca(don, center = T, scale = T, scannf = F)
l Choix du type d'analyse
Les options center et scale de la fonction dudi.pca sont utilisées pour centreret réduire les variables.
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.9/23
8.Les valeurs propres :
l Impression des valeurs propres (variances de chaque composante) :
z$eig6.453 1.137 0.656 0.331 0.236 0.100 0.0434 0.0390 0.000
l Les variances cumulées (Σ des variances = 9, les données sont centrées réduites) :
cumsum(z$eig)6.453 7.591 8.247 8.579 8.816 8.917 8.960 8.999 9.000
l Les variances en pourcentages et pourcentages cumulés :
z$eig/sum(z$eig)*100
71.704 12.640 7.298 3.688 2.632 1.114 0.482 0.434 0.004
cumsum(z$eig/sum(z$eig)*100)
71.70 84.34 91.64 95.33 97.96 99.07 99.56 99.99 100.00
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.10/23
9.L'histogramme des valeurs propres
l Une représentation en % de variance expliquée :
inertie<-z$eig/sum(z$eig)*100barplot(inertie,ylab="% d'inertie",names.arg=round(inertie,2))title("Eboulis des valeurs propres en %")
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.11/23
71.7 12.64 7.3 3.69 2.63 1.11 0.48 0.43 0
% d
'iner
tie
010
2030
4050
6070
Eboulis des valeurs propres en %
10.Interprétation des composantes : les contributions "relatives"
l Contributions des variables à la construction des axes :
inertia.dudi(z,col.inertia = T)$col.abs
Comp1 Comp2Puissance 824 1867Cylindree 1201 2Longueur 1291 528Largeur 937 2211Surface 1307 1196Poids 1345 485Vitesse 1263 868DepArret 798 2354Conso 1034 490Somme 10000 10000
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.12/23
11.Présentation des résultats - le plan principal :
l Le résultat de l'A.C.P a été stocké dans la variable z. Les coordonnées deslignes et des colonnes se trouvent respectivement dans z$li et z$co
l La première composante sera :
cl1<-z$li[,1] pour les individus
cc1<-z$co[,1] pour les variables
l La deuxième sera :
cl2<-z$li[,2] pour les individus
cc2<-z$co[,2] pour les variables
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.13/23
12.Présentation des résultats - le plan des individus :
l Représentation du graphique du plan des individus :
plot(cl1,cl2,type="n",main="Les individus",xlim=c(-7,7))abline(h=0,v=0)text(cl1,cl2,row.names(z$li))
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.14/23
-6 -4 -2 0 2 4 6
-3-2
-10
12
Les individus
cp1
cp2
Alfa-Romeo 33 1.5 ieAlfa-Romeo 155 2.0
Alfa-Romeo 155 TD
Alfa-Romeo 164 2.5 T
BMW 316iBMW 325 TDBMW 518i
BMW 730iCitroen AX1.0
Citroen AX1.4i
Citroen AX14TD
Citroen ZX1.1
Citroen ZX1.6Citroen ZX1.9TD
Citroen XANTIA 1.6I
Citroen XANTIA 1.8I
Citroen XANTIA 2.0i
Citroen XANTIA TD
Citroen XM 2.0i
Citroen XM V6
Citroen XM TD12
Fiat UNO 1.4i.e
Fiat UNO TDFiat TIPO 1.8ie
Fiat TIPO TD
Fiat TEMPRA 1.8ie
Fiat TEMPRA TD
Fiat CROMA 2.0
Fiat CROMA 2.5 TDPeugeot 106 XN
Peugeot 106 XTD
Peugeot 306 XN
Peugeot 306 XTDT
Peugeot 405 GL
Peugeot 405 SR
Peugeot 405 STDPeugeot 605 SLi
Peugeot 605 Sv24
Peugeot 605 SLD
Renault Twingo
Renault Clio 1.2 RN
Renault Clio 1.4 RN
Renault Clio 1.9DRenault 19 1.4RNRenault 19 1.8RN
Renault 19 1.9 dTRenault 21 Prima TS
Renault 21 Prima TDRenault Safrane2.0i
Renault Safrane2.5 dRenault Espace 2.2i
Renault Espace 2.1dT
13.Présentation des résultats - le plan des variables :
l La représentation graphique du plan des variables :
plot(cc1,cc2,type="n",main="Les variables",xlim=c(-1,1),ylim=c(-1,1), asp=1, #rapport entre "Echelle X" et "Echelle Y"ylab= "Comp2 71.7%",xlab= "Comp1 12.6%")
abline(h=0,v=0)text(cc1,cc2,row.names(z$co))
l Le cercle des corrélations :
symbols(0,0,circles=1,inches=FALSE,add=TRUE)
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.15/23
14.Graphique du plan des variables :
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.16/23
-1.0 -0.5 0.0 0.5 1.0
-1.0
-0.5
0.0
0.5
1.0
Les variables
Comp1 12.6%
Com
p2 7
1.7%
Puissance
Cylindree
Longueur
LargeurSurface
Poids
Vitesse
DepArret
Conso
15.Les données supplémentaires :
l La bibliothèque ade4 propose les fonctions supcol() et suprow() pour calculer lescoordonnées des variables et individus supplémentaires. Ces fonctions s'utilisentaprès le calcul de l'A.C.P.
l Le tableau de données donsup contient 10 individus dont les donnéesmanquantes ont été remplacées par des valeurs grossièrement estimées. Cesdonnées sont peu fiables et ont été introduites en supplémentaire dans l'analyse.
Puissance Cylindree Longueur Largeur Surface Poids Vitesse DepArret ConsoBMW 525 TD 7 2498 4.72 1.75 8.26 1465 188 31 7.6Fiat Panda 1000i.e 4 999 3.41 1.49 5.09 715 140 41 6.2Ford Fiesta 1400 6 1392 3.74 1.61 6.01 840 163 38 7.2Ford Fiesta TD 5 1753 3.74 1.61 6.01 900 170 37 6.1Ford Escort 1400 6 1391 4.10 1.70 6.96 1000 163 39 7.8Ford Escort 1800 TD 6 1753 4.10 1.70 6.96 1100 172 35 6.3Ford MONDEO 1800i 7 1796 4.48 1.75 7.83 1277 197 32 7.2Ford MONDEO TD 5 1753 4.48 1.75 7.83 1277 183 35 6.2Ford Scorpio 2000i 10 1998 4.74 1.69 8.03 1245 195 33 7.7Ford Scorpio 2900i 15 1998 4.74 1.69 8.03 1345 201 32 10.8
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.17/23
16.Les individus supplémentaires :
l Les coordonnées des individus supplémentaires sont calculés en tenant comptedes options utilisées dans l'ACP sur les individus actifs. Ici, ils seront centré-réduits.
z<- dudi.pca(don, center = T, scale = T, scannf = F)ligsup<-suprow(z,donsup)
l Les coordonnées des individus supplémentaires se trouve dans ligsup$lisup
Axis1 Axis2BMW 525 TD 2.5032655 -0.2648280Fiat Panda 1000i.e -5.7235880 -0.1497245Ford Fiesta 1400 -2.9921568 0.1666408Ford Fiesta TD -2.7224814 0.1001151Ford Escort 1400 -1.7987546 -1.0503674Ford Escort 1800 TD -1.0292275 -0.3706771Ford MONDEO 1800i 1.2600677 0.0763634Ford MONDEO TD 0.1373121 -1.2755206Ford Scorpio 2000i 1.7339527 0.4465114Ford Scorpio 2900i 3.3727519 1.9269659
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.18/23
17.Représentation simultanée des individus actifs et supplémentaires:
l Représentation simultanée des individus actifs et supplémentaires
cl1<-z$li[,1]cl2<-z$li[,2]csup1<-ligsup$lisup[,1]csup2<-ligsup$lisup[,2]plot(cl1,cl2,type="n",main="Les individus",xlim=c(-8,8))abline(h=0,v=0)text(cl1,cl2,row.names(z$li),)text(csup1,csup2,row.names(ligsup$lisup),col="red",cex=1.2)
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.19/23
-5 0 5
-3-2
-10
12
Les individus
cl1
cl2
Alfa-Romeo 33 1.5 ieAlfa-Romeo 155 2.0
Alfa-Romeo 155 TD
Alfa-Romeo 164 2.5 T
BMW 316iBMW 325 TDBMW 518i
BMW 730iCitroen AX1.0
Citroen AX1.4i
Citroen AX14TD
Citroen ZX1.1
Citroen ZX1.6Citroen ZX1.9TD
Citroen XANTIA 1.6I
Citroen XANTIA 1.8I
Citroen XANTIA 2.0i
Citroen XANTIA TD
Citroen XM 2.0i
Citroen XM V6
Citroen XM TD12
Fiat UNO 1.4i.e
Fiat UNO TDFiat TIPO 1.8ie
Fiat TIPO TD
Fiat TEMPRA 1.8ie
Fiat TEMPRA TD
Fiat CROMA 2.0
Fiat CROMA 2.5 TDPeugeot 106 XN
Peugeot 106 XTD
Peugeot 306 XN
Peugeot 306 XTDT
Peugeot 405 GL
Peugeot 405 SR
Peugeot 405 STDPeugeot 605 SLi
Peugeot 605 Sv24
Peugeot 605 SLD
Renault Twingo
Renault Clio 1.2 RN
Renault Clio 1.4 RN
Renault Clio 1.9DRenault 19 1.4RNRenault 19 1.8RN
Renault 19 1.9 dTRenault 21 Prima TS
Renault 21 Prima TDRenault Safrane2.0i
Renault Safrane2.5 dRenault Espace 2.2i
Renault Espace 2.1dT
BMW 525 TDFiat Panda 1000i.eFord Fiesta 1400Ford Fiesta TD
Ford Escort 1400
Ford Escort 1800 TDFord MONDEO 1800i
Ford MONDEO TD
Ford Scorpio 2000i
Ford Scorpio 2900i
18.Représentation séparée des individus principaux et supplémentaires:
l Pour plus de lisibilité, dans le cas présent, il est sans doute préférable dereprésenter séparément les individus supplémentaires
plot(cl1,cl2,type="n",main="Individus supplém",xlim=c(-8,8))abline(h=0,v=0)text(csup1,csup2,row.names(ligsup$lisup),col="red",cex=1.1)
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.20/23
-5 0 5
-3-2
-10
12
Individus supplém
cl1
cl2 BMW 525 TDFiat Panda 1000i.e
Ford Fiesta 1400Ford Fiesta TD
Ford Escort 1400
Ford Escort 1800 TD
Ford MONDEO 1800i
Ford MONDEO TD
Ford Scorpio 2000i
Ford Scorpio 2900i
19.L'A.C.P., le programme complet :
#lecture et préparation des donnéesdon<-na.omit(don)#exploration graphique des donnéeslayout(matrix(c(1:9),3,3))for(i in 1:9) {hist(don[,i],main=names(don)[i],xlab="")}layout(1)pairs(don,main="Données voitures 1994")#le calcul de l'ACP. Les résultats sont stockés dans la variable zlibrary(ade4)z<- dudi.pca(don, center = T, scale = T, scannf = F)#l'éboulis des valeurs propres en %inertie<-z$eig/sum(z$eig)*100barplot(inertie,ylab="% d'inertie",names.arg=round(inertie,2))title("Eboulis des valeurs propres en %")#les coordonnées lignes et colonnescl1<-z$li[,1]; cc1<-z$co[,1]; cl2<-z$li[,2]; cc2<-z$co[,2]#graphique du plan des individus actifsplot(cl1,cl2,type="n",main="Les individus",xlim=c(-8,8))abline(h=0,v=0)text(cl1,cl2,row.names(z$li),)#graphique du plan des variables activesplot(cc1,cc2,type="n",main="Les variables",xlim=c(-1,1),ylim=c(-1,1),
asp=1,ylab= "Comp2 71.7%",xlab= "Comp1 12.6%")abline(h=0,v=0)text(cc1,cc2,row.names(z$co))symbols(0,0,circles=1,inches=FALSE,add=TRUE)
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.21/23
20.Quelques références :
l Logiciel R :
R Development Core Team (2004). R: A language and environment for statisticalcomputing. R Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0, URL
http://www.R-project.org.
l Bibliothèque ade4 :
Jean Thioulouse, Anne-Beatrice Dufour and Daniel Chessel (2004). ade4: Analysis ofEnvironmental Data : Exploratory and Euclidean methods in Environmental sciences. Rpackage version 1.3-3.
http://pbil.univ-lyon1.fr/ADE-4Mailing list: http://pbil.univ-lyon1.fr/ADE-4/adelist.html
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.22/23
21.Table des matières1.Avant propos :....................................................................................................................................................................32.Rappels :..............................................................................................................................................................................43.Les données d'exemple :.................................................................................................................................................54.Préparation du tableau des données :.........................................................................................................................65.Description des variables, les histogrammes :..........................................................................................................76.Description des variables, contrôle de la linéarité des relations :......................................................................87.L'A.C.P. - fonction dudi.pca () de la bibliothèque ade4 :........................................................................................98.Les valeurs propres :.....................................................................................................................................................109.L'histogramme des valeurs propres...........................................................................................................................1110.Interprétation des composantes : les contributions "relatives"......................................................................1211.Présentation des résultats - le plan principal :......................................................................................................1312.Présentation des résultats - le plan des individus :.............................................................................................1413.Présentation des résultats - le plan des variables :.............................................................................................1514.Graphique du plan des variables :.............................................................................................................................1615.Les données supplémentaires :..................................................................................................................................1716.Les individus supplémentaires :.................................................................................................................................1817.Représentation simultanée des individus actifs et supplémentaires:.............................................................1918.Représentation séparée des individus principaux et supplémentaires:..........................................................2019.L'A.C.P., le programme complet :..............................................................................................................................2120.Quelques références :................................................................................................................................................22
INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.23/23