Le coin méthodologique
Dans le cas de petits échantillons, on se base sur la loi binomiale, discrète, tandis que dans le cas de grands échantillons (en pratique n≥30 ) on préfère utiliser l'approximation par une loi normale, on parle alors d'un intervalle de confiance asymptotique. Notons que les calculs sont facilités par l'utilisation d'une loi continue.
Sous cette dernière hypothèse gaussienne, l'intervalle de confiance bilatère (symétrique) de niveau 1−α pour p est :
où ϕ1−α2 désigne le quantile d'ordre 1−α2 de la loi N(0,1) .
Le coin R : exemple du taux de guérison
On importe le fichier contenant les guérisons ou non-guérisons :
guerison <- read.table("guerison.txt",header=TRUE)
On peut estimer le taux de guérison théorique p :
n_guerison <- dim(guerison)[1]
n_guerison_gueris <- sum(guerison$taux==1)
p_estim <- n_guerison_gueris/n_guerison
Si on souhaite encadrer le taux de guérison p avec une probabilité de 1−α=95% , on obtient alors comme intervalle de confiance Φ1−α2=Φ0.975≃1.96
Si on lance “manuellement” les calculs au niveau de test 5% :
alpha <- 0.05
icinf <- p_estim-qnorm(p=1-alpha/2)*sqrt(p_estim*(1-p_estim)/n_guerison)
round(icinf,digits=2)
## [1] 0.72
icsup <- p_estim+qnorm(p=1-alpha/2)*sqrt(p_estim*(1-p_estim)/n_guerison)
round(icsup,digits=2)
## [1] 0.83
On obtient alors :
On constate que la largeur de l’intervalle n’est pas négligeable, mais n’oublions pas qu’il n’y a que 216 individus dans l’échantillon.
En pratique, le data analyst peut obtenir simplement cet intervalle à l’aide de la commande prop.test
(cette commande lance d’autres calculs en sus de l’intervalle de confiance, on les verra plus tard) :
alpha <- 0.05
prop.test(n_guerison_gueris,n_guerison,conf.level=1-alpha)
## ## 1-sample proportions test with continuity correction ## ## data: n_guerison_gueris out of n_guerison, null probability 0.5 ## X-squared = 63.375, df = 1, p-value = 1.709e-15 ## alternative hypothesis: true p is not equal to 0.5 ## 95 percent confidence interval: ## 0.7103413 0.8260184 ## sample estimates: ## p ## 0.7731481
Les résultats numériques diffèrent légèrement à cause d’une “correction de normalité” effectuée par cette commande.
On aurait également pu obtenir un intervalle de confiance “exact”, basé sur la loi binomiale, à l’aide de la commande binom.test
:
alpha <- 0.05
binom.test(n_guerison_gueris,n_guerison,conf.level=1-alpha)
## ## Exact binomial test ## ## data: n_guerison_gueris and n_guerison ## number of successes = 167, number of trials = 216, p-value = ## 2.925e-16 ## alternative hypothesis: true probability of success is not equal to 0.5 ## 95 percent confidence interval: ## 0.7114251 0.8272107 ## sample estimates: ## probability of success ## 0.7731481
On constate que les résultats diffèrent très peu de l’intervalle de confiance asymptotique.
Enfin, si on avait choisi un niveau de confiance plus faible, 1−α=90% par exemple, on aurait obtenu un intervalle de confiance plus étroit :
alpha <- 0.10
prop.test(n_guerison_gueris,n_guerison,conf.level=1-alpha)
## ## 1-sample proportions test with continuity correction ## ## data: n_guerison_gueris out of n_guerison, null probability 0.5 ## X-squared = 63.375, df = 1, p-value = 1.709e-15 ## alternative hypothesis: true p is not equal to 0.5 ## 90 percent confidence interval: ## 0.7206161 0.8185913 ## sample estimates: ## p ## 0.7731481
On obtient ici [0.721 ; 0.819]=[72.1% ; 81.9%] , la largeur de l’intervalle a bel et bien diminué !