1 Données Catsdata
Il est supposé que les données ont été importées dans R à l’aide de la commande :
1. Analyse exploratoire
summary(data)
apply(data[,2:3], 2, sd)
1
30
40
25
20
30
frequency
frequency
15
20
10
10
5
0
0
2.0 2.5 3.0 3.5 4.0 10 15 20
Bwt Hwt
(c) La corrélation entre les deux variables quantitatives s’obtient à l’aide de la com-
mande cor(data[,2:3]). Elle vaut 0.80.
Cette corrélation est assez forte et positive (ce qui, intuitivement, est assez na-
turel). Le nuage de points de la Figure 2 confirme la présence d’une tendance
linéaire croissante assez bien prononcée entre les deux variables.
20
18
16
14
Hwt
12
10
8
6
Bwt
(d) Pour pouvoir calculer la corrélation entre les deux variables Bwt et Hwt tout en
n’utilisant que les chats mâles ou les chattes, il faut d’abord construire des sous-
ensembles basés sur les deux modalités possibles de la variable Sex comme suit:
Males <- data[Sex=="M", 2:3]
Femelles <- data[Sex=="F", 2:3]
2
Ensuite, la commande cor peut à nouveau être exploitée (via les commandes
précises cor(Males) et cor(Femelles)). On obtient une corrélation de 0.79
pour les chats mâles et de 0.53 pour les femelles. Le diagramme de la Figure 3
est obtenu via les commandes suivantes :
plot(Bwt, Hwt, col=as.integer(Sex))
legend("topleft", levels(Sex), col=1:2, pch=16)
On y distingue effectivement deux comportements différents. La tendance linéaire
observée parmi les chats de sexe féminin est moins marquée que celle visible parmi
les mâles, ce qui explique la différence entre les deux corrélations calculées.
● F ●
20
● M
18
●
●
16
●
●
●
● ●
● ●
● ● ●
14
●
●
Hwt
● ●
●
● ● ●
● ● ● ●
● ● ●
● ● ● ●
● ● ●
12
● ● ● ●
● ● ●
● ● ●
● ● ● ●
● ● ●
● ● ● ●
● ● ●
● ● ● ●
● ● ●
● ● ●
10
● ● ● ● ● ●
● ● ● ●
●
● ●
● ●
● ● ● ●
● ●
● ● ● ● ● ●
● ● ●
● ● ●
● ● ● ●
● ● ●
●
● ●
8
● ● ● ●
● ● ●
● ● ● ●
● ●
●
●
●
●
6
Bwt
Figure 3: Diagramme de dispersion de la variable Hwt en fonction de la variable Bwt, où les
femelles sont représentées en noir et les mâles en rouge
(e) Les boı̂tes à moustaches des variable Bwt et Hwt sont représentées à la Figure 4
et ont été obtenues à partir des commandes
boxplot(Bwt ∼ Sex)
boxplot(Hwt ∼ Sex)
Aucune mesure n’est extérieure en ce qui concerne les poids des corps (c’est
également le cas si la boı̂te est représentée globalement, sans distinction des gen-
res). Par contre, deux chats (un mâle et une femelle) ont des poids du coeur
qui s’écartent un peu de la limite supérieure des moustaches. Il serait cependant
exagéré de qualifier ces chats d’atypiques car les valeurs qui leur correspondent
ne sont pas si extrêmes. Pour déterminer quels individus correspondent à ces
valeurs extérieures, la commande Boxplot (avec une majuscule) de la librairie
car est utile. Cette commande s’exploite exactement de la même manière que
la commande usuelle boxplot mais indique, par défaut, les indices des observa-
tions extérieures. Il est intéressant de noter que la chatte 47 ne serait pas repérée
3
comme observation extérieure à la boı̂te à moustaches si les genres avaient été
mélangés. Par contre, l’observation 144, elle, resterait extérieure si l’analyse était
effectuée globalement.
20
18
3.5
16
3.0
14
Bwt
Hwt
12
2.5
10
8
2.0
6
F M F M
Sex
Sex
Figure 4: Boı̂tes à moustaches des variables Bwt et Hwt décomposées en fonction du sexe des
chats
(f) A partir de ces graphiques, il semble peu plausible que les chats mâles et les chats
femelles soient caractérisés par des poids du corps et du coeur de distribution sim-
ilaire. On constate un décalage en tendance centrale, une différence de dispersion
et un lien linéaire plus faible chez les femelles.
(g) Pour rappel, les valeurs standardisées s’obtiennent comme suit :
plot(Z.Bwt, type="h")
plot(Z.Hwt, type="h")
abline(h=3,col="red")
identify(Z.Hwt)
4
4
144
2
3
2
1
Z.Hwt
Z.Bwt
1
0
0
−1
−1
−2
0 20 40 60 80 100 120 140 0 20 40 60 80 100 120 140
m<-apply(data[,2:3],2,mean)
S<-var(data[,2:3])
distmah<-mahalanobis(data[,2:3],m,S)
abline(h=qchisq(0.95, 2),col="red")
5
144
15
140
10
dist
135142
5
0
Observation Index
Figure 6: Distances de Mahalanobis (au carré) basées sur les 2 variables quantitatives de la
base de données de départ
2. Analyse confirmatoire
(a) Suite à leur définition à la question 1(d), les ensembles de données Femelles et
Males contiennent les valeurs des deux variables quantitatives mesurées séparément
sur les femelles et les mâles. En exploitant le test de normalité de Shapiro-Wilks
(via la commande shapiro.test), on obtient les outputs ci-dessous :
Un seul des quatre tests mène au rejet de l’hypothèse de normalité : celui effectué
sur le poids du corps des femelles. En regardant les histogrammes construits
6
sur les deux variables en séparant les chats mâles (histogrammes du dessous) des
chats femelles (histogrammes du dessus), ces résultats ne semblent pas très sur-
prenants, même si le premier rectangle observé dans l’histogramme de la vari-
able Bwt mesurée sur les mâles est relativement incompatible également avec
l’hypothèse de normalité (mais cet écart à la normalité n’est pas suffisant pour
rejeter l’hypothèse nulle).
Femelles Femelles
14
15
10
Frequency
Frequency
10
8
6
4
5
2
0
Bwt Hwt
Mâles Mâles
15
25
20
Frequency
Frequency
10
15
10
5
5
0
Bwt Hwt
Figure 7: Histogrammes des deux variables Bwt et Hwt construits dans les deux sous-
ensembles
(b) Les hypothèses à vérifier avant l’application du test de comparaison des moyennes
sont (i) la normalité dans chaque sous-population et (ii) l’égalité des variances.
En ce qui concerne la normalité, l’exercice précédent a montré qu’elle est acceptée
dans trois cas sur quatre. Le test de Student comparant les poids des corps pour-
rait être perturbé par le rejet de la normalité dans le sous-groupe des femelles.
En ce qui concerne l’homoscédasticité des variances, elle est rejetée pour les deux
variables. Le test à exploiter est (par exemple) le Test F de deux variances (com-
mande var.test dans R) et en exploitant les commandes spécifiques suivantes
var.test(Bwt∼Sex)
var.test(Hwt∼Sex)
7
on obtient des probabilités de dépassement nettement inférieures à 5%, menant
au rejet de l’homoscédasticité. Il convient donc d’utiliser le test de Student ap-
proximatif (test effectué par défaut dans R via la commande t.test). Il ne
faut cependant pas oublier de modifier l’option par défaut proposant un test
bilatéral puisque, dans le cas des chats, l’hypothèse d’intérêt consiste à mon-
trer que les mâles ont des poids plus importants que les femelles (il suffit de
spécifier alternative="less" puisque la première modalité est F). Les résultats
des deux tests de comparaison de moyennes sont repris ci-dessous (les commandes
spécifiques exploitées étant indiquées également).
Dans les deux cas, l’hypothèse d’égalité est rejetée en faveur de l’alternative selon
laquelle les poids des mâles (du corps ou du coeur) sont plus importants que ceux
des femelles.
(c) Afin de conserver globalement un niveau de 95%, il convient d’appliquer une cor-
rection, celle proposée par Bonferroni étant la plus simple. Même en multipliant
les p-valeurs obtenues par 2 (nombre de tests effectués), celles-ci restent bien plus
petites que 0.05, ce qui permet de confirmer le rejet de l’égalité des moyennes
pour les deux variables.
2 Données Hotdogdata
Au démarrage de cet exercice, l’importation des données doit être effectuée (après avoir
“supprimé” les données précédentes via la commande detach(data)) :
Les commandes exploitées dans cet exercice sont, pour la plupart, similaires à celles illustrées
sur les données concernant les chats. Elles sont néanmoins reproduites, autant que possible.
1. Analyse exploratoire :
8
(a) Statistiques descriptives : les valeurs demandées s’obtiennent à partir des outputs
des commandes suivantes :
summary(data)
diag(var(data[,2:3]))
Boxplot(Calories ∼ Type)
Boxplot(Sodium ∼ Type)
600
180
500
160
Calories
Sodium
400
140
120
300
100
200
33
Type Type
(c) Pour la variable Calories, on constate un comportement très proche entre les
deux types Beef et Meat, tandis que le troisième type d’hotdog correspond à
9
moins de calories globalement (la boı̂te est fortement décalée vers le bas). Les
variabilités sont comparables dans chaque groupe. En ce qui concerne le sodium,
les teneurs médianes sont, cette fois-ci, similaires dans les trois groupes mais les
variabilités sont différentes (les hotdogs du type Beef sont plus variables que
les autres). Dans toutes les boı̂tes du sodium, les observations inférieures à la
médiane sont plus concentrées que celles qui lui sont supérieures.
(d) En standardisant globalement les données, on obtient, à l’aide des commandes
ci-dessous (similaires pour la variable Sodium), les graphes indexés de la Figure
9.
plot(scale(Calories), type="h")
identify(scale(Calories))
15
2
1
1
Z.Calories
Z.Sodium
0
0
−1
−1
−2
−2
44 50 33
−3
0 10 20 30 40 50 0 10 20 30 40 50
m<-apply(data[,2:3],2,mean)
S<-var(data[,2:3])
10
distmah<-mahalanobis(data[,2:3],m,S)
plot(distmah,type="h")
abline(h=qchisq(0.95, 2),col="red")
identify(distmah)
33
8
600
43
43
500
6
Sodium
400
dist
300
2
200
33
0
Figure 10: Distances de Mahalanobis (au carré) basées sur les 2 variables quantitatives de la
base de données de départ (à gauche) et nuage de points avec ellipse de tolérance (à droite)
2. Analyse confirmatoire :
(a) L’homoscédasticité des variances n’est pas rejetée de façon univariée. En effet,
pour vérifier cette hypothèse en 1D, c’est le test de Bartlett qui est le plus clas-
sique. L’output reprenant le résultat de ce test (et également les commandes à
exploiter) est repris ci-dessous et montre que dans les deux cas, la p-valeur est
supérieure à 0.05 :
11
De plus, après avoir décomposé les données en trois sous-ensembles (pour chacun
des trois types de hotdogs), on peut vérifier que la normalité n’est pas rejetée pour
la variable Calories quel que soit le sous-groupe (voir les outputs spécifiques,
avec les commandes utilisées, ci-dessous). Par contre, en remplaçant la variable
Calories par Sodium, on doit rejeter la normalité pour les types Meat et Poultry
(p-valeurs approximativement égales à 0.02 dans chacun des deux cas).
et
12
que, d’autre part, les variabilités étaient comparables. Toutes ces constatations se
confirment ici. Pour la deuxième variable, l’hypothèse de normalité est violée dans
deux sous-ensembles, ce qui implique que le test n’est pas nécessairement fiable.
On voit cependant que ce que nous avions constaté également lors de l’analyse ex-
ploratoire (comportement similaire en moyenne) est à nouveau obtenu ici puisque
la p-valeur est plus grande que 0.05.
(b) Afin de combiner les deux résultats, suivons à nouveau l’approche de Bonferroni
en multipliant les p-valeurs obtenues par le nombre de tests effectués (deux tests).
La petite p-valeur reste bien inférieure à 0.05, tandis que la seconde ne fait que
s’éloigner encore plus de cette valeur limite. Globalement, les résultats individuels
restent valables dans ce contexte bivarié.
13