Comment calculer les intervalles de confiance en Python
Un intervalle de confiance pour une moyenne est une plage de valeurs susceptible de contenir une moyenne de population avec un certain niveau de confiance.
Il est calculé comme suit :
Intervalle de confiance = x +/- t*(s/√n)
où:
- x : moyenne de l’échantillon
- t : valeur t qui correspond au niveau de confiance
- s : écart type de l’échantillon
- n : taille de l’échantillon
Ce tutoriel explique comment calculer les intervalles de confiance en Python.
Intervalles de confiance utilisant la distribution t
Si nous travaillons avec un petit échantillon (n <30), nous pouvons utiliser la fonction t.interval() de la bibliothèque scipy.stats pour calculer un intervalle de confiance pour une moyenne de population.
L’exemple suivant montre comment calculer un intervalle de confiance pour la hauteur moyenne réelle de la population (en pouces) d’une certaine espèce de plante, en utilisant un échantillon de 15 plantes :
import numpy as np import scipy.stats as st #define sample data data = [12, 12, 13, 13, 15, 16, 17, 22, 23, 25, 26, 27, 28, 28, 29] #create 95% confidence interval for population mean weight st.t.interval(alpha=0.95, df=len(data)-1, loc=np.mean(data), scale=st.sem(data)) (16.758, 24.042)
L’intervalle de confiance à 95 % pour la taille moyenne réelle de la population est de (16,758, 24,042) .
Vous remarquerez que plus le niveau de confiance est élevé, plus l’intervalle de confiance est large. Par exemple, voici comment calculer un IC à 99 % pour exactement les mêmes données :
#create 99% confidence interval for same sample st.t.interval(alpha=0.99, df=len(data)-1, loc=np.mean(data), scale=st.sem(data)) (15.348, 25.455)
L’intervalle de confiance à 99 % pour la taille moyenne réelle de la population est (15,348, 25,455) . Notez que cet intervalle est plus large que l’intervalle de confiance précédent de 95 %.
Intervalles de confiance utilisant la distribution normale
Si nous travaillons avec des échantillons plus grands (n≥30), nous pouvons supposer que la distribution d’échantillonnage de la moyenne de l’échantillon est normalement distribuée (grâce au théorème central limite ) et pouvons à la place utiliser la fonction norm.interval() du scipy bibliothèque .stats.
L’exemple suivant montre comment calculer un intervalle de confiance pour la hauteur moyenne réelle de la population (en pouces) d’une certaine espèce de plante, en utilisant un échantillon de 50 plantes :
import numpy as np import scipy.stats as st #define sample data np.random.seed(0) data = np.random.randint(10, 30, 50) #create 95% confidence interval for population mean weight st.norm.interval(alpha=0.95, loc=np.mean(data), scale=st.sem(data)) (17.40, 21.08)
L’intervalle de confiance à 95 % pour la taille moyenne réelle de la population est (17,40, 21,08) .
Et comme pour la distribution t, des niveaux de confiance plus élevés conduisent à des intervalles de confiance plus larges. Par exemple, voici comment calculer un IC à 99 % pour exactement les mêmes données :
#create 99% confidence interval for same sample st.norm.interval(alpha=0.99, loc=np.mean(data), scale=st.sem(data)) (16.82, 21.66)
L’intervalle de confiance à 95 % pour la taille moyenne réelle de la population est de (17,82, 21,66) .
Comment interpréter les intervalles de confiance
Supposons que notre intervalle de confiance à 95 % pour la hauteur moyenne réelle d’une espèce de plante soit :
Intervalle de confiance à 95 % = (16,758, 24,042)
La façon d’interpréter cet intervalle de confiance est la suivante :
Il y a 95 % de chances que l’intervalle de confiance de [16,758, 24,042] contienne la véritable hauteur moyenne des plantes de la population.
Une autre façon de dire la même chose est qu’il n’y a que 5 % de chances que la véritable moyenne de la population se situe en dehors de l’intervalle de confiance de 95 %. Autrement dit, il n’y a que 5 % de chances que la hauteur moyenne réelle des plantes soit inférieure à 16,758 pouces ou supérieure à 24,042 pouces.