Tests for a difference of proportion

Transcription

Tests for a difference of proportion
Université de Caen Basse-Normandie
1
2 octobre 2015
Département de Mathématiques et Mécanique
Simulation de Monte-carlo, test d’écart de proportions
Sommaire
1.1
1.2
1.3
1.4
1.5
1.1
Description . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 Simulation de Monte-carlo . . . . . . . . . . . . . . . . . .
1.1.3 L’observation et un test . . . . . . . . . . . . . . . . . . .
Un modèle et hypothèse . . . . . . . . . . . . . . . . . . .
1.2.1 Le modèle probabiliste . . . . . . . . . . . . . . . . . . . .
1.2.2 L’hypothèse nulle H0 (π1 = π2 ) . . . . . . . . . . . . . . .
1.2.3 Le modèle probabiliste sous hypothèse nulle H0 (π1 = π2 )
1.2.4 La statistique : l’écart de proportion . . . . . . . . . . . .
Méthode de monte-carlo . . . . . . . . . . . . . . . . . . .
1.3.1 La simulation sous l’hypothèse nulle H0 (π1 = π2 ) . . . . .
1.3.2 Le test empirique de monte-carlo . . . . . . . . . . . . . .
L’ approximation normale . . . . . . . . . . . . . . . . . .
1.4.1 Une approximation de la loi de la statistique . . . . . . .
1.4.2 Le test de Wald . . . . . . . . . . . . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
. . .
. . .
. . .
. .
. . .
. . .
. . .
. . .
. .
. . .
. . .
. .
. . .
. . .
. .
1
1
1
1
2
2
3
3
3
3
3
4
5
5
6
6
Description
1.1.1
Objectifs
Dans cet exercice on teste l’égalité de deux proportions
Wald c’est une méthode aléatoire théorique qui modélise l’écart entre deux proportions à l’aide de
la loi normale. Elle utile l’approximation gaussienne.
chi2 c’est aussi un modéle aléatoire qui utilse la loi du χ2 ?
Monte-carlo on simule deux échantillons binomiaux dans le quel les deux proportions sont égales,
on compare l’écart observé aux valeurs simulées des écarts et on en déduit une probabilité
empirique d’occurence.
1.1.2
Simulation de Monte-carlo
La méthode de simulation de monte-carlo consiste à tirer aléatoirement un grand nombre d’échantillon d’une réalisation
d’un phénomène aléatoire. A partir de l’échantillon aléatoire, on calcule la loi empirique de cet échantillon qui est approximée
par une loi théorique. On peut étudier les fonctions de probabilités, les densités, les fonctions de répartition, les moyennes,
les écarts types,...
Ici on va étudier si une différence de proportion peut être nulle.
1.1.3
L’observation et un test
non
oui
normal
443
44
eleve
95
27
Table 1 – Le tableau de contingence croisant infartus et traux de catécholamine
var.X="cat"
tableau=table(X$y,X[[var.X]])
plot(y~cat,data=X,col=c('green','red'))
http://www.math.unicaen.fr/~kauffman/cours
1
[email protected]
2 octobre 2015
Département de Mathématiques et Mécanique
0.0
0.2
0.4
non
y
0.6
0.8
oui
1.0
Université de Caen Basse-Normandie
normal
eleve
cat
Figure 1 – Diagramme mosaic infarctus en fonction de la dose de catécholamine
La question que nous allons nous poser est: est ce que les deux proportions de ne pas être malade pourraient être égales
(hypothèse nulle) ? Si on refuse cette hypothèse quelle est la probabilité de se tromper (p.value). On utilise ici un test appelé
du chi2 (Pearson).
> prop.test(t(tableau))
2-sample test for equality of proportions with continuity correction
data: t(tableau)
X-squared = 14.9998, df = 1, p-value = 0.0001075
alternative hypothesis: two.sided
95 percent confidence interval:
0.0478977 0.2140271
sample estimates:
prop 1
prop 2
0.9096509 0.7786885
On refuse l’hypothèse que les deux proportions puissent être égale, c’est à dire qu’il y a un effet du taux de catécholamine
sur la probabilité d’être malade. Et on a moins de 2 chances sur 10000 de se tromper en affirmant ceci en supposant que le
modèle mathématique est juste.
1.2
1.2.1
Un modèle et hypothèse
Le modèle probabiliste
On modélise le nombre de personnes n’ayant pas eu un infartus par une variable aléatoire binomiale y1 ∼ B(n, π) ou n
est le nombre de personnes et π est la probabilité d’avoir un infarctus.
443
. Le modèle probabiliste du nombre de
échantillon avec un taux de catécholamine normal n1 = 487 π1obs = 44+443
personnes non atteinte d’infarctus est une variable aléatoire y1 suivant la loi B(n1 , π1 ). Le vrai paramètre π1 est une
inconnue c’est un paramètre du modèle.
95
échantillon avec un taux de catécholamine élevé n2 = 122 π1obs = 95+27
. Le modèle probabiliste du nombre de personnes non atteinte d’infarctus est une variable aléatoire y2 suivant la loi B(n2 , π2 ). Le vrai paramètre π2 est une
inconnue c’est un paramètre du modèle.
On suppose que ces deux variables sont indépedantes.
http://www.math.unicaen.fr/~kauffman/cours
2
[email protected]
Université de Caen Basse-Normandie
1.2.2
2 octobre 2015
Département de Mathématiques et Mécanique
L’hypothèse nulle H0 (π1 = π2 )
Ici on suppose que π1 = π2 = π0 ∼ 88%. On étudie si cette hypothèse est réaliste en faisant des tirages aléatoires. On
observe les proportions de tirages positifs et on regarde si il est vraisemblable de varier de π1obs à π2obs .
1.2.3
Le modèle probabiliste sous hypothèse nulle H0 (π1 = π2 )
L’observation est
non
oui
somme
normal
443
44
n1 = 487
eleve
95
27
n2 = 122
Le modèle aléatoire de ce tableau de contingence sous l’hypothèse nulle est
non
oui
somme
normal
N1,1 (ω)
n1 − N1,1 (ω)
n1 = 487
ou N1,1 ∼ B(n = 487, p0 ) et N2,2 ∼ B(n = 122, p0) avec p0 =
1.2.4
elevé
N1,2 (ω)
n2 − N1,2 (ω)
n2 = 122
538
538+71 .
La statistique : l’écart de proportion
On va voir si l’hypothèse que π1 = π2 = π0 est nulle est vraisemblable en étudiant
observation la valeur observée
statobs = π1obs − π2obs
modèle modélisée par la variable aléatoire
stat(ω) = N1,1 (ω)/n1 − N1,2 (ω)/n2.
simulation 5000 tirages
(stat(ω1 ) = N1,1 (ω1 )/n1 − N1,2 (ω1 )/n2, · · · , stat(ω5000 ) = N1,1 (ω5000 )/n1 − N1,2 (ω5000 )/n2)
1.3
1.3.1
Méthode de monte-carlo
La simulation sous l’hypothèse nulle H0 (π1 = π2 )
On va tirer (réaliser) 5000 tirages indépendants de ce couple de variable aléatoire.
nb.sample=5000
p0=(table(X$y)/nrow(X))[['non']] # hypothèse nulle
set.seed(1)
n11=rbinom(nb.sample,size=n1,p0)
n21=n1-n11
n12=rbinom(nb.sample,size=n2,p0)
n22=n2-n12
A=rbind(n11,n21,n12,n22)
tables=list()
for (i in 1:nb.sample) tables[[i]]=matrix(A[,i],ncol=2,
dimnames=list(c('non','oui'),c('normal','eleve')))
# centième tirage
tables[[100]]
# vérifier que on a tiré le bon nombre de personnes
addmargins(tables[[100]])
http://www.math.unicaen.fr/~kauffman/cours
3
[email protected]
Université de Caen Basse-Normandie
2 octobre 2015
n11
n21
n12
n22
1
429
58
108
14
100
426
61
107
15
Département de Mathématiques et Mécanique
2056
440
47
100
22
Table 2 – Premier, centième et 2056 ème tirages
la liste tables contient les tirages en forme de matrice.
non
oui
Sum
normal
426
61
487
eleve
107
15
122
Sum
533
76
609
Table 3 – Centième tirage
Une seule question se pose, ici, pourquoi avons nous tous trouvé le même résultat alors que nous avons tiré aléatoirement
nos données ?
1.3.2
Le test empirique de monte-carlo
1. Calculer la statistique observée
statistique.obs=443/(443+44)-95/(95+27)
2. Calculer le vecteur des différences des écarts de proportions sur l’échantillon simulé.
statistiques=sapply(tables,function(x) (as.matrix(prop.table(x,2))%*%c(1,-1))[1])
3. On va estimer à partir des données simulées le nombre de fois ou l’on a tiré une statistique plus grande que la valeur
observée 0.13. Parmi nos 5000 tirages toutes les réalisations du modèle sont inférieure à 0.13. On peut donc dire que
notre modèle sous hypothèse nulle est fort peu vraisemblable puisque sur 5000 tirages aucun des écarts de fréquence
n’a pu dépasser la valeur observée 0.13
hist(statistiques,breaks=100,freq=FALSE,xlim=c(-0.15,0.15))
points(statistique.obs,0,pch=20,col="red",cex=3)
table(statistiques> statistique.obs)
0
2
4
6
Density
8
10
12
14
Histogram of statistiques
−0.15
−0.10
−0.05
0.00
0.05
0.10
0.15
statistiques
Figure 2 – Histogramme de la statistique simulée
http://www.math.unicaen.fr/~kauffman/cours
4
[email protected]
Université de Caen Basse-Normandie
1.4
1.4.1
2 octobre 2015
Département de Mathématiques et Mécanique
L’ approximation normale
Une approximation de la loi de la statistique
Dans ce paragraphe on veut pouvoir mieux quantifier la probabilité de se tromper en refusant l’hypothèse nulle. Pour
ceci on va approximer la loi de la statistique par une loi normale et ainsi pourvoir donner une approximation de l’évènement
”se tromper” la p-value en refusant l’hypothèse nulle:
P r([stat(ω) > statobs ])
1. Calculer la moyenne et l’écart type de la statistique simulée
> (moyenne=mean(statistiques))
[1] -0.0001011782
> (ecart.type=sd(statistiques))
[1] 0.03239802
2. On modélise la loi de la statistique par une variable aléatoire suivant une loi normale z ∼ N (m, sd) de moyenne nulle,
d’écart type sd ∼ 0.03. Sur un même graphique tracer l’histogramme empirique des statistiques simulées ainsi que
la densité d’une loi normale de moyenne et d’écart type précédemment calculés. Est ce que l’approximation semble
correcte ? Que vaut la moyenne empirique des statistique ?
hist(statistiques,breaks=100,freq=FALSE,xlim=c(-0.15,0.15))
points(statistique.obs,0,pch=20,col="red")
x=seq(from=-0.15,to=0.15,length.out=100)
densite=dnorm(x,mean=0,sd=ecart.type)
lines(x,densite,col="red",lwd=3)
points(statistique.obs,0,col="red",pch=20,cex=3)
0
2
4
6
Density
8
10
12
14
Histogram of statistiques
−0.15
−0.10
−0.05
0.00
0.05
0.10
0.15
statistiques
Figure 3 – histogramme de la variable simulée et de son modèle
3. Calculer alors la probabilité pour que P r([z(ω) > statobs ]) Comparer ce résultat avec celui obtenu par simulation de
monte-Carlo.
rbind(
approximation=1-pnorm(statistique.obs,mean=0,sd=ecart.type),
monte-carlo=sum(statistiques>statistique.obs)/length(statistiques)
)
http://www.math.unicaen.fr/~kauffman/cours
5
[email protected]
Université de Caen Basse-Normandie
1.4.2
2 octobre 2015
Département de Mathématiques et Mécanique
Le test de Wald
Sous l’hypothèse H0 (π1 = π2 ) , le mathématicien mathématicien Abraham Wald propose une modélisation de la loi
statistique un peu différente de celle empirique précédente. On modélise la z = N1,1 (ω)/n1 − N1,2(ω)/n2 par une loi normale
de moyenne nulle
π1 − π2 = 0
et d’écart type
sd =
r
π1 (1 − π1 ) π2 (1 − π2 )
+
n1
n2
En résumé
z = N1,1 (ω)/n1 − N1,2 (ω)/n2 ∼ N (0, sd)
Calculez la probabilité P r([z > statistique.obs]), comparez vos résultats.
statistique.sd.theo=sqrt(p1*(1-p1)/n1+p2*(1-p2)/n2)
rbind(
monte.carlo=sum(statistiques>statistique.obs)/length(statistiques),
approximation=1-pnorm(statistique.obs,mean=0,sd=ecart.type),
wald=1-pnorm(statistique.obs,mean=0,sd=statistique.sd.theo)
)
1.5
Conclusion
monte.carlo
approximation
wald
prop.test
p-value
0.000E+00
2.647E-05
4.950E-04
1.075E-4
Table 4 – p-value
Si l’hypothèse nulle était vérifiée, on a environ au plus 5 chances sur 10000 pour qu’une variable
aléatoire de moyenne nulle et d’écart type 0.03 soit plus grande en valeur absolue que 0.13. On a
donc de très forts soupçons sur la véracité de notre hypothèse nulle. On rejette l’hypothèse que les
deux proportions soient égales et on a moins de 5 chances sur 10000 de se tromper.
http://www.math.unicaen.fr/~kauffman/cours
6
[email protected]