Sunteți pe pagina 1din 23

Montpellier

L'analyse des données multivariées


à l'aide du logiciel

L'analyse en composantes principales (A.C.P.)

INRA - Formation Permanente


Juillet 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 copyright
notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for
verbatim copying, provided that the entire resulting derived work is distributed under the terms of a
permission 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 composantes


principales à l'aide du logiciel de statistiques R. Ce n'est ni un cours de
statistique ni une initiation à R. On suppose donc connues les bases de ce
logiciel ainsi que quelques notions de statistiques concernant l'analyse en
composantes principales.

l Les fonctions utilisées :

Les fonctions utilisées pour cette analyse sont disponibles dans les
bibliothèques standard de R et dans la bibliothèque ade4. Pour aider à la
compréhension, l'écriture des «programmes» sera détaillée. Par la suite, vous
pourrez condenser cette écriture. Mais n'oubliez pas de les commenter
abondamment.

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 de


l’information contenue dans un tableau de données quantitatif.

l Dans un tableau de données à j variables, les individus se trouvent dans un


espace à j dimensions.

l Lorsqu’on projette ces données sur un plan, on obtient un graphique déformé de


la réalité.

l Le rôle de l’ACP est de trouver des espaces de dimensions plus petites


minimisant 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ée


modèle 1994. Les variables sont :

row.names : nom du modèle


Puissance : en chevaux fiscaux
Cylindree : en cm3
Longueur : longueur de la voiture
Largeur : largeur de la voiture
Surface : surface de la voiture
Poids : poids total en Kg
Vitesse : vitesse maximum en km/h
DepArret : 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 Conso
Alfa-Romeo 33 1.5 ie 7 1490 4.07 1.61 6.58 970 180 31.4 7.7
Alfa-Romeo 155 2.0 10 1995 4.44 1.70 7.55 1215 205 31.3 8.0
Alfa-Romeo 155 TD 6 1929 4.44 1.70 7.55 1250 180 35.0 6.4
Alfa-Romeo 164 2.5 T 7 2500 4.55 1.76 8.02 1490 202 32.2 6.8
BMW 316i 7 1596 4.43 1.70 7.53 1190 191 34.1 7.9
BMW 325 TD 7 2498 4.43 1.70 7.53 1335 198 33.3 6.9
BMW 518i 10 1796 4.72 1.75 8.26 1360 194 33.6 8.6
BMW 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)
Puissance Largeur Vitesse

25

15
Frequency

Frequency

Frequency

10
15
15

5
0 5
0 5

0
4 6 8 10 14 1.5 1.7 1.9 2.1 140 180 220

Cylindree Surface DepArret

12
25

25
Frequency

Frequency

Frequency
8
15

15
4
0 5

0 5
0
500 1500 2500 5 6 7 8 9 28 32 36 40

Longueur Poids Conso

15
Frequency

Frequency

Frequency
10 15

0 2 4 6 8

10
5
5
0

0
3.5 4.0 4.5 5.0 800 1200 1600 4 6 8 10 12

INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.7/23


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 centrer
et 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$eig
6.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)*100
barplot(inertie,ylab="% d'inertie",names.arg=round(inertie,2))
title("Eboulis des valeurs propres en %")

Eboulis des valeurs propres en %

70
60
50
% d'inertie

40
30
20
10
0

71.7 12.64 7.3 3.69 2.63 1.11 0.48 0.43 0

INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.11/23


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 Comp2
Puissance 824 1867
Cylindree 1201 2
Longueur 1291 528
Largeur 937 2211
Surface 1307 1196
Poids 1345 485
Vitesse 1263 868
DepArret 798 2354
Conso 1034 490
Somme 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 des


lignes 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))
Les individus

Peugeot 605 Sv24


Citroen AX1.4i

2
Alfa-Romeo 33 1.5 ie
Fiat UNO 1.4i.e Alfa-Romeo 155 2.0 BMW 730i
Citroen
Renault
AX1.0Clio 1.4 RN
Fiat TIPO 1.8ie Citroen XM V6

1
Fiat UNO TD Fiat TEMPRA 1.8ie
Citroen XANTIA 2.0
Fiat CROMA 2.0i
Renault TwingoRenault 19 1.8RN
Renault
Peugeot
Citroen
RenaultRenault
Clio 1.9D 21
ZX1.6 405 Citroen
SR TS XM 2.0i
Prima
Peugeot 19
3061.4RN
BMWXTDT
BMW 316i
325 TD
Renault 19 1.9XANTIA
dT
BMW 518i

0
Fiat
CitroenCitroen
TIPO TD
ZX1.9TD Peugeot 1.8I
605 SLi
Citroen AX14TD Peugeot 405 STD
Peugeot 106 XN
Peugeot 306 XNFiat CROMA
Alfa-Romeo 164 2.5 TD
2.5 T

cp2
Renault Clio 1.2 RN
Fiat TEMPRA TD
Renault 21
Alfa-Romeo Renault
Prima
405 GL155 TD TD
Safrane2.0i
Peugeot 106 XTDPeugeot
CitroenCitroen
ZX1.1 XANTIA 1.6I

-1
Citroen XANTIA TD
Citroen XM Safrane2.5
TD12
Renault
Renault Espace d 2.2i

-2
Peugeot 605 SLD

-3

Renault Espace 2.1dT

-6 -4 -2 0 2 4 6

cp1

INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.14/23


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 :

Les variables

1.0
0.5
Puissance
Vitesse
Comp2 71.7%

Conso
0.0

Cylindree

Poids
Longueur
Surface
-0.5

DepArret Largeur
-1.0

-1.0 -0.5 0.0 0.5 1.0

Comp1 12.6%

INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.16/23


15.Les données supplémentaires :

l La bibliothèque ade4 propose les fonctions supcol() et suprow() pour calculer les
coordonnées des variables et individus supplémentaires. Ces fonctions s'utilisent
après le calcul de l'A.C.P.

l Le tableau de données donsup contient 10 individus dont les données


manquantes ont été remplacées par des valeurs grossièrement estimées. Ces
données sont peu fiables et ont été introduites en supplémentaire dans l'analyse.

Puissance Cylindree Longueur Largeur Surface Poids Vitesse DepArret Conso


BMW 525 TD 7 2498 4.72 1.75 8.26 1465 188 31 7.6
Fiat Panda 1000i.e 4 999 3.41 1.49 5.09 715 140 41 6.2
Ford Fiesta 1400 6 1392 3.74 1.61 6.01 840 163 38 7.2
Ford Fiesta TD 5 1753 3.74 1.61 6.01 900 170 37 6.1
Ford Escort 1400 6 1391 4.10 1.70 6.96 1000 163 39 7.8
Ford Escort 1800 TD 6 1753 4.10 1.70 6.96 1100 172 35 6.3
Ford MONDEO 1800i 7 1796 4.48 1.75 7.83 1277 197 32 7.2
Ford MONDEO TD 5 1753 4.48 1.75 7.83 1277 183 35 6.2
Ford Scorpio 2000i 10 1998 4.74 1.69 8.03 1245 195 33 7.7
Ford 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 compte


des 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 Axis2
BMW 525 TD 2.5032655 -0.2648280
Fiat Panda 1000i.e -5.7235880 -0.1497245
Ford Fiesta 1400 -2.9921568 0.1666408
Ford Fiesta TD -2.7224814 0.1001151
Ford Escort 1400 -1.7987546 -1.0503674
Ford Escort 1800 TD -1.0292275 -0.3706771
Ford MONDEO 1800i 1.2600677 0.0763634
Ford MONDEO TD 0.1373121 -1.2755206
Ford Scorpio 2000i 1.7339527 0.4465114
Ford 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)
Les individus

Peugeot 605 Sv24


Citroen AX1.4i

2
Ford Scorpio 2900i
Alfa-Romeo 33 1.5 ie
Fiat UNO 1.4i.eAlfa-Romeo 155 2.0 BMW 730i
Citroen
Renault
AX1.0Clio Fiat
1.4 RN
TIPO 1.8ie Citroen XM V6

1
Fiat UNO TDFiat TEMPRA 1.8ie
Citroen XANTIA 2.0
Fiat CROMA 2.0i
Renault Twingo Ford
Renault 1921 Scorpio 2000i
1.8RN
Renault Renault
Peugeot
Citroen
Clio 1.9D ZX1.6 Citroen
Prima
405 SR TSXM 2.0i
Ford
FordFiesta
Fiesta1400
Renault
Ford
Peugeot 19
TD 1.4RN
306MONDEO
BMWXTDT
BMW 316i
325 TD 1800i

0
Renault
Fiat 19
Citroen
TIPO 1.9
TD BMW
dT
XANTIA
Peugeot518i
1.8I
605 SLi
Fiat Panda AX14TDCitroen
Citroen1000i.e ZX1.9TD
Peugeot BMW
405 STD 525 TD
Fiat CROMA
Alfa-Romeo 2.5
164 TD
2.5 T
Renault Ford
Peugeot 106 XN Escort
Peugeot 306 1800 TD
XN TD

cl2
Clio 1.2 RN
Fiat TEMPRA
Renault
Alfa-Romeo
Peugeot 21
405Renault
Prima
GL155 Safrane2.0i
TD
TD
Peugeot 106 XTDCitroen XANTIA 1.6I

-1
Citroen
Ford ZX1.11400
Escort
Citroen
Ford XANTIA TD
MONDEO TD
Citroen XMSafrane2.5
Renault
Renault TD12
Espace 2.2i
d

-2
Peugeot 605 SLD

-3 Renault Espace 2.1dT

-5 0 5

cl1

INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.19/23


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 de
repré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)

Individus supplém

2
Ford Scorpio 2900i
1

Ford Scorpio 2000i


Ford Fiesta
Ford 1400
Fiesta TD
Ford MONDEO 1800i
0

Fiat Panda 1000i.e


Ford Escort 1800BMW
TD 525 TD
cl2

-1

Ford Escort 1400


Ford MONDEO TD
-2
-3

-5 0 5

cl1

INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.20/23


19.L'A.C.P., le programme complet :

#lecture et préparation des données


don<-na.omit(don)
#exploration graphique des données
layout(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 z
library(ade4)
z<- dudi.pca(don, center = T, scale = T, scannf = F)
#l'éboulis des valeurs propres en %
inertie<-z$eig/sum(z$eig)*100
barplot(inertie,ylab="% d'inertie",names.arg=round(inertie,2))
title("Eboulis des valeurs propres en %")
#les coordonnées lignes et colonnes
cl1<-z$li[,1]; cc1<-z$co[,1]; cl2<-z$li[,2]; cc2<-z$co[,2]
#graphique du plan des individus actifs
plot(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 actives
plot(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 statistical


computing. 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 of
Environmental Data : Exploratory and Euclidean methods in Environmental sciences. R
package version 1.3-3.

http://pbil.univ-lyon1.fr/ADE-4
Mailing 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ères
1.Avant propos :....................................................................................................................................................................3
2.Rappels :..............................................................................................................................................................................4
3.Les données d'exemple :.................................................................................................................................................5
4.Préparation du tableau des données :.........................................................................................................................6
5.Description des variables, les histogrammes :..........................................................................................................7
6.Description des variables, contrôle de la linéarité des relations :......................................................................8
7.L'A.C.P. - fonction dudi.pca () de la bibliothèque ade4 :........................................................................................9
8.Les valeurs propres :.....................................................................................................................................................10
9.L'histogramme des valeurs propres...........................................................................................................................11
10.Interprétation des composantes : les contributions "relatives"......................................................................12
11.Présentation des résultats - le plan principal :......................................................................................................13
12.Présentation des résultats - le plan des individus :.............................................................................................14
13.Présentation des résultats - le plan des variables :.............................................................................................15
14.Graphique du plan des variables :.............................................................................................................................16
15.Les données supplémentaires :..................................................................................................................................17
16.Les individus supplémentaires :.................................................................................................................................18
17.Représentation simultanée des individus actifs et supplémentaires:.............................................................19
18.Représentation séparée des individus principaux et supplémentaires:..........................................................20
19.L'A.C.P., le programme complet :..............................................................................................................................21
20.Quelques références :................................................................................................................................................22

INRA Montpellier - Analyses en composantes principales - Juillet 2005 p.23/23

S-ar putea să vă placă și