1. Arthur CHARPENTIER - Analyse des donn´ees
Analyse des donn´ees (2)
L’Analyse Factorielle des Correspondances
(simple) AFCS
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’ACP `a l’AFC
L’ACP est utilise pour tudier les donnes multidimensionnelles, lorsque toutes les
variables observes sont de type numrique et que l’on veut voir s’il y a des liaisons
entre ces variables.
L’AFC est l’´etude de la correspondance entre deux variables qualitatives, croises
dans un tableau de contingence.
L’ACM est une gnralisation de l’analyse factorielle des correspondances (AFC),
quand il y a plus de deux variables qualitatives.
Pour rappel, X est une variable qualitative si elle prend des modalit´es
{x1, · · · , xm} non (n´ecessairement) ordonn´ee.
2
3. Arthur CHARPENTIER - Analyse des donn´ees
Le but est de trouver des liaisons pouvant exister entre des modalit´es de variables,
• la base epoux comprend, pour tous les mariages survenus en 1994,
◦ la profession (CSP) de l’´epoux
◦ la profession (CSP) de l’´epouse
• la bse nat-prof est bas´ee sur des donn´ees de 1999, contenant
◦ de la nationalit´e
◦ de la profession (CSP)
3
7. Arthur CHARPENTIER - Analyse des donn´ees
Agr(F) Art(F) Cad(F) PrI(F) Emp (F) Ouv(F) Ret(F) Ina(F) Inc(F) Tot
ColPct 30,5 0,8 0,5 0,9 1 1,3 0,4 0,9 1,2 1
Agricu (M) 0,7 6,2 1 0,9 0,9 0,5 0,5 1 1,1 1
Artcom (M) 0,3 0,9 4 1,6 0,5 0,2 0,3 0,7 0,6 1
Cadres (M) 0,3 0,7 1 1,7 0,9 0,6 0,2 0,7 0,7 1
PrInt (M) 0,3 0,7 0,5 0,8 1,3 0,7 0,3 1 0,9 1
Employ (M) 0,5 0,6 0,2 0,5 1,2 1,9 0,3 1,2 1,2 1
Ouvrie (M) 1,3 1,8 0,5 0,4 0,5 0,6 49,3 1,1 1,7 1
Retrai (M) 0,3 0,7 0,8 0,8 0,6 0,6 0,4 2,1 0,4 1
Inacti (M) 0 0,6 0,5 0,6 0,8 0,7 0,6 0,9 30,1 1
Inconn (M) 1 1 1 1 1 1 1 1 1 1
Pour ´etudier cette matrice, une id´ee est d’utiliser la d´ecomposition en valeurs
singuli`eres. Pour cela on g´en´eralise la propri´et´e de diagonalisation d’une matrice
`a une matrice non n´ecessairement carr´ee.
Soit M une matrice m × n, alors il existe une factorisation de la forme
M = UΣV o`u
• U est une matrice unitaire m × m, i.e. U U = UU = I, i.e. U−1
= U ,
• Σ est une matrice m × n dont les coefficients diagonaux sont des r´eels positifs
ou nuls et tous les autres sont nuls (c’est donc une matrice “diagonale” dont on
impose que les coefficients soient positifs ou nuls)
7
8. Arthur CHARPENTIER - Analyse des donn´ees
• V est une matrice unitaire n × n
Aussi,
• U contient un ensemble de vecteurs de base orthonorms pour M, dits “de
sortie”
• Σ contient les valeurs “singulires” de la matrice M
• V contient un ensemble de vecteurs de base orthonorms pour M, dits “d’entr´e”
ou “d’analyse”
On notera que
M M = V Σ U UΣV = V (Σ Σ)V et MM = UΣV V Σ U = U(ΣΣ )U .
Par exemple, si
M =
1 0 0 0 2
0 0 3 0 0
0 0 0 0 0
0 4 0 0 0
,
8
9. Arthur CHARPENTIER - Analyse des donn´ees
la d´ecomposition en valeurs singuli`eres de M est alors
U =
0 0 1 0
0 1 0 0
0 0 0 −1
1 0 0 0
, Σ =
4 0 0 0 0
0 3 0 0 0
0 0 2.236 0 0
0 0 0 0 0
,
et V =
0 1 0 0 0
0 0 1 0 0
0.447 0 0 0 0.894
0 0 0 1 0
−0.894 0 0 0 0.447
Remarque Assez souvent, on ne renvoit pas Σ mais simplement le vecteur
σ = [σi] = [Σi,i].
Remarque Il est aussi parfois possible de se contenter d’une matrice n × n, ˜Σ
9
10. Arthur CHARPENTIER - Analyse des donn´ees
qui sera diagonale, et ˜V qui sera alors une matrice n × m o`u on enl`eve le surplus
de lignes ou de colonnes. En effet, cette derni`ere ligne/colonne n’intervient que
pour normaliser la matrice.
> M <- matrix(c(1,0,0,0,0,0,0,4,0,3,0,0,0,0,0,0,2,0,0,0), 4,5)
> M
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 0 2
[2,] 0 0 3 0 0
[3,] 0 0 0 0 0
[4,] 0 4 0 0 0
> svd(M)
$d
[1] 4.000000 3.000000 2.236068 0.000000
$u
[,1] [,2] [,3] [,4]
[1,] 0 0 1 0
[2,] 0 1 0 0
[3,] 0 0 0 -1
[4,] 1 0 0 0
10
11. Arthur CHARPENTIER - Analyse des donn´ees
$v
[,1] [,2] [,3] [,4]
[1,] 0 0 0.4472136 0
[2,] 1 0 0.0000000 0
[3,] 0 1 0.0000000 0
[4,] 0 0 0.0000000 1
[5,] 0 0 0.8944272 0
Par convention, on range les termes Σi,i par ordre dcroissant, de telle sorte que Σ
est dtermine de faon unique par M, alors que U et V ne le sont pas.
Remarque Si M est une matrice carr´ee, M = UΣV = V ΛV o`u Λ est une
matrice diagonale compos´ee des valeurs propres, et v contient les vecteurs
propres. On peut alors ´etendre la notion de valeurs propres et de vecteurs propres
au cas m × n.
Un rel positif λ est appel valeur singuli`ere de M si et seulement s’il existe un
vecteur unitaire u dans Rm
et un vecteur unitaire v dans Rn
tel que
Mv = λu et M u = λv
11
20. Arthur CHARPENTIER - Analyse des donn´ees
Un peu de formalisme
Dans l’analyse des correspondances simples, on ´etudie la population suivant deux
crit`eres X et Y .
X peut prendre les modalit´es {x1, · · · , xI} et Y les modalit´es {y1, · · · , yJ }.
Definition 1. On appelle tableau de contingence la matrice K, I × J, K = [ni,j]
o`u ni,j est le nombre d’individus dont les modalit´es sont xi et yj.
On parle parfois aussi de tri-crois´e.
Example Consid´erons l’exemple o`u X d´esigne la couleur des cheveux, et Y la
couleur des yeux, de la base HairEyeColor,
> data(HairEyeColor)
> HairEyeColor[,,Sex="Female"]
Eye
Hair Brown Blue Hazel Green
Black 36 9 5 2
Brown 66 34 29 14
Red 16 7 7 7
Blond 4 64 5 8
20
21. Arthur CHARPENTIER - Analyse des donn´ees
Definition 2. Les effets marginaux sont not´es
ni,· =
j
ni,j et n·,j =
i
ni,j
L’effectif total de la population est alors n =
i
ni,· =
j
n·,j =
i,j
ni,j.
> apply(HairEyeColor[,,Sex="Female"],2,sum)
Brown Blue Hazel Green
122 114 46 31
> apply(HairEyeColor[,,Sex="Female"],1,sum)
Black Brown Red Blond
52 143 37 81
Remarque On peut aussi bien travailler sur les effectifs que sur les fr´equences.
21
22. Arthur CHARPENTIER - Analyse des donn´ees
On pose alors F =
1
n
K = [fi,j], o`u fi,j =
ni,j
n
.
> HairEyeColor[,,Sex="Female"]/sum(HairEyeColor[,,Sex="Female"])
Eye
Hair Brown Blue Hazel Green
Black 0.11501597 0.02875399 0.01597444 0.006389776
Brown 0.21086262 0.10862620 0.09265176 0.044728435
Red 0.05111821 0.02236422 0.02236422 0.022364217
Blond 0.01277955 0.20447284 0.01597444 0.025559105
De la mˆeme mani`ere, on peut d´efinir les effets marginaux
fi,· =
j
fi,j et f·,j =
i
fi,j
22
23. Arthur CHARPENTIER - Analyse des donn´ees
Petits rappels de probabilit´e
Si X et Y sont deux variables dont les modalit´es sont {x1, · · · , xI} et Y les
modalit´es {y1, · · · , yJ }, on note
pi,j = P(X = xi, Y = yj) la loi jointe.
Alors les lois marginales sont
pi· = P(X = xi) =
j
P(X = xi, Y = yj) =
j
pi,j,
p·j = P(Y = yj) =
i
P(X = xi, Y = yj) =
i
pi,j,
d’apr`es la formule des probabilit´es totales.
23
24. Arthur CHARPENTIER - Analyse des donn´ees
Petits rappels de probabilit´e
On d´efinira aussi les lois conditionnelles
pi|j = P(X = xi|Y = yj) =
P(X = xi, Y = yj)
P(Y = yj)
=
pi,j
p·j
,
pj|i = P(Y = yj|X = xi) =
P(X = xi, Y = yj)
P(X = xi)
=
pi,j
pi·
.
Rappelons ´egalement que X et Y sont ind´ependante si et seulement si pour tout
i, j
pi,j = P(X = xi, Y = yj) = P(X = xi) × P(Y = yj) = pi· × p·j.
24
25. Arthur CHARPENTIER - Analyse des donn´ees
Retour aux effectifs et fr´equences (empiriques)
Definition 3. On appelera profils lignes les fr´equences conditionnalles
fj|i =
fi,j
fi,·
,
Li = [f1|i, · · · , fj|i, · · · , fj|I].
> HairEyeColor[,,Sex="Female"]/apply(HairEyeColor[,,Sex="Female"],1,sum)
Eye
Hair Brown Blue Hazel Green
Black 0.69230769 0.1730769 0.09615385 0.03846154
Brown 0.46153846 0.2377622 0.20279720 0.09790210
Red 0.43243243 0.1891892 0.18918919 0.18918919
Blond 0.04938272 0.7901235 0.06172840 0.09876543
Definition 4. On appelera profil ligne moyen le vecteur
L =
i
fi,·Li
> M <- HairEyeColor[,,Sex="Female"]/apply(HairEyeColor[,,Sex="Female"],1,sum)
25
26. Arthur CHARPENTIER - Analyse des donn´ees
> (P <- apply(HairEyeColor[,,Sex="Female"],1,sum)/sum(HairEyeColor[,,Sex="Female"]))
Black Brown Red Blond
0.1661342 0.4568690 0.1182109 0.2587859
> (L=t(P)%*%M)
Eye
Brown Blue Hazel Green
[1,] 0.3897764 0.3642173 0.1469649 0.09904153
Rappelons que, par contruction, les profils lignes sont des points du simplexe de
RJ
.
26
27. Arthur CHARPENTIER - Analyse des donn´ees
Definition 5. On appelle profils colonnes les fr´equences conditionnalles
fj|i =
fi,j
fi,·
,
Cj = [f1|j, · · · , fi|j, · · · , fI|j].
27
28. Arthur CHARPENTIER - Analyse des donn´ees
> t(t(HairEyeColor[,,Sex="Female"])/apply(HairEyeColor[,,Sex="Female"],2,sum))
Eye
Hair Brown Blue Hazel Green
Black 0.29508197 0.07894737 0.1086957 0.06451613
Brown 0.54098361 0.29824561 0.6304348 0.45161290
Red 0.13114754 0.06140351 0.1521739 0.22580645
Blond 0.03278689 0.56140351 0.1086957 0.25806452
28
29. Arthur CHARPENTIER - Analyse des donn´ees
Notons que l’on peut obtenir un profil colonne moyen
C =
j
f·,jCj
> M <- t(t(HairEyeColor[,,Sex="Female"])/apply(HairEyeColor[,,Sex="Female"],2,sum))
> (P <- apply(HairEyeColor[,,Sex="Female"],2,sum)/sum(HairEyeColor[,,Sex="Female"]))
Brown Blue Hazel Green
0.38977636 0.36421725 0.14696486 0.09904153
> (C=M%*%P)
Hair [,1]
Black 0.1661342
Brown 0.4568690
Red 0.1182109
Blond 0.2587859
29
30. Arthur CHARPENTIER - Analyse des donn´ees
Hypoth`ese d’ind´ependance, et chi-deux
Les variables X et Y sont ind´ependantes si une des conditions suivante est
satisfaite
• tous les profils lignes sont ´egaux, L1 = · · · = LI = L
• tous les profils colonnes sont ´egaux, C1 = · · · = CJ = C
• pour tout i et pour tout j
fi,j = fi,·f·,j = f⊥
i,j ou ni,j =
ni,·n·,j
n
= n⊥
i,j
Notons que
ni,·n·,j
n
est parfois appel´e effectif th´eorique, sous hypoth`ese
d’ind´ependance.
> C%*%L
Eye
Hair Brown Blue Hazel Green
Black 0.06475518 0.06050894 0.02441589 0.01645418
Brown 0.17807674 0.16639958 0.06714369 0.04524901
Red 0.04607580 0.04305444 0.01737284 0.01170779
Blond 0.10086864 0.09425430 0.03803244 0.02563056
30
31. Arthur CHARPENTIER - Analyse des donn´ees
> HairEyeColor[,,Sex="Female"]/sum(HairEyeColor[,,Sex="Female"])
Eye
Hair Brown Blue Hazel Green
Black 0.11501597 0.02875399 0.01597444 0.006389776
Brown 0.21086262 0.10862620 0.09265176 0.044728435
Red 0.05111821 0.02236422 0.02236422 0.022364217
Blond 0.01277955 0.20447284 0.01597444 0.025559105
Definition 6. On appelera distance du chi-deux entre X et Y , la quantit´e
χ2
= nϕ = n
i,j
(fi,j − f⊥
i,j)2
f⊥
i,j
contribution au χ2
= =
i,j
(ni,j − n⊥
i,j)2
)
n⊥
i,j
= n
i,j
n2
i,j
ni,·n·,j
− 1
.
31
32. Arthur CHARPENTIER - Analyse des donn´ees
Hypoth`ese d’ind´ependance, et chi-deux
Cette grandeur est souvent utilis´ee comme test d’ind´ependance. En effet, sous
l’hypoth`ese H0 : X ⊥⊥ Y , χ2
suit une loi du chi-deux `a (I − 1)(J − 1) degr´es de
libert´e.
> (Chi2 <- (HairEyeColor[,,Sex="Female"]/sum(HairEyeColor[,,Sex="Female"])-C%*%L)^2/C%*%L)
Eye
Hair Brown Blue Hazel Green
Black 0.0390107445 0.016664917 0.002918510 6.156021e-03
Brown 0.0060362404 0.020058724 0.009690584 5.988995e-06
Red 0.0005518279 0.009942881 0.001434067 9.699490e-03
Blond 0.0769286421 0.128886699 0.012793165 1.991869e-07
> sum(Chi2)
[1] 0.3407787
> sum(M1/M2)*sum(HairEyeColor[,,Sex="Female"])
[1] 106.6637
> chisq.test(HairEyeColor[,,Sex="Female"])
Pearson’s Chi-squared test
32
33. Arthur CHARPENTIER - Analyse des donn´ees
data: HairEyeColor[, , Sex = "Female"]
X-squared = 106.6637, df = 9, p-value < 2.2e-16
Warning message:
In chisq.test(HairEyeColor[, , Sex = "Female"]) :
l’approximation du Chi-2 est peut-tre incorrecte
33
34. Arthur CHARPENTIER - Analyse des donn´ees
Le but de l’AFC
Les objectifs de l’analyse factorielle des correspondances (AFC) sont de
• comparer les profils-lignes entre eux,
• comparer les profils-colonnes entre eux,
• rep´erer les cases du tableau o`u les effectifs observs ni,j sont nettement
diff´erents des effectifs th´eoriques (sous hypoth`ese d’ind´ependance) n⊥
i,j, pour
mettre en vidence les modalits xi et yj qui s’attirent (cas o`u ni,j > n⊥
i,j) et
celles qui se repoussent (cas o`u ni,j < n⊥
i,j)
L’AFC est une m´ethode faisant apparatre les carts la situation d’indpendance,
au niveau des lignes, des colonnes, ou des cases du tableau de contingence.
34
35. Arthur CHARPENTIER - Analyse des donn´ees
Utiliser la distance du chi-deux
L’id´ee pour comparer des profils lignes ou des profils colonnes sera d’utiliser la
distance du χ2
. La distance entre deux profils lignes Li1
et Li2
sera alors
d(Li1
, Li2
) =
j
1
f·,j
fi1,j
fi1,·
−
fi2,j
fi2,·
2
Pour utiliser ce que nous avions vu sur l’analyse d’un nuage de points, on
repr´esente chaque modalit´e xi par un vecteur de RJ
xi = [xj
i ] o`u
xj
i =
fj|i
f·,j
=
fi,j
fi,· f·,j
de telle sorte que la distance euclidienne
d(xi1 , xi2 ) = d(Li1 , Li2 ).
De mani`ere duale, on peut aussi s’int´eresser `a la variable Y .
35
36. Arthur CHARPENTIER - Analyse des donn´ees
Un peu d´ecriture matricielle
Si K d´esigne la matrice associ´ee au tableau de contingence, K = [ni,j], on note
DX = diag(n1,·, · · · , nI,·) et DY = diag(n·,1, · · · , n·,J ).
On peut alors obtenir facilment les profils lignes et colonnes, en notant que
L = D−1
X K et C = KD−1
Y .
=⇒ on peut alors ´etudier le nuage des profils lignes, dans RJ
, o`u `a chaque point
on associe un poids ´egal `a sa fr´equence marginale : la matrice des poids est alors
1
n
DX.
Le centre de gravit´e du nuage est le profil ligne moyen
L =
1
n
D−1
X K DX .
36
37. Arthur CHARPENTIER - Analyse des donn´ees
On fait alors une ACP sur ce nuage de points munis, de cette m´etrique. En effet
d(Li1
, Li2
) = Li1
, Li2 nD−1
Y
.
Cette pond´eration n/n·,j permet de donner une mˆeme importance aux
“variables”, i.e. aux colonnes j. En effet, supposons que l’on regroupe deux
modalit´es j1 et j2. L’effectif de cette nouvelle modailit´e, not´ee j0 est alors
nj0
= nj1
+ nj2
. Si l’on mesure d(Li, Li ) dans les deux cas, on notera que
n
n·,j1
ni,j1
ni,·
−
ni ,j1
ni ,·
2
+
n
n·,j2
ni,j2
ni,·
−
ni ,j2
ni ,·
2
=
n
n·,j0
ni,j0
ni,·
−
ni ,j0
ni ,·
2
=
n
n·,j1
+ n·,j2
ni,j1 + n·,j2
ni,·
−
ni ,j1 + n·,j2
ni ,·
2
c’est `a dire que la distance entre deux profils ligne reste inchang´ee.
37
38. Arthur CHARPENTIER - Analyse des donn´ees
Notons que l’inertie totale du nuage des profils lignes est
I =
i
ni,·
n
d(Li, L) =
i,j
ni,·
n
ni,i
ni,·
−
n·,j
n
2
=
χ2
n
,
i.e. l’inertie mesure la distance `a l’ind´ependance.
L’AFC consiste `a faire deux ACP,
• sur les profils lignes,
◦ sur le tableau de donn´ees X = D−1
X K
◦ avec pour m´etrique M = nD−1
Y
◦ et pour matrice de poids D =
1
n
DX
• sur les profils colonnes,
◦ sur le tableau de donn´ees X = D−1
Y K
◦ avec pour m´etrique M = nD−1
X
◦ et pour matrice de poids D =
1
n
DY
38
39. Arthur CHARPENTIER - Analyse des donn´ees
Les axes principaux
Une fois construits les nuages, on peut rechercher les axes (et facteurs)
principaux.
Le nuage des profiles lignes ´etant dans le simplexe de RJ
, il existe une valeur
propres “trivial”, orthogonal `a cet hyperplan, assoc´e `a l valeur propre (not´ee)
λ0 = 0.
Les J − 1 autres axes principaux sont not´es uα, α = 1, · · · , J − 1, et v´erifient
DY −1K D−1
X Kuα = λαuα, pour α = 1, · · · , J − 1.
On notera ∆uα ces axes.
Les facteurs principaux sont cα
= [cα
i ], o`u cα
i = xiuα.
Pour les profils colonnes, les I − 1 axes principaux (non triviaux) sont not´es vα,
α = 1, · · · , I − 1, et v´erifient
DX−1KD−1
Y K vα = λαvα, pour α = 1, · · · , J − 1.
39
40. Arthur CHARPENTIER - Analyse des donn´ees
On notera que les deux analyses donnent les mˆemes valeurs propres. De plus, les
facteurs propres de l’un sont les composantes principales de l’autre.
Pour r´esumer, les coordonn´ees des projections des lignes et des colonnes
s’obtiennent en cherchant les vecteurs propres des produits des deux tableaux de
profils ligne et colonne.
Et surtout, il est possible de projeter les deux nuages sur une mˆeme
repr´esentation
> bd=as.data.frame(HairEyeColor[,,Sex="Female"])
> dudi.coa(bd, scannf = FALSE, nf = 3)
40
41. Arthur CHARPENTIER - Analyse des donn´ees
Les formules de transition
Il est possible de repr´esenter les deux analyses simultan´ement. En effet, notons
que
λαdα
j =
i
fi,j
f·,j
fi|j
cα
i
λαcα
i =
i
fi,j
fi,·
ωfj|i
dα
j
Ceci signifie que le point de coordonn´ees (
√
λαdα
j ,
√
λαdα
j ) est le barycentre des
points (cα
i , cβ
i ), i = 1, · · · , I auquels on a affect´e des poids fi|j.
De mˆeme (
√
λαcα
i ,
√
λαcα
i ) est le barycentre des points (dα
j , dβ
j ), j = 1, · · · , J
auquels on a affect´e des poids fj|i.
=⇒ on en d´eduit que pour tout α, 0 ≤ λα ≤ 1.
On super pose alors les projections des deux nuages sur des plans engendr´es par
41
42. Arthur CHARPENTIER - Analyse des donn´ees
les axes de mˆeme rang, en confondant alors
∆uα = ∆vα = ∆α
42
43. Arthur CHARPENTIER - Analyse des donn´ees
Mise en oeuvre sur un cas pratique (1)
Consid´erons l’exemple de l’´etude de la correspondance entre
• la cat´egorie socioprofessionnelle
• le type d’h´ebergement en vacances
Source : M. Goguel (1967). Les vacances des Franais en 1966. ´Etudes et
conjoncture.
CSP Hotel Location Res.Second Parents Amis Camping Sej.org Autres Total
Agriculteurs 195 62 1 499 44 141 49 65 1056
Patrons 700 354 229 959 185 292 119 140 2978
Cadres.sup 961 471 633 1580 305 360 162 148 4620
Cadre.moy 572 537 279 1689 206 748 155 112 4298
Employes 441 404 166 1079 178 434 178 92 2972
Ouvriers 783 1114 387 4052 497 1464 525 387 9209
Autres.actifs 142 103 210 1133 132 181 46 59 2006
Inactifs 741 332 327 1789 311 236 102 102 3940
Total 4535 3377 2232 12780 1858 3856 1336 1105 31079
43
45. Arthur CHARPENTIER - Analyse des donn´ees
Standardized
Residuals:
<−4−4:−2−2:00:22:4>4
AgriculteursPatrons Cadres.sup Cadre.moyEmployes Ouvriers Autres.actifsInactifsHotelLocationRes.SecondParentsAmisCampingSej.orgAutres
q
−0.2 0.0 0.2 0.4
−0.4−0.20.00.2
CA factor map
Dim 1 (59.98%)
Dim2(24%)
q
q
q
q
q
q
q
q
Agriculteurs
Patrons
Cadres.sup
Cadre.moy
Employes
Ouvriers
Autres.actifs
Inactifs
Hotel
Location
Res.Second
Parents
Amis
Camping
Sej.org
Autres
Les modalit´es de la variable csp se projettent de la mani`ere suivante
> S$col
$coord
Dim 1 Dim 2 Dim 3 Dim 4 Dim 5
45
47. Arthur CHARPENTIER - Analyse des donn´ees
Dim 1 Dim 2 Dim 3 Dim 4 Dim 5
Hotel 0.7676369 0.15637439 6.769792e-02 0.007908418 1.119836e-05
Location 0.1323457 0.64874111 1.300790e-01 0.010657697 6.720558e-02
Res.Second 0.7051134 0.04648697 2.369069e-01 0.001190780 1.027473e-02
Parents 0.2004684 0.74989464 4.599130e-02 0.002843753 7.568512e-04
Amis 0.5188822 0.15868040 5.251467e-03 0.082720902 2.313574e-01
Camping 0.7778158 0.13720456 3.879683e-02 0.038096581 7.805767e-03
Sej.org 0.4824960 0.24802171 4.824459e-05 0.241614476 1.157093e-04
Autres 0.0945642 0.08683155 3.059035e-01 0.170247535 3.131652e-01
Les modalit´es de la variable vacances se projettent de la mani`ere suivante
> S$row
$coord
Dim 1 Dim 2 Dim 3 Dim 4 Dim 5
Agriculteurs -0.11160583 0.009686625 -0.331079734 -0.05028123 0.108913985
Patrons 0.21302067 0.175665571 -0.083575888 0.01167763 0.019443713
Cadres.sup 0.32571537 0.022229111 0.092811557 0.02470341 0.037327118
Cadre.moy -0.10038234 0.069364473 0.071450764 -0.10559460 -0.002748292
Employes -0.06710022 0.134872398 0.020813580 0.02593565 -0.049499681
Ouvriers -0.23618313 -0.003534578 0.007116966 0.03767886 0.002723447
Autres.actifs -0.01164813 -0.396747383 0.048110957 -0.01057656 0.040091875
47
48. Arthur CHARPENTIER - Analyse des donn´ees
Inactifs 0.20505507 -0.128579628 -0.091696513 -0.01137359 -0.074098260
$contrib
Dim 1 Dim 2 Dim 3 Dim 4 Dim 5
Agriculteurs 0.95677882 0.01801433 48.6726341 3.8344548 23.93783931
Patrons 9.82974105 16.70733721 8.7466638 0.5832593 2.15147752
Cadres.sup 35.65269429 0.41504523 16.7340797 4.0493338 12.30111902
Cadre.moy 3.15032176 3.75967087 9.2264771 68.8299839 0.06203631
Employes 0.97335351 9.82888382 0.5413749 2.8712499 13.91577299
Ouvriers 37.36664509 0.02091687 0.1961363 18.7774144 0.13052815
Autres.actifs 0.01979782 57.40745717 1.9524263 0.3222906 6.16165515
Inactifs 12.05066765 11.84267451 13.9302079 0.7320133 41.33957155
$cos2
Dim 1 Dim 2 Dim 3 Dim 4 Dim 5
Agriculteurs 0.0903790916 0.0006808308 0.7953520482 0.0183445078 0.0860719225
Patrons 0.5365926163 0.3649005228 0.0825967931 0.0016125393 0.0044705357
Cadres.sup 0.9044719383 0.0042127220 0.0734383161 0.0052027427 0.0118786613
Cadre.moy 0.3233486333 0.1543940559 0.1638212209 0.3577995679 0.0002423719
Employes 0.1654966075 0.6686322656 0.0159233608 0.0247249553 0.0900629089
Ouvriers 0.9732215612 0.0002179661 0.0008836976 0.0247690548 0.0001294053
48
49. Arthur CHARPENTIER - Analyse des donn´ees
Autres.actifs 0.0008396854 0.9741640461 0.0143249113 0.0006922976 0.0099475626
Inactifs 0.5790524131 0.2276780652 0.1157930516 0.0017814424 0.0756123744
49
50. Arthur CHARPENTIER - Analyse des donn´ees
Mise en oeuvre sur un cas pratique (2)
Consid´erons l’exemple de l’´etude de la correspondance entre
• la cat´egorie socioprofessionnelle
• le sexe
• le niveau d’´etude
Formellement, il y a 3 variables, ce qui sort du cadre de l’AFC (on parlera alors
d’ACM), mais on peut r´esoudre le probl`eme en croisant le sexe et la cat´egorie
socio-professionnelle ou le sexe de le niveau d´etude.
50
53. Arthur CHARPENTIER - Analyse des donn´ees
Mise en oeuvre sur un cas pratique (3)
Consid´erons l’exemple de l’´etude de la correspondance entre
• la personne pour laquelle un individu a vot´e en 2002
• sa lecture de la presse
> base=read.table("http://perso.univ-rennes1.fr/arthur.charpentier/election2002.txt",heade
> S=CA(base, ncp = 5, row.sup = NULL, col.sup = NULL, graph = TRUE)
53
54. Arthur CHARPENTIER - Analyse des donn´ees
q
−0.5 0.0 0.5
−1.0−0.50.0
CA factor map
Dim 1 (62.16%)
Dim2(14.24%)
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
Laguiller
Besancenot
Hue
Jospin
Taubira
ChevenementMamere
Lepage
SaintJoss
Bayrou
Madelin
Chirac
Boutin
Megret
LePen
Blanc
LaCroix
LeFigaro
Liberation
LeMonde
LeParisien
LeCanard
LExpress
Marianne
NouvelObs
ParisMatch
Telerama
LePoint
q
−0.5 0.0 0.5
−0.50.00.5
CA factor map
Dim 1 (62.16%)
Dim3(9.549%)
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
Laguiller
BesancenotHue
Jospin
Taubira
Chevenement
Mamere
Lepage
SaintJoss
Bayrou
Madelin
Chirac
Boutin
Megret
LePen Blanc
LaCroix
LeFigaro
Liberation
LeMonde
LeParisien
LeCanard
LExpress
Marianne
NouvelObs
ParisMatch
TeleramaLePoint
Pour les magasines, les contributions (en %) sont les suivantes
> S$col$contrib
Dim 1 Dim 2 Dim 3 Dim 4 Dim 5
LaCroix 14.477874 57.10298828 3.043496962 1.9960478 6.64173190
54
55. Arthur CHARPENTIER - Analyse des donn´ees
LeFigaro 14.890397 4.67956540 0.005551326 2.7522662 0.06599441
Liberation 19.208557 3.05057114 9.421269567 0.2965368 1.01442538
LeMonde 1.546019 1.33611708 0.431175550 0.3822910 0.24322465
LeParisien 1.609276 2.76962371 0.011156019 44.0739203 31.68995798
LeCanard 9.600434 0.07622575 5.230881548 10.1559074 7.79727084
LExpress 1.668133 2.89001903 9.388142005 3.0367054 13.31531649
Marianne 2.162868 4.34929952 55.413649645 5.2678019 7.43358474
NouvelObs 6.878870 0.28306337 7.288769622 1.3130736 2.26186367
ParisMatch 4.894560 4.62598598 0.000908139 8.0359775 8.92495142
Telerama 10.237224 14.55720927 5.335540128 2.4675641 12.04148099
LePoint 12.825789 4.27933146 4.429459489 20.2219081 8.57019753
Pour les hommes politiques, les contributions (en %) sont les suivantes
> S$row$contrib
Dim 1 Dim 2 Dim 3 Dim 4 Dim 5
Laguiller 3.0433032 2.3560946 5.26320797 1.73265093 3.954262e-01
Besancenot 6.1771629 0.4186882 0.30555662 0.50556251 1.185275e+00
Hue 2.1886050 1.8859540 0.19229407 10.42041351 9.034430e+00
Jospin 29.5446175 3.9552709 6.63592538 0.56652719 1.407050e+01
Taubira 1.4154452 0.3644977 1.44345723 4.95200899 6.218341e+00
Chevenement 3.9883002 2.7238075 36.51849236 2.93805238 2.007694e+01
55
56. Arthur CHARPENTIER - Analyse des donn´ees
Mamere 8.0416195 2.5190071 4.36007085 1.90347775 9.085994e-01
Lepage 1.3033492 6.0569553 0.17395485 0.06850324 4.041566e+00
SaintJoss 0.0686719 0.4636200 10.18528418 2.99578718 2.956332e+01
Bayrou 3.2399931 34.6929978 0.12965475 0.78522853 2.925690e-01
Madelin 2.5068029 5.8438581 2.86731363 33.43646730 9.092064e-05
Chirac 23.9664625 4.5274835 9.96839279 4.29959109 5.454953e-01
Boutin 4.4041717 21.6862526 3.57172740 1.15559500 1.008395e+00
Megret 1.1757554 0.3680559 17.40755473 0.07580690 7.872857e+00
LePen 8.7983203 11.5463375 0.95079967 34.11932916 4.767015e+00
Blanc 0.1374194 0.5911194 0.02631352 0.04499834 1.918482e-02
Comme l’axe 3 a autant d’importance que l’axe 2, en terme d’explication, on
peut ´etudier les projections sur les axes 1 − 2 et 1 − 3,
> S$eig
eigenvalue percentage of variance cumulative percentage of variance
dim 1 2.061443e-01 62.16365 62.16365
dim 2 4.720735e-02 14.23557 76.39921
dim 3 3.166681e-02 9.549253 85.94847
dim 4 2.024433e-02 6.104759 92.05323
> S=CA(base, ncp = 5, row.sup = NULL, col.sup = NULL, graph = TRUE)
> plot.CA(S,axes=c(1,2))
56
58. Arthur CHARPENTIER - Analyse des donn´ees
Retour sur la m´ethodologie de l’AFC
Sous R, plusieurs fonctions permettent de faire des AFC
• dans library(ade4), la fonction dudi.coa, qui permet simplement de centrer et
r´eduire les variables.
• dans library(FactoMineR), la fonction CA permet de faire une AFC.
58
59. Arthur CHARPENTIER - Analyse des donn´ees
L’ACP avec dudi.coa
Cette partie sera inspir´ee de Dufour & Royer (2008), tdr620.pdf.
Reprenons la base de donn´ees sur la couleur de cheveux et des yeux (que l’on
transforme de matrice en data.frame).
> M <- HairEyeColor[,,Sex="Female"]
> M
Eye
Hair Brown Blue Hazel Green
Black 36 9 5 2
Brown 66 34 29 14
Red 16 7 7 7
Blond 4 64 5 8
> df <- data.frame(unclass(M))
> afc <- dudi.coa(dfcouleur, scannf = F, nf = 3)
Pour visualiser le tableau de contingence, on retiendra le graphique suivant
> mosaicplot(M,shade=TRUE)
59
60. Arthur CHARPENTIER - Analyse des donn´ees
Pour construire les profils lignes et colonnes, on utilise respectivement
prop.table(M,1) et prop.table(M,2).
Pour analyse l’AFC, dudi.coa renvoie les vecteurs et matrices suivants. afc$lw et
afc$cw sont les pond´erations des lignes et des colonnes, i.e. les fr´equences
marginales de la table de contingence observ´ee.
Les coordonn´ees des lignes dites axes principaux sont donn´ees par afc$li, qui
sont des vecteurs centr´es, de variances λ et de covariances nulles. De mˆeme, Les
coordonn´ees des colonnes dites composantes principales s’obtiennent `a l’aide de
la fonction afc$co (elles aussi centr´es, de variances λ et de covariances nulles).
Rappelons enfin que l’inertie totale, correspondant `a la somme des valeurs
propres est li´ee `a la statistique du test du χ2
,
> sum(afc$eig)
[1] 0.3407787
> chisq.test(M)$statistic/sum(M)
X-squared
0.3407787
60
61. Arthur CHARPENTIER - Analyse des donn´ees
Pour visualiser l’AFC, on retiendra les deux graphiques suivants
> score(ac)
61
62. Arthur CHARPENTIER - Analyse des donn´ees
Travaux dirig´es
Le TD portera sur la base de donn´ees election2007.xls, t´el´echargeables sur ma
page internet.
62