Vous êtes sur la page 1sur 30

MNHNEcoledoctoraleAnalysedesdonnesavecR

IntroductionauxanalysesmultivariessousR

Analysesunivaries,bivariesetmultivaries

Analysesencomposantesprincipales

MichelBAYLAC,UMRCNRSMNHN7205,plateformeMorphomtrieUMS2700
MNHNEcoledoctoraleAnalysedesdonnesavecR

Introductionl'analysedesdonnesavecR

Analysesuni,bivariesetmultivaries
MNHNEcoledoctoraleAnalysedesdonnesavecR

Pourquoidesanalysesmultivaries?

Analysesunivariesversusmultivaries

G1
G2

Deuxconclusionscontradictoires:

X
distributionsmarginalesconfondues
distributionsmultivariesspares

Lesanalysesunivariesdonnentunedescriptionincomplted'une
ralitquiestleplussouventmultivarie.
Exemple:conceptdenichecologiquedeHutchinson.
MNHNEcoledoctoraleAnalysedesdonnesavecR

Lesdonnesdesanalysesmultivaries

Donnes
>library(MASS)
>data(crabs) donnesdeRavecunestructurevoir
>groupe<gl(4,50,labels=c("BM","BF","OM","OF"))
>crab<log(crabs[,4:8])

Caractristiquesdesdistributionsmultivaries
>mean(crab) vecteurdesmoyennes
>cov(crab) matricedescovariances
>cor(crab) matricedescorrlations

Caractristiquesdesmatricesdescovariancesetdescorrlations?
>sd(crab) carttypes,diffrences?Voirgalement?mad()
MNHNEcoledoctoraleAnalysedesdonnesavecR

Lesdonnesdesanalysesmultivaries

Transformationdesdonnes
ex.log()aveccrabs:donneslognormales
racinecarre(dcomptes,dnombrements,processuspoissoniens...

Normalisationdesdonnesparcentragerduction:
lesmoyennessontalorsnullesetlesvariancesunitaires
>crabc<as.data.frame(scale(crab,center=TRUE,scale=TRUE))

Rledechaqueparamtre?

Attention:scale()renvoieunobjetdetypematrix,d'olatransformationen
data.frame!)
Vrifierlesrsultatsavecmean(crabc)etsd(crabc):conclusions?

Calculerlamatricedescovariancesdecrabc:conclusions?
MNHNEcoledoctoraleAnalysedesdonnesavecR

Donnesmanquantes

Gestiondesdonnesmanquantes
laplussimple=suppression.Troispossibilits:supprimerlescolonnes(=variables)
contenantdesNA,supprimerleslignes,supprimercertaineslignesetcertaines
colonnes.Lechoixd'uneprocduredoitreposersurunebaseobjective,expliciteet
explicite.

suppressionaveclesoptionsadhocdesfonctionsappeles.BeaucoupdefonctionsR,
parexemplemean(),comportentuneoptionpermettantd'omettrelesNAducalcul
effectu:
>data<c(1:10)
>mean(data)
[1]5.5
>data<c(1:10,NA)
>mean(data)
[1]NA
>mean(data,na.rm=T)
[1]5.5
MNHNEcoledoctoraleAnalysedesdonnesavecR

Donnesmanquantes

Gestiondesdonnesmanquantes(suite)

suppressionenamontdesanalyses:lafonctionna.omit()limineexclusivementles
lignes(=objets)contenantdesNA.Pourliminerauchoixsoitlignesoucolonnes,
utiliserlafonctionrm.na()dcriteplusloin

estimationsdesvariablesmanquantesetremplacement.(lesbibliothquesmentionnes
icinefontpaspartiedesbibliothquesdebase):

labibliothquee1071contientlafonctionimpute()quiremplacelesNA,soitparlavaleur
moyennedelacolonnecorrespondante(impute(x,what=mean))ouparlamdiane
(impute(x,what=median)).

Attentionauxdegrsdelibertperdusquidevronttrecorrigsdanslestestsultrieurs
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalysesenComposantesPrincipales
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
introduction

>d<rnorm(10000)
>dim(d)<c(5000,2)
>plot(d,pch=20)

Caractristiquesdeladistributionded(existet'ilune
structurationdelavariabilitded?)
Calculerlesparamtresdedispersiondedetsamatrice
descorrlations

>summary(d)
>cor(d)

Diffrencesentredet2des5variablesdecrabs?
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
introduction

2.0 2.4 2.8 2.8 3.2 3.6 4.0

3.2
>pairs(crab,col=

2.8
FL
as.numeric(groupe),pch=20,asp=1)

2.4
2.0
2.8
2.4
RW

Formedunuage?Qu'estcequ'elletraduit?

2.0

3.8
Tendances,caractristiquescommunes?

3.4
CL

3.0
Peutonrsumerl'informationdecenuage?

2.6
4.0

Aquoicorrespondl'longationdesnuages
3.6

CW
3.2
2.8

3.0
Quefairepourliminercettelongation?

2.6
BD

2.2
1.8
2.0 2.4 2.8 3.2 2.6 3.0 3.4 3.8 1.8 2.2 2.6 3.0
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
introduction

Pourvisualiserentroisdimensions,onfaitappellabibliothquergl:
>library(rgl)
>rgl.open()
>rgl.spheres(crab$BD,crab$RW,crab$CW],radius=0.012,
color=as.numeric(groupe))

lecodesuivanttracelesaxesaucentredurepre
>xc(0,1,0,0)
>yc(0,0,1,0)
>zc(0,0,0,1)
>labelsc(,colnames(crab[,c(5,2,4)]))
>ic(1,2,1,3,1,4)
>rgl.texts(x,y,z,labels)
>rgl.lines(x[i],y[i],z[i])

Conclusions?

Problme::onresteen3dimensions!
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
introduction

Onrefaitlammemanipulationavecdesdonnesalatoires:

>da<matrix(rnorm(600),200,3)
>rgl.open()
#axes

>rgl.spheres(da[,1],da[,2],da[,3],radius=0.012,color=as.numeric(groupe))

Conclusions?
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
introduction

Calculeretvisualiserdesdirectionsdansunespaceplusde3dimensions:

mathmatiquement=diagonalisation,extractiondesvaleurspropresetdes
vecteurspropresdesmatricesdecorrlations,covariances(etdispersions)

Exemple:tudedesdonnesalatoiresd:diagonalisezlamatricedescovarianesded
aveceigen():
>?eigen
>de<eigen(cov(d))
Etudierl'objetde
Existet'iluneouplusieursdirectionsprivilgies?
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
introduction

Axesprincipaux:
directionsprincipalesdunuagedepoint

directionsdevariancesmaximales

dfinissentunnouveaurfrentielpourlenuagede
points:projections=positionsexprimespar
rapportcenouveaurfrentiel

Lafonctioneigen()necalculepaslesprojections:elles
doiventtrecalculessparemment:
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
introduction

Projections=produit(matricieldesvecteurs
propresparlesdonnesinitiales(centres).
Pourcrabonobtient:

>ce<eigen(cov(crab))
>proj<scale(crab,scale=FALSE)%*%
ce$vectors

dimensionsdeproj?
graphe(surles2premiersaxes)

Enguisedeconclusion(provisoire):quoicorresponduneACP
d'unsimplepointdevuegomtrique?
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
introduction

Droitesdergressionetaxesprincipaldel'ACP

Comparaison des principales


A B
droitesdergression

y y
A:rgressionlinairesimpley=f(x)
qui minimise la somme des carrs
descarts(SCE)eny

x x
B : ditto, x = f(y) qui minimise la
SCEenx C D
C : axe majeur qui minimise la SCE y y
desprojecteurssurladroite

D : axe majeur rduit (droite des


moindresrectangles ou droite de x x
Teissier) qui minimise les SCE en x
eteny.
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
introduction

Valeurspropres

Extractiondes
valeurspropres
diagonalisation

VCV=Variancescovariances Vp=Valeurspropres
termesdiagonaux>0 termesdiagonaux>0,tris
termesextradiagonaux>=0 parordredcroissant
termesextradiagonaux=0
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
introduction

Valeurspropres
VCV=Variancescovariances Vp=Valeurspropres

VTi VTp
VTi=VTp
lesvariancestotales(sommesdestermesdiagonauxdeVCVoudeVp)
sontidentiques

>sum(diag(cov(crab)))
>sum(diag(cov(proj)))

lavariancetotaleestconserve=lasommedesvariancesdesvariablesestgalela
sommedesvariancesdescomposantesprincipales
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
introduction

significationdeslementsdesvecteurspropres
Deuxinterprtations:unegomtriqueetunecalculatoire
Gomtriquement:chaquelementcorrespondaucosinusdel'angleentreles
directionsdesaxesprincipauxetcellesdesvariables.Exempleiciaveclesdonnesde
crab,ACPcov,pourPC2etRW:
PC1PC2PC3PC4PC5
FL0.45247220.157430200.437863910.752103800.1144539
RW0.38655070.910628680.097556730.089303760.0619800
CL0.45329400.204120430.370843680.019803300.7841825
CW0.43977560.072367420.671783360.021402110.5912778
BD0.49696030.314752190.458192050.652314720.1360408

PC2 b Ici,PC2esttrsfortementinfluenceparlavariable
35.1650 144.8350 RW (cos = 0.91). Le coefficient ngatif indique
a simplementquelesdeuxdirectionssontopposes:
RW
cos(RW/PC2)=a/b=0.91,l'angle les valeurs de RW dcroissent qund les projections
correspondantestgal144.8350 surPC2croissent
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
introduction

significationdeslementsdesvecteurspropres(suite)

Dans le calcul des projections : les lements d'un vecteur propre donn sont les
coefficientsaffectsauxvariables(pralablementcentres).
Par exemple, la projection sur PC1 du 1er individu de crab (=1.429655) correspond la
somme des produits de chacune de ses variables par les lements du vecteur propre 1
correspondant:
FLRWCLCWBD
0.62764840.62106770.66379430.62540700.6633421#donnescentreslog

PC1 0.4524722x0.6276484+0.3865507x0.6210677+0.4532940x0.6637943
FL0.4524722
RW0.3865507 +...0.4969603x0.6633421=1.429655
CL0.4532940 quicorrespondbienlaprojectiondu1erindividusurPC1:
CW0.4397756
PC1PC2PC3PC4PC5
BD0.4969603
1.429654990.077209800.026949930.010415610.02716197
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
introduction

significationdeslementsdesvecteurspropres(suite)

FLRWCLCWBD
0.62764840.62106770.66379430.62540700.6633421#donnescentreslog

PC1 0.4524722x0.6276484+0.3865507x0.6210677+0.4532940x0.6637943
FL0.4524722
RW0.3865507 +...0.4969603x0.6633421=1.429655
CL0.4532940 quicorrespondbienlaprojectiondu1erindividusurPC1:
CW0.4397756
PC1PC2PC3PC4PC5
BD0.4969603
1.429654990.077209800.026949930.010415610.02716197

Cecalculdelaprojectiondu1erindividusurPC1estralisdirectementparleproduit
matricielutilisaudbutdecechapitre:

>proj<scale(crab,scale=FALSE)%*%ce$vectors
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
exemple

Analysedecrab

Onutiliseralafonctionprcomp()

>crab.pca<prcomp(crab,retx=TRUE)covpardfaut,onconservelesprojections
>summary(crab.pca) affichelespourcentagesdevariancesimplesetcumuls,ainsi
quelesracinescarresdesvaleurspropresetnonlesvariancescommeilest
courant.

Importanceofcomponents:
PC1PC2PC3 PC4
Standarddeviation0.51734940.074730840.0480375320.025655952
ProportionofVariance0.96874890.020213570.0083522730.002382427
CumulativeProportion0.96874890.988962450.9973147210.999697147

PC5
Standarddeviation0.0091473224
ProportionofVariance0.0003028526
CumulativeProportion1.0000000000
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
exemple

Pourl'affichage,onpeututiliserunematricedegraphesl'aidepairs():

>pairs(crab.pca$x[,1:3],pch=20,col=as.numeric(groupe),asp=1)
#icisurlescomposantes13
0 .1 0 0 .0 0 0 .0 5 0 .1 0 0 .1 5

1 .5
1 .0
0 .5
C o m p .1

0 .0
0 .5
1 .0
0 .0 0 0 .0 5 0 .1 0 0 .1 5

C o m p .2
0 .1 0

0 .1 0
0 .0 5
0 .0 0
C o m p .3
0 .1 0 0 .0 5

1 .0 0 .5 0 .0 0 .5 1 .0 1 .5 0 .1 0 0 .0 5 0 .0 0 0 .0 5 0 .1 0
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
exemple

Ouafficherunbiplot()graphiquementplussimplemaisquicombinelaprojectiondans
unplandesobjetsetdesvecteurspropresrenormsetaffichssousformede
vecteurs.

>biplot(crab.pca$x[,2:3],crab.pca$rotation[,2:3])
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
exemple

Interprtationdesaxes

biplot

examendeslementsdesvecteurspropres:

>crab.pca$rotation[,1:3] #afficheles3premiersvecteurspropres:

Comp.1Comp.2Comp.3
FL0.45182470.154530760.4279035
RW0.38589390.910211650.1016344
CL0.45283980.200626210.3746998
CW0.43975310.070627740.6705198
BD0.49849150.319993510.4653733
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
exemple

Cependantl'interprtationdirectedespoidsesttoujoursdlicate,carleurvaleur
dpenddesunitsdesvariables.

Mieux:corrlationsentrecomposantesetvariablesd'origine:pourquoi?

cor(crab,crab.pca$x[,1:3])

Comp.1Comp.2Comp.3
FL0.99156090.048986940.08719510
RW0.94625100.322401270.02314067
CL0.99457120.063649490.07641374
CW0.98958890.022958160.14010520
BD0.99001720.091799880.08581896

Attentionils'agitdescorrlationscomposantes/variablesd'origine,pasdes
rsultatsd'uneACPsurlamatricedescorrlations!!

Interprtations,conclusions
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
exemple1

Avous....

EffectueruneACPaveclejeudedonnesmarphy(bibliothquePastecs)

>library(Pastecs)
>?marphy
>data(marphy)

#crezunfacteurpourlesdiffrenteszonesdutransect

EffectuezuneACP:
matricedescovariancesoudescorrlations?Justifiezvotrechoix.
Projetezlesindividusavecunecouleurparespceavecpairs()
puisutilisezunbiplot

Interprtezetconcluez.
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
exemple2

SynthseACP

changementdusystmed'axe:
centrage
rotationsolidedusystmed'axe

relationsentreobjetsinchange(distanceseuclidiennesidentiques)

composantesprinipalessont:descombinaisonslinairesdesvariablesd'origine:
orthogonales(covariancesnulles:diagonalisation)
devariancemaximale(valeurspropres)
variancetotaleinchange:sommevariancesinitiales=sommedesvaleurs
propres
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
exemple2

SynthseACP(suite)

valeursproprestriesparordredcroissant.Lespremiresprennenten
compte(normalement)unefractionsubstantielledelavariancetotale

onngligefrquemmentlesdernirescomposantes:
pbdunombredecomposantesconserver)
l'ACPdecepointdevuecorrespondunetechniquederductionde
dimensionalit

vecteurspropresorthogonaux
lementsdesvecteurspropres=cosinusdirecteursdesanglesentre
composantesetvariablesinitiales
interprtation:corrlationscomposantesvariablesinitiales
MNHNEcoledoctoraleAnalysedesdonnesavecR

AnalyseenComposantesPrincipales
conclusions

L'ACPestdoncgalementunetechniquederductiondeladimensiondesdonnes.Unexemple
iciaveclareconstitutiond'unephotographie(897x598pixels)avec12,50et120composantes
principales).(donnesTheMathworks,2006)