Estimez un paramètre avec un intervalle de confiance
Un fabricant de drones teste 10 batteries de son nouveau modèle et mesure leur autonomie : 26,95 minutes en moyenne. Peut-il écrire « autonomie : 27 minutes » sur la boîte ? Avec 10 autres batteries, il aurait obtenu une autre moyenne. Ce qu’il lui faut, c’est une fourchette accompagnée d’un niveau de confiance : « entre 26,3 et 27,6 minutes, avec 95 % de confiance ».
Jusqu’ici, nous partions d’une loi connue pour calculer des probabilités. Ce chapitre inverse la démarche : on observe des données, et l’on cherche à remonter à la loi qui les a produites. C’est le passage des probabilités à la statistique. Le fil rouge sera l’autonomie de ces batteries. Le cours de Statistiques approfondit ensuite l’estimation (maximum de vraisemblance, propriétés asymptotiques).
Estimateur et estimation
Section intitulée « Estimateur et estimation »Les 10 autonomies mesurées (en minutes) sont :
| 26,1 | 27,4 | 25,8 | 28,2 | 26,9 | 27,7 | 25,5 | 26,6 | 28,0 | 27,3 |
|---|
On les modélise comme les réalisations de variables i.i.d., de loi inconnue, d’espérance (l’autonomie moyenne de toutes les batteries produites) et d’écart-type . Le but est d’estimer le paramètre .
Un estimateur d’un paramètre est une variable aléatoire calculée à partir de l’échantillon, comme . Une estimation est la valeur qu’il prend sur les données observées, comme . La distinction compte : on juge un estimateur sur son comportement sur tous les échantillons possibles, pas sur un seul.
Deux critères dominent :
- le biais : un estimateur est sans biais s’il tombe juste en moyenne ;
- la variance : un bon estimateur fluctue peu d’un échantillon à l’autre.
On les combine dans l’erreur quadratique moyenne, . D’après le chapitre 7, est un estimateur sans biais de , de variance : il s’améliore quand grandit.
Pourquoi diviser par n − 1 ?
Section intitulée « Pourquoi diviser par n − 1 ? »Pour estimer la variance , l’idée naturelle est la moyenne des carrés des écarts, . Or on démontre que :
sous-estime en moyenne. La raison est intuitive : on mesure les écarts à , qui est par construction le point le plus proche de l’ensemble des données, plutôt qu’à la vraie moyenne ; les écarts sont donc un peu trop petits. On corrige en divisant par :
C’est la variance empirique corrigée, celle que calculent var et sd en R. Pour nos batteries, et minute (la version biaisée donnerait ).
Qu’est-ce qu’un intervalle de confiance ?
Section intitulée « Qu’est-ce qu’un intervalle de confiance ? »Une estimation seule (26,95) ne dit rien de sa précision. Un intervalle de confiance (IC) de niveau est un intervalle aléatoire , calculé à partir de l’échantillon, tel que :
Le niveau le plus courant est 95 % (). La recette est toujours la même : trouver une quantité, appelée pivot, qui dépend de et dont la loi est connue et ne dépend pas de ; encadrer ce pivot entre deux quantiles ; puis « isoler » .
On note le quantile d’ordre de , c’est-à-dire la valeur telle que . Pour , : on laisse 2,5 % de probabilité de chaque côté.
Intervalle pour une moyenne
Section intitulée « Intervalle pour une moyenne »Quand l’écart-type est connu
Section intitulée « Quand l’écart-type est connu »Supposons d’abord, pour simplifier, que le fabricant connaisse l’écart-type de l’autonomie grâce aux modèles précédents : minute. Si les sont normales (ou si est grand, grâce au TCL), le pivot
suit . On a donc , et en isolant :
Pour les batteries : , soit .
La demi-largeur mesure la précision. Elle diminue en , ce qui permet de calculer la taille d’échantillon nécessaire pour une précision donnée : . Pour une précision de minute, il faudrait , donc 43 batteries.
Quand l’écart-type est inconnu : la loi de Student
Section intitulée « Quand l’écart-type est inconnu : la loi de Student »En réalité, est presque toujours inconnu. On le remplace par son estimation , mais cela ajoute de l’incertitude : le pivot ne suit plus une normale. Pour des données normales, il suit une loi de Student à degrés de liberté, notée .
Deux lois nouvelles apparaissent ici, toutes deux construites à partir de la normale :
- la loi du khi-deux à degrés de liberté, , est la loi de où les sont des indépendantes ;
- la loi de Student à degrés de liberté, , est la loi de , avec et indépendantes.
La loi de Student ressemble à une normale centrée réduite, mais avec des queues plus épaisses : c’est le prix de l’incertitude sur . Elle s’en rapproche quand augmente : le quantile d’ordre 0,975 vaut 2,78 pour , 2,26 pour , 2,05 pour , et tend vers 1,96. L’intervalle devient :
En R, t.test fait tout le calcul :
autonomie <- c(26.1, 27.4, 25.8, 28.2, 26.9, 27.7, 25.5, 26.6, 28.0, 27.3)n <- length(autonomie)
mean(autonomie); sd(autonomie) # 26.95 et 0.932 (sd divise par n - 1)mean(autonomie) + qt(c(0.025, 0.975), df = n - 1) * sd(autonomie) / sqrt(n) # 26.28 27.62t.test(autonomie, conf.level = 0.95)$conf.int # même résultatIntervalle pour une variance
Section intitulée « Intervalle pour une variance »Le fabricant veut aussi savoir si l’autonomie est régulière d’une batterie à l’autre : il faut un intervalle pour . Pour des données normales, le pivot suit la loi . En l’encadrant entre ses quantiles d’ordre et , puis en isolant :
Attention à l’inversion : le grand quantile donne la borne inférieure. Pour les batteries, , et les quantiles de valent 2,70 et 19,02. D’où , soit minute. L’intervalle est large et asymétrique : 10 mesures renseignent mal sur la dispersion.
Intervalle pour une proportion
Section intitulée « Intervalle pour une proportion »Enfin, le fabricant sonde 400 clients : 92 d’entre eux déclarent utiliser leur drone plus de 25 minutes d’affilée, soit une proportion observée . Le nombre de « oui » suit , que le TCL approche par une normale (chapitre 8) dès que , et . Le pivot suit donc approximativement , et :
Problème : , l’inconnue, apparaît dans les bornes. Deux solutions :
- remplacer par dans la racine (intervalle de Wald, très répandu mais approximatif, surtout quand est proche de 0 ou de 1) : , soit ;
- utiliser la borne , valable pour tout , qui donne un intervalle prudent : , soit .
La version prudente est un peu plus large, mais son niveau de confiance est garanti quel que soit . Elle donne aussi la formule de taille des sondages : pour une précision de points à 95 %, il faut personnes.
| Paramètre | Hypothèse | Pivot et loi | Intervalle à |
|---|---|---|---|
| connu | |||
| inconnu | |||
| données normales | voir la formule ci-dessus | ||
| grand | (prudent) |
La simulation suivante illustre la bonne interprétation du niveau de confiance : on tire 100 échantillons d’une loi dont on connaît la moyenne, et l’on compte combien d’intervalles la contiennent.
set.seed(15)contient <- replicate(100, { x <- rnorm(10, mean = 27, sd = 1) # un échantillon de 10 batteries, vraie moyenne 27 ic <- t.test(x)$conf.int ic[1] <= 27 && 27 <= ic[2]})sum(contient) # environ 95 intervalles sur 100 contiennent 27En résumé
Section intitulée « En résumé »- Un estimateur est une variable aléatoire fonction de l’échantillon ; on le juge par son biais et sa variance.
- estime sans biais ; (division par ) estime sans biais, alors que la division par sous-estime.
- Un intervalle de confiance se construit à partir d’un pivot de loi connue ; son niveau porte sur la procédure, pas sur l’intervalle calculé.
- Moyenne : loi normale si est connu, loi de Student sinon ; la demi-largeur décroît en .
- Variance : loi du khi-deux , intervalle asymétrique et sensible à la non-normalité.
- Proportion : approximation normale, avec la borne prudente .
Exercices
Section intitulée « Exercices »Exercice · Un intervalle avec écart-type connu
facileUne machine remplit des paquets avec un écart-type connu de 5 g. Sur 25 paquets, le poids moyen est de 512,3 g. Donnez un intervalle de confiance à 95 % pour le poids moyen, puis dites combien de paquets il faudrait peser pour une précision de g.
Voir la solution
Demi-largeur : g. L’intervalle est g.
Pour une demi-largeur de 1 g : , donc 97 paquets. Diviser la demi-largeur par deux demande quatre fois plus de mesures.
En code
import numpy as npfrom scipy import stats
sigma, n, moyenne = 5, 25, 512.3u = stats.norm.ppf(0.975) # 1.96demi_largeur = u * sigma / np.sqrt(n)print(demi_largeur) # 1.96print(moyenne - demi_largeur, moyenne + demi_largeur) # 510.34 514.26
# Taille d'échantillon pour une demi-largeur de 1 gprint((u * sigma / 1) ** 2, np.ceil((u * sigma / 1) ** 2)) # 96.04 97.0sigma <- 5; n <- 25; moyenne <- 512.3u <- qnorm(0.975) # 1.96demi_largeur <- u * sigma / sqrt(n)demi_largeur # 1.96moyenne + c(-1, 1) * demi_largeur # 510.34 514.26
# Taille d'échantillon pour une demi-largeur de 1 g(u * sigma / 1)^2 # 96.04ceiling((u * sigma / 1)^2) # 97Exercice · Un sondage serré
moyenAvant un vote d’association, on interroge 1 000 membres tirés au hasard : 540 sont favorables à la proposition.
- Donnez l’intervalle de Wald et l’intervalle prudent à 95 %.
- Peut-on affirmer, avec 95 % de confiance, que la proposition est majoritaire ?
Voir la solution
- . Wald : , soit . Prudent : , soit aussi. Les deux coïncident presque, car est proche de , où atteint justement son maximum .
- Les deux intervalles sont entièrement au-dessus de 0,5 : oui, au niveau 95 %, les données sont compatibles avec une proportion favorable supérieure à 50 %, et incompatibles avec 50 % ou moins. Mais la marge est mince (la borne basse vaut 50,9 %), et le raisonnement suppose un tirage réellement aléatoire et des réponses sincères. Le chapitre 10 formalise ce type de conclusion sous forme de test.
En code
import numpy as npfrom scipy import stats
n, oui = 1000, 540p_chapeau = oui / nu = stats.norm.ppf(0.975)
wald = u * np.sqrt(p_chapeau * (1 - p_chapeau) / n)prudent = u / (2 * np.sqrt(n))print(p_chapeau - wald, p_chapeau + wald) # 0.5091 0.5709print(p_chapeau - prudent, p_chapeau + prudent) # 0.5090 0.5710# Les deux bornes basses dépassent 0.5 : majorité au niveau 95 %n <- 1000; oui <- 540p_chapeau <- oui / nu <- qnorm(0.975)
wald <- u * sqrt(p_chapeau * (1 - p_chapeau) / n)prudent <- u / (2 * sqrt(n))p_chapeau + c(-1, 1) * wald # 0.5091 0.5709p_chapeau + c(-1, 1) * prudent # 0.5090 0.5710# Les deux bornes basses dépassent 0.5 : majorité au niveau 95 %Exercice · Le biais de la variance empirique
difficileSoient i.i.d. d’espérance et de variance .
- Montrez que .
- Déduisez-en , puis le biais de .
- Interprétez le cas extrême d’une seule observation () : que vaut alors ?
Voir la solution
- On écrit et on développe : . Or , donc le terme du milieu vaut , d’où le résultat.
- En prenant l’espérance : et . Donc . On en déduit : le biais vaut , et il disparaît quand grandit.
- Avec une seule observation, et quelle que soit la dispersion réelle : une seule mesure ne dit rien de la variabilité. La version corrigée divise par et n’est pas définie, ce qui est plus honnête. On dit qu’on a « consommé un degré de liberté » en estimant par : c’est l’origine des degrés de liberté de la loi de Student.
En code
import numpy as np
# 200 000 échantillons de taille n = 5, de variance sigma^2 = 4rng = np.random.default_rng(0)n, sigma2 = 5, 4x = rng.normal(10, np.sqrt(sigma2), size=(200_000, n))
s2_biaise = x.var(axis=1, ddof=0) # division par ns2_corrige = x.var(axis=1, ddof=1) # division par n - 1print(s2_biaise.mean(), (n - 1) / n * sigma2) # 3.21 3.2print(s2_corrige.mean()) # 4.01, sans biais
# Cas n = 1 : la version biaisée vaut toujours 0print(np.var([7.3]), np.var([7.3], ddof=1)) # 0.0 nan (avec un avertissement)# 200 000 échantillons de taille n = 5, de variance sigma^2 = 4set.seed(0)n <- 5; sigma2 <- 4x <- matrix(rnorm(200000 * n, mean = 10, sd = sqrt(sigma2)), ncol = n)
s2_corrige <- apply(x, 1, var) # var divise par n - 1s2_biaise <- s2_corrige * (n - 1) / n # division par nc(mean(s2_biaise), (n - 1) / n * sigma2) # 3.20 3.2mean(s2_corrige) # 4.00, sans biais
# Cas n = 1 : la version corrigée n'est pas définievar(7.3) # NA