Académique Documents
Professionnel Documents
Culture Documents
—————
ACP d’un jeu de données très simple
PrJean R. Lobry
—————
4 Exercice 11
Références 11
1 Analyse univariée
On ne se lance jamais dans une analyse multivariée avant d’avoir soigneuse-
ment épuisé le point de vue univarié. Les données utilisées ici sont disponibles
dans le paquet ade4 de :
library(ade4)
data(deug)
1
PrJean R. Lobry
C’est bien plus clair ainsi, les plus mauvais résultats correspondent à la
modalité D et les meilleurs à la modalité A+. Regardons comment se répartissent
nos 104 étudiants.
table(deug$result)
D C- B- B A A+
11 20 2 52 17 2
plot(table(deug$result), lwd = 10, lend = "butt", las = 1,
main = "Résultat final à l'examen", ylab = "Nombre d'étudiants",
xlab = "Résultat")
50
Nombre d'étudiants
40
30
20
10
D C− B− B A A+
Résultat
Commentez cette distribution. Nous utiliserons plus tard cette variable qua-
litative comme variable illustrative pour aider à l’interprétation des plans fac-
toriels.
Une valeur faible correspond à une mauvaise note, une valeur élevée cor-
respond à une bonne note. Mais c’est noté sur combien m’sieur ? Très bonne
question, c’est l’objet cent qui nous dit combien de points il faut pour avoir la
moyenne.
deug$cent
Algebra Analysis Proba Informatic Economy Option1 Option2
50 30 40 30 60 20 20
English Sport
20 0
Economy
Algebra
Proba
Informatic
Analysis
English
Option2
Option1
0 20 40 60 80 100 120
Nombre de points
À votre avis dans quel type de fillière universitaire étaient inscrits ces étu-
diants ?
Density
Density
0 20 40 60 80 100 0 10 20 30 40 50 60 0 20 40 60 80 0 10 20 30 40 50 60
N = 104Economy
Bandwidth = 3.449 N = 104 Option1
Bandwidth = 2.918 N = 104 Option2
Bandwidth = 4.757 N = 104 English
Bandwidth = 2.587
Density
Density
Density
0 20 40 60 80 100 120 0 10 20 30 40 0 10 20 30 40 0 10 20 30 40
Quel est la signification de la ligne verticale rouge ? Quelles sont les matières
difficiles ? Si vous n’aviez qu’une discipline à réviser, laquelle choisiriez-vous ?
Le sport est un peu à part ici, commentez la distribution des notes de sport :
x <- deug$tab[,"Sport"]
plot(density(x), xlab = "Note", bty = "n", yaxt = "n",
ylab = "", main = "Sport")
rug(x, col = "blue")
Sport
0 5 10 15
Note
20 50 10 40 10 25 10 25
50
Algebra
10
50
Analysis
20
30
Proba
0
40
Informatic
10
70
Economy
40
25
Option1
10
20
Option2
5
25
English
10
10 50 0 30 40 70 5 20
Les corrélations sont elles plutôt positives ou négatives ? À votre avis pour-
quoi ?
Sport Sport
English English
Option2 Option2
Option1 Option1
Economy Economy
Informatic Informatic
Proba Proba
Analysis Analysis
Algebra Algebra
0 20 40 60 80 −3 −2 −1 0 1 2 3
29
84
80
31
67
58
95
13 98 103 51 77 9245
20 88 104 50 2740
44 81 68 66 52
9946 74 155678 14
86 1025 85
70 2623516 69 76 18
17 8 36 37 39
42
5734 64 65 91
30
61 123 7
71 5 33 93
96794 21
6073 97 19 62 101
43 41
2283
75 1
53 89 87 6
54 59 94
28
23 49 100 32 82 38 9
47102 24
63
48
11
90
55
72
Ce n’est pas évident à interpréter parce que l’on ne connait pas personnelle-
ment les individus. Examinons les résultats de ceux qui ressortent sur le premier
axe :
deug$result[c(72,90)]
[1] D D
Levels: D < C- < B- < B < A < A+
deug$result[c(20,53,54)]
[1] A+ A+ A
Levels: D < C- < B- < B < A < A+
Le premier axe oppose donc les individus qui ont eu un très bon résultat à
ceux qui ont eu un très mauvais résultat. On peut généraliser cette approche en
utilisant le résulat comme variable illustrative sur le premier plan factoriel :
s.label(acp1$li)
s.class(acp1$li,deug$result, add.plot = TRUE, col =rainbow(6))
d=2
29
84
80
31
67
58
B− 95
13 98 103
51 77 9245
20 88 104 50 27 40
44 81 68 66 52
1025 85 46 74 1556
992 78 14
86 70 263516 69 76 37 1839
17 34 42 8 C−
A+ 57
B 65 36
64 91
A21 61 3
96794 6073 973019
12
71 337 93
625 101 D
43 41
2283
75 1
53 89 87 6
54 59 94
28
23 49 100 32 82 38 9
47102 24
63
48
11
90
55
72
10 20 30 40 50 60
50
40
y
y
30
20
−2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3
30
80
40
25
70
y
20
60
30
50
15
20
40
10
10
−2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3
15
25
10
20
20
y
y
15
5
15
10
10
5
−2 −1 0 1 2 3 −2 −1 0 1 2 3 −2 −1 0 1 2 3
Enfin, le plan des variables donne souvent une aide précieuse à l’interpréta-
tion :
s.corcircle(acp1$co)
English
Economy
Option2
Sport
Option1
Algebra
Proba
Informatic
Analysis
Eigenvalues d=2
English
Economy
29
Option2 84
80
31
67
58
95
103
13 9851
Sport 27 77 9245
20 88 50 68 66
104 99246 74 4044 78 81 52
86 1025 85
70 15 56 1476 18
26 3516 69
17 8
42 37 39
34 65
64 36 91
57
Option1 21 73 61 713 5 337 93
30 19
12
96 794 60
43 97 62 101 41
2283 1
Algebra 53 75 6
89 87
54 59 94
23 28 100 32 82 38 9
49
102 24
47
63
Proba 48
Informatic
11
90
55
72
Analysis
Proba Economy
Density
0 20 40 60 80 0 20 40 60 80 100 120
Sport Sport
English English
Option2 Option2
Option1 Option1
Economy Economy
Informatic Informatic
Proba Proba
Analysis Analysis
Algebra Algebra
0 20 40 60 80 −40 −20 0 10 20 30
Le graphique de droite est très intéressant, c’est lui qui nous permet d’opti-
miser l’investissement à effectuer. Supposons que je sois un étudiant très moyen,
en travaillant normalement je peux espérer avoir la note médiane dans chaque
matière. En anglais et dans les deux options je peux espérer grapiller quelques
points, mettons +8 en tout, en économie +10, en analyse +3 donc je peux ex-
pérer +21 de ce coté. En informatique je vais perdre 4 points, en probabilité 10
points et en algèbre 4, donc -18 points. Je pense que si je travaille une matière à
fond, je peux passer de la médiane au premier quartile, quelle matière choisir ?
Les probabilités sans hésiter, je peux espérer gagner ainsi 12 points, bien plus
qu’ailleurs.
Commenter le graphe des valeurs propres :
acp2 <- dudi.pca(deug$tab, center = deug$cent, scale = FALSE,scann=F)
barplot(acp2$eig)
400
300
200
100
0
d = 20
20
A+
53
96 54 86
4
5588 79 73
43 A10 89
60 58
21
1325 47
23 871749 70 61
102 2412 29
104 85
97 2630 62103
71 28 B2 335 98
50
51
22
41 57
34 99
11 19 5 10040
101
75 8 46 74
63 6 83 16 15
48 31
5933 42 67
732 84 27
44
81
77
65
64 36
69
B−
56
C−
94 45 78 93 76 80
6814
82 92
1 91 52
38
66 18
37
39
9
D 95
72
90
On retrouve sur le deuxième axe le gradient de résultat final, mais que signifie
le premier axe ? La vue de synthèse devrait aider :
par(mfrow=c(1,2))
scatter(acp2, posieig = "none", clab.col = 0.5, clab.row=0)
NULL
boxplot(as.data.frame(scale(deug$tab, center = deug$cent, scale = FALSE)), horizontal=T, las = 1,
main = "Après centrage sur 10/20",
xlab = "Note centrée-non-réduite", col = "lightblue", cex.axis = 0.8)
abline(v=0,col="red")
d = 20
Après centrage sur 10/20
Economy
Sport
Analysis
Proba Algebra English
Sport
Option1
Option2
Option2
Informatic English Option1
Economy
Informatic
Proba
Analysis
Algebra
Note centrée−non−réduite
4 Exercice
Le jeu de données seconde contient des variables de nature très similaires.
Analysez ce jeu de données.
data(seconde)
names(seconde)
[1] "HGEO" "FRAN" "PHYS" "MATH" "BIOL" "ECON" "ANGL" "ESPA"