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]