statistique bivariée avec r

38
Statistique bivariee J. Barnier, présenté par M.A. Khouaja 4 mars 2016

Upload: mohamed-ali-khouaja

Post on 15-Apr-2017

490 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Statistique bivariée avec R

Statistique bivariee

J. Barnier, présenté par M.A. Khouaja

4 mars 2016

Page 2: Statistique bivariée avec R

NB

Ce document n’est qu’une présentation de la partie “Statistiquebivariée” de son document original de J. Barnier, diponible sur leweb : https://cran.r-project.org/doc/contrib/Barnier-intro_R.pdf

Page 3: Statistique bivariée avec R

Statistique bivariée

On entend par statistique bivariee l’étude des relations entre deuxvariables, celles-ci pouvant etre quantitatives ou qualitatives.

On travaillera sur les jeux de donnees fournis avec l’extensionquestionr et tire de l’enquete Histoire de vie et du recensement 1999

library(questionr)data(hdv2003)d <- hdv2003data(rp99)

Page 4: Statistique bivariée avec R

Deux variables quantitatives

Page 5: Statistique bivariée avec R

Deux variables quantitativesLa comparaison de deux variables quantitatives se fait en premierlieu graphiquement, en représentant l’ensemble des couples devaleurs. On peut ainsi représenterles valeurs du nombre d’heures passées devant la télévision selon l’âge:

20 40 60 80 100

02

46

810

12

d$age

d$he

ures

.tv

Page 6: Statistique bivariée avec R

Deux variables quantitatives

il n’y a pas de structure très nette qui semble se dégager. On peuttester ceci mathématiquement en calculant le coefficient decorrélation entre les deux variables à l’aide de la fonction (cor=0.18)

cor(d$age, d$heures.tv, use = "complete.obs")

## [1] 0.1776249

Page 7: Statistique bivariée avec R

Deux variables quantitatives

I On va donc s’intéresser plutôt à deux variables présentes dansle jeu de données rp99, la part de diplômés du supérieur et laproportion de cadres dans les communes du Rhône en 1999.

I À nouveau, commençons par représenter les deux variables(figure slide suivante).

Page 8: Statistique bivariée avec R

Deux variables quantitatives

0 5 10 15 20 25

05

1015

2025

3035

Part des diplomês du supérieur

Par

t des

cad

res

Ça ressemble déjà beaucoup plus à une relation de type linéaire.

Page 9: Statistique bivariée avec R

Deux variables quantitatives

I Calculons le coefficient de corrélation :

cor(rp99$dipl.sup, rp99$cadres)

## [1] 0.8975282

I C’est beaucoup plus proche de 1. On peut alors effectuer unerégression linéaire complète en utilisant la fonction lm

reg <- lm(cadres ~ dipl.sup, data = rp99)summary(reg)

Page 10: Statistique bivariée avec R

Deux variables quantitatives#### Call:## lm(formula = cadres ~ dipl.sup, data = rp99)#### Residuals:## Min 1Q Median 3Q Max## -9.6905 -1.9010 -0.1823 1.4913 17.0866#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 1.24088 0.32988 3.762 0.000203 ***## dipl.sup 1.38352 0.03931 35.196 < 2e-16 ***## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 3.281 on 299 degrees of freedom## Multiple R-squared: 0.8056, Adjusted R-squared: 0.8049## F-statistic: 1239 on 1 and 299 DF, p-value: < 2.2e-16

Page 11: Statistique bivariée avec R

Deux variables quantitativesLe résultat montre que les coefficients sont significativementdifférents de 0. La part de cadres augmente donc avec celle dediplômés du supérieur. On peut très facilement représenter la droitede régression à l’aide de la fonction abline

0 5 10 15 20 25

05

1015

2025

3035

Part des diplômés du supérieur

Par

t des

cad

res

Page 12: Statistique bivariée avec R

Une variable quantitative et une variablequalitative

Page 13: Statistique bivariée avec R

Une variable quantitative et une variable qualitativeI Quand on parle de comparaison entre une variable quantitative

et une variable qualitative, on veut en général savoir si ladistribution des valeurs de la variable quantitative est la mêmeselon les modalités de la variable qualitative. En clair : est ceque l’âge de ceux qui écoutent du hard rock est différent del’âge de ceux qui n’en écoutent pas ?

I Là encore, l’idéal est de commencer par une représentationgraphique. Les boîtes à moustaches sont parfaitement adaptéespour cela.

d.hard <- subset(d, hard.rock == "Oui")d.non.hard <- subset(d, hard.rock == "Non")boxplot(d.hard$age, d.non.hard$age)

1 2

2040

6080

100

Page 14: Statistique bivariée avec R

Une variable quantitative et une variable qualitative

1 2

2040

6080

100

-Boxplot de la répartition des âges(sous-populations)

Page 15: Statistique bivariée avec R

Une variable quantitative et une variable qualitativeLa constructions des sous-populations n’est pas nécessaire. On peututiliser directement la version de boxplot prenant une formule enargument

boxplot(age ~ hard.rock, data = d)

Non Oui

2040

6080

100

Page 16: Statistique bivariée avec R

Une variable quantitative et une variable qualitative

Non Oui

2040

6080

100

Page 17: Statistique bivariée avec R

Une variable quantitative et une variable qualitative

La population écoutant du hard rock a l’air sensiblement plus jeune.Mathématiquement, on peut calculer la moyenne d’âge des deuxgroupes en utilisant la fonction tapply

tapply(d$age, d$hard.rock, mean)

## Non Oui## 48.30211 27.57143

Page 18: Statistique bivariée avec R

Une variable quantitative et une variable qualitative

L’écart est très important. Est-il statistiquement significatif ? Pourcela on peut faire un test t de comparaison de moyennes à l’aide dela fonction t.test :

#### Welch Two Sample t-test#### data: d$age by d$hard.rock## t = 9.6404, df = 13.848, p-value = 1.611e-07## alternative hypothesis: true difference in means is not equal to 0## 95 percent confidence interval:## 16.11379 25.34758## sample estimates:## mean in group Non mean in group Oui## 48.30211 27.57143

Page 19: Statistique bivariée avec R

Une variable quantitative et une variable qualitative

I Le test est extrêmement significatifI L’intervalle de confiance à 95 % de la différence entre les deux

moyennes va de 16.1 à 27.6 ans.I Nous avons négligé une hypothèse fondamentale du test t : les

ensembles de valeur comparés doivent suivreapproximativement une loi normale et être de même variance

I Comment vérifier cela? [Graphique, puis test de normalité deShapiro-Wilk avec la fonction shapiro.test ET test d’égalité desvariances avec la fonction var.test]

Page 20: Statistique bivariée avec R

Une variable quantitative et une variable qualitative

Hard rock

d$age[d$hard.rock == "Oui"]

Fre

quen

cy

15 20 25 30 35 40 45

01

23

45

Sans hard rock

d$age[d$hard.rock == "Non"]

Fre

quen

cy

20 40 60 80 100

050

100

150

200

Page 21: Statistique bivariée avec R

Une variable quantitative et une variable qualitative

shapiro.test(d$age[d$hard.rock == "Oui"])

#### Shapiro-Wilk normality test#### data: d$age[d$hard.rock == "Oui"]## W = 0.86931, p-value = 0.04104

I Visiblement, le test estime que les distributions ne sont passuffisamment proches de la normalité dans les deux cas.

Page 22: Statistique bivariée avec R

Une variable quantitative et une variable qualitative

I Concernant l’égalité des variances:

tapply(d$age, d$hard.rock, var)

## Non Oui## 285.62858 62.72527

I L’écart n’a pas l’air négligeable. On peut le vérifier avec le testfourni par la fonction var.test

Page 23: Statistique bivariée avec R

Une variable quantitative et une variable qualitative

I Test d’égalité des variances:

var.test(d$age ~ d$hard.rock)

#### F test to compare two variances#### data: d$age by d$hard.rock## F = 4.5536, num df = 1985, denom df = 13, p-value = 0.003217## alternative hypothesis: true ratio of variances is not equal to 1## 95 percent confidence interval:## 1.751826 8.694405## sample estimates:## ratio of variances## 4.553644

Page 24: Statistique bivariée avec R

Une variable quantitative et une variable qualitative

I La différence est très significative. En toute rigueur le test tn’aurait donc pas pu être utilisé.

I Un nouveau test, connu sous le nom deWilcoxon/Mann-Whitney.

I Ce test a l’avantage d’être non-paramétrique, c’est à dire de nefaire aucune hypothèse sur la distribution des échantillonscomparés.

I Par contre il ne compare pas des différences de moyennes maisdes différences de médianes

wilcox.test(d$age ~ d$hard.rock)

Page 25: Statistique bivariée avec R

Une variable quantitative et une variable qualitative

wilcox.test(d$age ~ d$hard.rock)

#### Wilcoxon rank sum test with continuity correction#### data: d$age by d$hard.rock## W = 23980, p-value = 2.856e-06## alternative hypothesis: true location shift is not equal to 0

I Ouf ! La différence est hautement significativeI Ce test peut également fournir un intervalle de confiance avec

l’option conf.int=TRUE

Page 26: Statistique bivariée avec R

Deux variables qualitatives

Page 27: Statistique bivariée avec R

Deux variables qualitatives

I La comparaison de deux variables qualitatives s’appelle engénéral un tableau croisé. C’est sans doute l’une des analysesles plus fréquentes lors du traitement d’enquêtes en sciencessociales.

I La manière la plus simple d’obtenir un tableau croisé estd’utiliser la fonction table en lui donnant en paramètres lesdeux variables à croiser. En l’occurrence nous allons croiser unrecodage du niveau de qualification regroupé avec le fait depratiquer un sport. On commence par calculer la variablerecodée et par afficher le tri à plat des deux variables :

Page 28: Statistique bivariée avec R

Deux variables qualitatives

d$qualreg <- as.character(d$qualif)d$qualreg[d$qualif %in% c("Ouvrier specialise", "Ouvrier qualifie")]="Ouvrier"d$qualreg[d$qualif %in% c("Profession intermediaire", "Technicien")]="Intermediaire"table(d$qualreg)

#### Autre Cadre Employe Intermediaire Ouvrier## 58 260 594 246 495

table(d$sport)

#### Non Oui## 1277 723

Page 29: Statistique bivariée avec R

Deux variables qualitatives

Le tableau croisé des deux variables s’obtient de la manière suivante:

table(d$sport, d$qualreg)

#### Autre Cadre Employe Intermediaire Ouvrier## Non 38 117 401 127 381## Oui 20 143 193 119 114

I On n’a cependant que les effectifs, ce qui rend difficile lescomparaisons. L’extension questionr fournit des fonctionspermettant de calculer les pourcentages lignes, colonnes ettotaux d’un tableau croisé.

Page 30: Statistique bivariée avec R

Deux variables qualitatives

tab <- table(d$sport, d$qualreg)lprop(tab)

#### Autre Cadre Employe Intermediaire Ouvrier Total## Non 3.6 11.0 37.7 11.9 35.8 100.0## Oui 3.4 24.3 32.8 20.2 19.4 100.0## Ensemble 3.5 15.7 35.9 14.9 29.9 100.0

Page 31: Statistique bivariée avec R

Deux variables qualitativesI Les pourcentages ligne ne nous intéressent guère ici. On ne

cherche pas à voir quelle est la proportion de cadres parmi ceuxqui pratiquent un sport, mais plutôt quelle est la proportion desportifs chez les cadres. Il nous faut donc des pourcentagescolonnes, que l’on obtient avec la fonction cprop :

cprop(tab)

#### Autre Cadre Employe Intermediaire Ouvrier Ensemble## Non 65.5 45.0 67.5 51.6 77.0 64.4## Oui 34.5 55.0 32.5 48.4 23.0 35.6## Total 100.0 100.0 100.0 100.0 100.0 100.0

I Dans l’ensemble, le pourcentage de personnes ayant pratiquéun sport est de 35,6 %. Mais cette proportion varie fortementd’une catégorie professionnelle à l’autre : 55,0 % chez lescadres contre 23,0 % chez les ouvriers.

Page 32: Statistique bivariée avec R

Deux variables qualitativesI Pour tester l’existence d’un lien entre les modalités des deux

variables, on va utiliser le très classique test du CHI2I Celui-ci s’obtient grâce à la fonction chisq.test, appliquée au

tableau croisé obtenu avec la fonction table

chisq.test(tab)

#### Pearson's Chi-squared test#### data: tab## X-squared = 96.798, df = 4, p-value < 2.2e-16

I Le test est hautement significatif, on ne peut pas considérerqu’il y a indépendance entre les lignes et les colonnes dutableau.

Page 33: Statistique bivariée avec R

Deux variables qualitatives

I On peut affiner l’interprétation du test en déterminant dansquelle case l’écart à l’indépendance est le plus significatif enutilisant les résidus du test. Ceux-ci sont notammentaffichables avec la fonction chisq.residuals de questionr

chisq.residuals(tab)

#### Autre Cadre Employe Intermediaire Ouvrier## Non 0.11 -3.89 0.95 -2.49 3.49## Oui -0.15 5.23 -1.28 3.35 -4.70

Page 34: Statistique bivariée avec R

Deux variables qualitatives

Les cases pour lesquelles l’écart à l’indépendance est significatif ontun résidu dont la valeur est supérieure à 2 ou inférieure à -2. Ici onconstate que la pratique d’un sport est sur-représentée parmi lescadres et, à un niveau un peu moindre, parmi les professionsintermédiaires, tandis qu’elle est sousreprésentée chez les ouvriers.

Page 35: Statistique bivariée avec R

Deux variables qualitatives

On peut calculer le coefficient de contingence de Cramer du tableau,qui peut nous permettre de le comparer par la suite à d’autrestableaux croisés. On peut pour cela utiliser la fonction cramer.v dequestionr:

cramer.v(tab)

## [1] 0.24199

Page 36: Statistique bivariée avec R

Deux variables qualitativesEnfin, on peut obtenir une représentation graphique synthétisantl’ensemble des résultats obtenus sous la forme d’un graphique enmosaïque, grâce à la fonction mosaicplot.

mosaicplot(qualreg ~ sport, data = d, shade = TRUE, main = "Graphe en mosaïque")

Sta

ndar

dize

dR

esid

uals

:

<−

4−

4:−

2−

2:0

0:2

2:4

>4

Graphe en mosaïque

qualreg

spor

t

Autre Cadre Employe Intermediaire Ouvrier

Non

Oui

Page 37: Statistique bivariée avec R

Deux variables qualitatives

I Comment interpréter ce graphique haut en couleurs? Chaquerectangle représente une case de tableau.

I La largeur correspond au pourcentage des modalités encolonnes (il y’a beaucoup d’employés et d’ouvriers et très peud’« autres »).

I La hauteur correspond aux pourcentages-colonnes : laproportion de sportifs chez les cadres est plus élevée que chezles employés.

I Enfin, la couleur de la case correspond au résidu du test duCHI2 correspondant : les cases en rouge sont sous-représentées,les cases en bleu sur-représentées, et les cases blanches sontstatistiquement proches de l’hypothèse d’indépendance.

Page 38: Statistique bivariée avec R

Annexe

I L’extension questionr contient plusieurs jeux de données(dataset) destinés à l’apprentissage de R.

I hdv2003 est un extrait comportant 2000 individus et 20variables provenant de l’enquête Histoire de Vie réalisée parl’INSEE en 2003.

I rp99 est issu du recensement de la population de 1999 del’INSEE. Il comporte une petite partie des résultats pourl’ensemble des communes du Rhône, soit 301 lignes et 21colonnes

I Contact: Mohamed Ali [email protected]