1. Arthur CHARPENTIER - Analyse des donn´ees
Analyse des donn´ees (3)
L’Analyse Factorielle des Correspondances
(multiples) ACM
Arthur Charpentier
http ://perso.univ-rennes1.fr/arthur.charpentier/
blog.univ-rennes1.fr/arthur.charpentier/
Master 2, Universit´e Rennes 1
1
2. Arthur CHARPENTIER - Analyse des donn´ees
De l’AFC `a l’ACM
Ici, on cherchera des correspondances entre des modalit´es pour plus de deux
variables.
Dans l’AFC, nous avions projet´e les modalit´es, mais pas les individus. Ceci sera
possible dans l’ACM.
2
3. Arthur CHARPENTIER - Analyse des donn´ees
Exemple introductif
Au lieu d’avoir un tableau de contingence comme auparavant, avec des effectifs,
on suppose avoir la description de l’ensemble de la population.
Consid´erons les donn´ees relatives au naufrage du Titanic (ou comment tester la
validit´e du pr´ecept les femmes et les enfants d’abord).
Nous disposons, pour 2201 personnes pr´esentes sur le Titanic lors de son
naufrage en pleine mer, de leur ˆage (adulte ou enfant), du sexe et de la classe
(premire, deuxime, troisime ou ´equipage). Nous savons aussi s’ils ont ´et´e
naufrag´es (1490) ou rescap´es (711) de cet accident.
Cette base, TIT.csv, est t´el´echargeables sur ma page internet.
Parmi les variables
• pclass correspond `a la classe (1`ere, 2nde, 3`eme ou Crew)
• age correspond `a l’ˆage (1 pour les adultes et 0 pour les enfants)
• sex correspond au sexe de la personne (1 pour les hommes)
• survived indiquant si la personne a surv´ecu (1 si elles survivent)
3
4. Arthur CHARPENTIER - Analyse des donn´ees
Accessoirement, on a ´egalement le nom, le lieu d’Embarquement (Southampton,
Cherbourg ou Queenstown), le num´ero de la chambre (pour ceux qui en avaient
une... etc).
On peut commencer par analyser des tris crois´es, e.g.
• la proportion de femmes qui ont surv´ecu : 344/470 = 73.19%
• la proportion de femmes parmi les survivants : 344/711 = 48.38%
• la proportion d’enfants qui ont surv´ecu : 52/109 = 47.70%
• la proportion d’enfants parmi les survivants : 52/711 =7.3%
Afin de traiter ce jeu de donn´ees, l’id´ee est de recoder ces variables sous la forme
d’indicatrices. On peut alors faire une analyse multivari´ee de ces donn´ees,
> TIT=read.table("http://perso.univ-rennes1.fr/arthur.charpentier/TIT.csv",sep=";",header=
> names(TIT)=c("class","age","sex","survived")
> library(ade4)
> acm <- dudi.acm(TIT)
4
6. Arthur CHARPENTIER - Analyse des donn´ees
class
age
sex
survived
Premier facteur
Rapport de correlation
0.0 0.2 0.4 0.6 0.8 1.0
class
age
sex
survived
Deuxieme facteur
Rapport de correlation
0.0 0.2 0.4 0.6 0.8 1.0
−1 0 1 2 3
−10123
score
score
1
2
3
CREW
class
−1 0 1 2 3
−10123
score
score
ADULTE
ENFANT
age
−1 0 1 2 3
−10123
score
FEMME
HOMME
sex
−1 0 1 2 3
−10123
score
MORT
SURVIVANT
survived
Une autre piste est de faire l’analyse sans la variables survived, et de la traiter
comme “variable suppl´ementaire” afin de voir comment elle se projette sur les
axes.
6
7. Arthur CHARPENTIER - Analyse des donn´ees
Remarque Formellement, si le but est d’expliquer une des variables (ici
survived), il conviendrait de faire une r´egression (e.g. logisitique)
> summary(glm(survived~class+age+sex,data=TIT,family=binomial(link = "logit")))
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 2.0438 0.1679 12.171 < 2e-16 ***
class2 -1.0181 0.1960 -5.194 2.05e-07 ***
class3 -1.7778 0.1716 -10.362 < 2e-16 ***
classCREW -0.8577 0.1573 -5.451 5.00e-08 ***
ageENFANT 1.0615 0.2440 4.350 1.36e-05 ***
sexHOMME -2.4201 0.1404 -17.236 < 2e-16 ***
---
Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
(Dispersion parameter for binomial family taken to be 1)
7
8. Arthur CHARPENTIER - Analyse des donn´ees
L’AFC comme un cas particulier ?
L’id´ee avait ´et´e de passer d’un tableau de contingence `a un tableau disjonctif. Sur
l’exemple des donn´ees HairEyeColor, au lieu d’avoir une variable X (i.e. eye)
prenant les modalit´es Black, Brown, Red et Blond, on cr´ee 4 variables indicatrices.
Aussi On a le tableau de donn´ees individuelles suivant
Z X1 X2 X3 X4
1 Black 1 0 0 0
2 Black 1 0 0 0
3 Red 0 0 1 0
4 Blond 0 0 0 1
5 Black 1 0 0 0
6 Blond 0 0 0 1
7 Brown 0 1 0 0
On note X la matrice du tableau disjontif, i.e. une matrice n × (I + J). Le
tableau des profils lignes est simple car la somme sur chaque ligne vaut 2 (on a 2
variables). Aussi L =
1
2
X. La somme sur chaque colonne correspond aux effectifs
de chaque modalit´e. Le tableau des profils colonnes est alors XD−1
o`u
8
9. Arthur CHARPENTIER - Analyse des donn´ees
D = diag(DX, DY ).
Ici
> d <- c(apply(X,2,sum),apply(X,1,sum))
Brown Blue Hazel Green Black Brown Red Blond
122 114 46 31 52 143 37 81
> diag(D)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 122 0 0 0 0 0 0 0
[2,] 0 114 0 0 0 0 0 0
[3,] 0 0 46 0 0 0 0 0
[4,] 0 0 0 31 0 0 0 0
[5,] 0 0 0 0 52 0 0 0
[6,] 0 0 0 0 0 143 0 0
[7,] 0 0 0 0 0 0 37 0
[8,] 0 0 0 0 0 0 0 81
Pour faire une AFC, on cherche les composantes de l’ACP en colonnes, i.e. les
vecteurs propres de
(XD)−1 1
2
X =
1
2
D−1
X X.
9
10. Arthur CHARPENTIER - Analyse des donn´ees
or
X X =
X X X Y
Y X Y Y
=
DX K
K DY
On cherche alors les valeurs propres de
1
2
D−1
X X =
1
2
I D−1
X K
D−1
Y K I
On cherche alors (u, v) qui soit valeur propre, i.e.
I D−1
X K
D−1
Y K I
u
v
= 2µ
u
v
,
i.e.
D−1
X Kv = (2µ − 1)u
D−1
Y K u = (2µ − 1)v
10
11. Arthur CHARPENTIER - Analyse des donn´ees
ce qui redonne les r´esultats que nous avions vu en AFC, `a savoir
D−1
Y K D−1
X Kv = (2µ − 1)2
v
D−1
X KD−1
Y K u = (2µ − 1)2
u
i.e. on retrouve la dualit´e d´ej`a mentionn´ee.
Attention a priori on a I + J − 1 valeurs propres non nulles, car pour tout λ, il
y a 2 µ possibles,
µ =
1 ±
√
λ
2
associ´e `a la valeur propre
u
±v
Commes les valeurs propres sont comprises entre 0 et 1, on peut se contenter des
valeurs propres strictement sup´erieures `a 1/2.
11
12. Arthur CHARPENTIER - Analyse des donn´ees
Calcul(s) sur un petit exemple
Consid´erons 50 individus de la base INSEE participation culturelle et sportive.
> head(BD.acm,10)
VELO PETA TELE LECT
1 1 1 1 2
2 1 1 1 1
3 1 1 1 2
4 2 2 2 2
5 1 1 1 1
6 1 1 3 1
7 3 1 1 4
8 1 1 3 2
9 3 3 2 2
10 3 3 1 4
A partir de cette base compl`ete, on construit deux tableaux,
• le tableau disjonctif complet, obtenu en recodant les variables, pour n’avoir
plus que des variables binaires 0/1
• le tableau de Burt, correspondant `a un super tableau de contingence, o`u ici
12
14. Arthur CHARPENTIER - Analyse des donn´ees
TELE.3 6 0 1 7 0 0 0 0 7 2 4 1
LECT.1 6 2 2 8 1 1 6 2 2 10 0 0
LECT.2 10 4 4 11 3 4 8 6 4 0 18 0
LECT.3 4 3 5 10 2 0 9 2 1 0 0 12
LECT.4 3 5 2 5 2 3 8 2 0 0 0 0
Pour l’analyse du tableau disjonctif, rappelons que nous avons n = 50 lignes
(individus).
La premi`ere colonnnes est compos´ee de 23 fois la valeur 1 et 27 fois la valeur 0.
Pour calculer le profil de cette colonne, il convient de normer, i.e. on divise par 23.
• la contribution d’un individu 1 vaut 50 ×
1
23
−
1
50
2
=
272
50 × 232
• la contribution d’un individu 1 vaut 50 × 0 −
1
50
2
=
1
50
La distance entre le profil de la premi`ere colonne, et le profil marginal est donn´ee
par
d1 = 23 ×
272
50 × 232
+ 27 ×
1
50
=
27
23
=
n0
n1
14
15. Arthur CHARPENTIER - Analyse des donn´ees
Plus une modalit´e est rare (peu de 1), plus la distance entre le colonne et le profil
moyen sera grande.
q
−2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−1.5−1.0−0.50.00.51.01.5
CA factor map
Dim 1 (21.67%)
Dim2(14.99%)
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1920
21
22
23
24
25
26
27 28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
4748
49 50
VELO.1
VELO.2
VELO.3
PETA.1
PETA.2
PETA.3
TELE.1
TELE.2
TELE.3
LECT.1
LECT.2
LECT.3
LECT.4
Lors de l’analyse factorielle, notons que les valeurs propres v´erifient λi ≤ 1, et le
pourcentage associ´e `a chaque valeur propre est faible. On utilise la r`egle du coude
15
16. Arthur CHARPENTIER - Analyse des donn´ees
pour s´electionner le nombre d’axes principaux.
> M$eig
eigenvalue percentage of variance cumulative percentage of variance
dim 1 4.874995e-01 2.166664e+01 21.66664
dim 2 3.372231e-01 1.498770e+01 36.65434
dim 3 3.100147e-01 1.377843e+01 50.43277
dim 4 2.965840e-01 1.318151e+01 63.61428
dim 5 2.361011e-01 1.049338e+01 74.10766
dim 6 1.985567e-01 8.824742e+00 82.93241
dim 7 1.767959e-01 7.857595e+00 90.79000
dim 8 1.220429e-01 5.424129e+00 96.21413
dim 9 8.518205e-02 3.785869e+00 100.00000
dim 10 7.417704e-33 3.296757e-31 100.00000
dim 11 3.948060e-33 1.754693e-31 100.00000
dim 12 2.178325e-33 9.681444e-32 100.00000
dim 13 1.500532e-33 6.669029e-32 100.00000
Notons que la moyenne des coordonn´ees d’unne variable est toujours nulle.
Th´eoriquement, les modalit´es d’une mˆeme variables s’excluent mutuellement. Si
deux modalit´es d’une mˆeme variable sont proches, c’est que la distinction et la
16
18. Arthur CHARPENTIER - Analyse des donn´ees
Dim 1 Dim 2 Dim 3 Dim 4 Dim 5
VELO.1 -0.84824941 0.01924502 0.188010374 -0.29984498 -0.16679161
VELO.2 1.08178997 0.34872181 0.027702695 -0.74442533 -0.16308903
VELO.3 0.33574437 -0.40959544 -0.362467409 1.33218377 0.47072718
PETA.1 -0.53143820 -0.05182022 -0.209219290 -0.10723850 -0.07426725
PETA.2 1.34176617 1.32050859 -0.416667552 -0.29818487 0.09771710
PETA.3 0.91684618 -1.10027264 1.305849532 0.75394848 0.21791870
TELE.1 0.20348997 -0.57718001 -0.113024207 -0.19994655 -0.09451845
TELE.2 0.38455044 1.21709819 0.011854050 0.49891384 0.41619383
TELE.3 -1.56039921 0.46962888 0.480214548 0.03019673 -0.29489342
LECT.1 -0.56611479 -0.08318577 -0.008351104 -0.62637089 1.77798589
LECT.2 -0.19133774 0.55780193 0.763890378 0.53931719 -0.47162300
LECT.3 -0.00523195 -0.26101914 -1.532960511 0.35241579 -0.50482278
LECT.4 0.91680106 -0.60763474 0.472901036 -0.76729899 -0.32327717
Deux individus sont proches s’ils prennent `a peu prˆet les mˆemes modalit´es aux
diff´erentes variables,
Deux variables sont proches si ce sont les mˆemes individus qui prennent les
modalit´es identiques
Visuellement, trois groupes semblent se d´etacher.
18
19. Arthur CHARPENTIER - Analyse des donn´ees
Au niveau de l’interpr´etation, on notera que la pratique de la lecture et la
pratique des sports p´etanque et v´elo sont associ´ees, contrairement `a la t´el´evision :
les sportifs lisent mais ne regardent pas la t´el´e.
Pour l’interpr´etation des axes, on que le poids total vaut 1, et plus pr´ecis´ement,
1/4 pour chaque variable (quel que soit le nombre de modalit´es), 4 ´etant le
nombre de variables.
Pour obtenir un R2
permettant de juger la contribution d’une variable j `a un
axe, on calcule
R2
j = 4
k
ωkC2
k
o`u ωk est le poid de chaque modalit´e k et Ck la projection sur l’axe.
Ici, l’axe 1 est plutˆot li´e au pratique sportives, nettement moins `a la lecture.
On peut aussi mener une analyse `a partir du tableau de Burt. On utilise une
analyse factorielle (simple) de ce tableau.
L’analyse des variables donne les mˆemes r´esultats, sauf qu’on n’a plus d’individus
dans le tableau de Burt : ce n’est que le tableau de contingence.
19
22. Arthur CHARPENTIER - Analyse des donn´ees
TELE.1 0.20348997 -0.57718001 -0.113024207 -0.19994655 -0.09451845
TELE.2 0.38455044 1.21709819 0.011854050 0.49891384 0.41619383
TELE.3 -1.56039921 0.46962888 0.480214548 0.03019673 -0.29489342
LECT.1 -0.56611479 -0.08318577 -0.008351104 -0.62637089 1.77798589
LECT.2 -0.19133774 0.55780193 0.763890378 0.53931719 -0.47162300
LECT.3 -0.00523195 -0.26101914 -1.532960511 0.35241579 -0.50482278
LECT.4 0.91680106 -0.60763474 0.472901036 -0.76729899 -0.32327717
Les valeurs propres sont ici
> CA(BURT)$eig[1,1]
[1] 0.2376557
> CA(DISJ)$eig[1,1]^2
[1] 0.2376557
> CA(DISJ)$eig
eigenvalue percentage of variance cumulative percentage of variance
dim 1 4.874995e-01 2.166664e+01 21.66664
dim 2 3.372231e-01 1.498770e+01 36.65434
dim 3 3.100147e-01 1.377843e+01 50.43277
dim 4 2.965840e-01 1.318151e+01 63.61428
dim 5 2.361011e-01 1.049338e+01 74.10766
> CA(BURT)$eig
22
23. Arthur CHARPENTIER - Analyse des donn´ees
eigenvalue percentage of variance cumulative percentage of variance
dim 1 2.376557e-01 3.474387e+01 34.74387
dim 2 1.137194e-01 1.662511e+01 51.36898
dim 3 9.610914e-02 1.405059e+01 65.41957
dim 4 8.796209e-02 1.285954e+01 78.27911
dim 5 5.574371e-02 8.149401e+00 86.42851
L’analyse du tableau disjonctif et du tableau de Burt ne donne pas les mˆemes
r´esultats, mais on peut passer de l’un `a l’autre par une simple dilatation. Si on
note dα (k) la coordonn´ee sur l’axe α de la modalit´e k, via l’analyse du tableau
disjonctif, et bα (k) la coordonn´ee via l’analyse du tableau de Burt, et si λα et µα
d´esignent les valeurs propres respectives, alors λα =
√
µα (comme not´e).
Aussi dα (k) =
bα (k)
√
λα
=
bα (k)
√
µα
=
bα (k)
µ
1/4
α
> CA(BURT)$col$coord[1,1]/(CA(BURT)$eig[1,1])^.25
[1] -0.8482494
> CA(DISJ)$col$coord[1,1]
[1] -0.8482494
Les valeurs propres sont ´egales au carr´e des valeurs propres associ´ees au tableau
23
24. Arthur CHARPENTIER - Analyse des donn´ees
disjonctif complet.
Par symm´etrie du tableau, on obtient que les coordonn´ees des lignes et des
colonnes sont identiques.
Consid´erons une analyse des m´ethodes de tri des d´echets. Le tableau disjonctif
montre pour 640 individus leurs pratiques de tri (ou non) du verre, du papier, des
piles et du plastique.
> tri.Burt
nom verre pas.verre papier pas.papier piles pas.piles plast pas.plast
1 verre 640 0 326 314 192 448 192 448
2 pas.verre 0 360 34 326 48 312 8 352
3 papier 326 34 360 0 162 198 130 230
4 pas.papier 314 326 0 640 78 562 70 570
5 piles 192 48 162 78 240 0 82 158
6 pas.piles 448 312 198 562 0 760 118 642
7 plast 192 8 130 70 82 118 200 0
8 pas.plast 448 352 230 570 158 642 0 800
Le premier axe explique ici plus de 50% de l’information contenue dans le tableau.
> CA(BURT)$eig
24
25. Arthur CHARPENTIER - Analyse des donn´ees
eigenvalue percentage of variance cumulative percentage of variance
dim 1 2.291586e-01 7.091317e+01 70.91317
dim 2 4.603023e-02 1.424406e+01 85.15724
dim 3 3.055328e-02 9.454719e+00 94.61195
dim 4 1.741168e-02 5.388046e+00 100.00000
dim 5 5.786104e-33 1.790511e-30 100.00000
dim 6 8.527746e-34 2.638912e-31 100.00000
dim 7 2.475267e-34 7.659718e-32 100.00000
Comme auparavant, on peut faire une analyse des R2
afin de comprendre la
liaison entre les variables et les axes
axe 1 2 3
verre 0, 51 0, 14 0, 18
papier 0, 61 0, 02 0, 08
piles 0, 36 0, 51 0, 04
plastique 0, 42 0, 18 0, 39
L’axe 1 est l’axe du verre et du papier, l’axe 2 est ainsi l’axe du tri des piles, l’axe
25
27. Arthur CHARPENTIER - Analyse des donn´ees
Un autre exemple
Consid´erons la base Etudiants-ville.csv sur le logement ´etudiant
• Habitez-vous (variable “mode d’occupation”) : seul (Seul), colocataires (Coloc),
en couple (Couple), chez les parents (Parents) ou non r´eponse (NR1)
• Quel type d’habitation occupez-vous ? (variable “type d’habitation”) : cit´e
universitaire (Cit´e), studio (Studio), appartement (Appart), chambre chez un
particulier (Chambre), autre (Autre) ou non r´eponse (NR2)
• Si vous vivez en dehors du foyer familial, depuis combien de temps ? (variable
“anciennet´e”) moins de 1 an (¡ 1 an), 1 `a 3 ans (1-3 ans), plus de 3 ans (> 3
ans), non applicable (NA) ou non r´eponse (NR3)
• A quelle distance approximative de la Fac vivez-vous ? (variable
“´eloignement”) moins de 1 km (¡ 1 km), de 1 `a 5 km (1 `a 5 km), plus de 5 km(¿
5 km) ou non r´eponse ((NR4).
• Quelle est la superficie de votre logement ? (variable “superficie”) moins de 10
m2 (< 10 m2), de 10 `a 20 m2 (10 `a 20 m2), de 20 `a 30 m2 (20 `a 30 m2), plus
de 30 m2 (> 30 m2) ou non r´eponse (NR5)
27
28. Arthur CHARPENTIER - Analyse des donn´ees
> library(FactoMineR)
> Etudiants-ville <- read.table(’’Etudiants-ville.csv’’)
> etudiants.MCA <- MCA(etudiants.proto, ncp=3)
Les valeurs propres et l’inertie de chaque axe sont donn´ees par etudiants.MCA$eig
et les r´esultats relatifs aux variables : coordonn´ees, contributions, qualit´es de
repr´esentation, valeurs test sont dans etudiants.MCA$var.
28
32. Arthur CHARPENTIER - Analyse des donn´ees
Retour sur la m´ethodologie de l’ACM
Sous R, plusieurs fonctions permettent de faire des ACM
• dans library(ade4), la fonction dudi.coa, qui permet simplement de centrer et
r´eduire les variables.
• dans library(FactoMineR), la fonction MCA
32
33. Arthur CHARPENTIER - Analyse des donn´ees
Travaux dirig´es
Le TD portera sur la base de donn´ees culture.sav t´el´echargeables sur ma page
internet (ou culture.xls pour les r´efractaires `a R).
L’importation de la base de donn´ees sous R se fait `a l’aide des commandes
suivantes
> library(Hmisc)
> culture=spss.get("http://perso.univ-rennes1.fr/arthur.charpentier/Culture.sav")
Cette base est issue d’une enquˆete du Minist`ere de la Culture, faite en 1997
aupr`es de 3002 individus “repr´esentatifs”.
6 questions sont associ´es `a leurs loisirs,
• Q1 intitul´ee leisure activity, dont les modalit´ees d´etaillent avec qui les activit´es
de loisir sont effectu´ee, i.e. alone, partner, friends ou family
• Q2 intitul´ee free time, dont les modalit´ees sont lack time (pas assez de temps
pour faire ce qu’on veut), always something to do (on trouve toujours quelque
chose `a faire), nothing to do (parfois on ne sait pas quoi faire) ou do nothing in
particular (parfois on ne fait rien)
33
34. Arthur CHARPENTIER - Analyse des donn´ees
• Q3 intitul´ee more time, cherchant `a savoir ce que les individus feraient s’ils
avaient plus de loisirs, dont les modalit´ees sont rest (repos=, courses (suivre des
cours), physical activities, artistic activities, general knowledge, care family
(s’occuper de sa famille) ou home DIY (i.e. do-it-yourself, jardinage,
bricolage...)
• Q4 intitul´ee go out sur les sorties en soir´ee, dont les modalit´ees sont alone, with
partner, with family, with friends, with a group (club, travail), ou don’t go
• Q5 intitul´ee TV sur le temps pass´e devant la t´el´e, par semaine, dont les
modalit´ees sont never, less than 10 hrs, 10-19 hrs, 20-29 hrs ou over 30h
• Q6 intitul´ee books sur le nombre de livres lus au court des 12 derniers mois,
dont les modalit´ees sont no books, 1-4 books, 5-12 books, 13-39 books ou 40
books or more.
Notons que les deux derni`eres cat´egories sont ordonn´ees, alors que les autres non.
Quelques variables ont ´et´e rajout´ees pour mieux comprendre qui ´etaient ces
individus,
• QS1 intitul´ee sex, dont les modalit´ees sont woman ou man,
• QS2 intitul´ee education, dont les modalit´ees sont CEP, CAP-BEP, BEPC, no
34
35. Arthur CHARPENTIER - Analyse des donn´ees
degree, >Bac+2 , Bac, <Bac+2 ou Students
• QS3 intitul´ee age, dont les modalit´ees sont <18 years, 18-25 years, 26-35 years,
36-45 years, 46-55 years, 55-65 years ou >65 years
• QS4 est un produit cart´esien des modalit´es pr´ec´edantes
(et quelques autres variables).
35