Ce que signifie réellement « 95 % de confiance »
Un intervalle de confiance transforme une estimation ponctuelle (« la moyenne d'échantillon est 5,61 ») en une plage honnête (« la moyenne vraie est plausiblement entre 5,29 et 5,93 »). Mais l'expression 95 % de confiance est l'une des plus mal comprises de la statistique, alors mettons-la au clair d'emblée.
Les 95 % décrivent la procédure, pas l'intervalle. Imagine relancer ton étude encore et encore - nouvel échantillon à chaque fois, nouvel intervalle à chaque fois. Les intervalles sauteraient un peu partout, et environ 95 % d'entre eux captureraient la valeur vraie ; 5 % la rateraient. Ton intervalle réel est un tirage unique de ce processus. Ce que 95 % ne signifie pas : « il y a 95 % de probabilité que la moyenne vraie soit entre ces nombres ». La moyenne vraie est un nombre fixe (inconnu) - elle n'entre ni ne sort des intervalles ; ce sont les intervalles qui varient.
En pratique la lecture conviviale convient : l'intervalle est la plage de valeurs compatibles avec tes données. Sache juste quelle affirmation tu as le droit de faire quand quelqu'un insiste.
IC pour une moyenne, la voie facile
Chaque t.test() porte un intervalle de confiance ; tu peux lancer le test uniquement pour le récolter :
Moyenne 5,61, IC à 95 % d'environ 5,29 à 5,93. L'intervalle fait le travail qu'une simple moyenne ne peut pas faire : il montre combien de précision dix observations t'achètent réellement.
Le même IC à la main
La formule derrière cet intervalle vaut la peine d'être construite une fois, parce qu'elle démystifie tous les IC que tu liras : estimation ± valeur critique × erreur type.
Compare-le à la sortie de t.test() - même intervalle jusqu'au dernier chiffre. Trois pièces mobiles :
- L'erreur type
sd(x)/sqrt(n)mesure de combien la moyenne d'échantillon fluctue (voir les statistiques descriptives pour la distinction écart-type / erreur type). qt(0.975, df)est la valeur critique de t : pour une couverture de 95 % tu laisses 2,5 % dans chaque queue, d'où 0,975. Avec df = 9 elle vaut environ 2,26 - plus grosse que le 1,96 de la loi normale, la taxe des petits échantillons pour avoir estimé l'écart-type sur les mêmes données.- La marge d'erreur est leur produit - le nombre « ± » que citent les gros titres.
Changer le niveau : 90 %, 99 % et le compromis
conf.level contrôle la couverture, et avec elle la largeur :
Plus de confiance coûte plus de largeur - un intervalle à 99 % doit être assez large pour avoir raison 99 fois sur 100, il s'étire donc ; un intervalle à 90 % est plus serré mais rate deux fois plus souvent que 95 %. Il n'y a pas de repas gratuit, seulement un curseur. 95 % est pure convention : une valeur par défaut à garder faute de raison contraire, pas une loi de la nature.
IC pour une proportion : prop.test()
Supposons que 47 des 120 utilisateurs interrogés adoptent une nouvelle fonctionnalité. Quelle est la plage plausible du taux d'adoption réel ?
Proportion d'échantillon 0,39, IC à 95 % d'environ 0,30 à 0,49 - donc « environ 40 % d'adoption » n'est honnête qu'avec ce halo de ±9 points attaché. prop.test() utilise une meilleure approximation que la formule scolaire p ± 1.96 × sqrt(p(1−p)/n) (c'est un intervalle de type Wilson avec correction de continuité), ce qui compte le plus près de 0 ou de 1 - l'intervalle scolaire peut dépasser hors de [0, 1] ; celui-ci ne peut pas. Pour de très petits effectifs, binom.test(47, 120)$conf.int donne la version exacte.
IC pour les coefficients d'un modèle : confint()
Les modèles ajustés obtiennent des intervalles via une seule fonction générique :
Chaque ligne encadre un coefficient de la régression linéaire : l'intervalle à 95 % de la pente de wt va d'environ −6,5 à −4,2 mpg par tranche de 1000 livres. C'est plus instructif que la p-valeur du résumé - il dit que l'effet n'est pas seulement non nul mais au moins d'environ 4 mpg et peut-être d'environ 6,5.
Pour un glm() logistique, confint(fit) fonctionne pareil mais renvoie des bornes en log-cotes ; exponentie pour obtenir des intervalles de rapports de cotes - exp(confint(fit)) - et souviens-toi que la valeur de référence « aucun effet » devient 1 au lieu de 0.
Taille d'échantillon : la loi de la racine carrée
La largeur diminue comme sqrt(n), ce qui a une conséquence mémorable : quadruple les données, l'intervalle est divisé par deux. Regarde-le se produire sur des données simulées - même distribution, un échantillon 4× plus grand (fixer la graine rend l'exemple reproductible ; voir les nombres aléatoires) :
Les largeurs tombent près d'un rapport de 2 pour 1 (le bruit d'échantillonnage l'empêche d'être exact). La racine carrée explique pourquoi la précision devient chère : les 100 premières observations te font gagner plus de resserrement que les 300 suivantes réunies, et diviser par deux un intervalle déjà étroit coûte toujours 4× ce que tu as payé jusque-là.
IC et p-valeur : deux vues d'un même test
Un intervalle de confiance et un test d'hypothèse sont la même information dans des habits différents. L'IC à 95 % contient exactement les valeurs de paramètre qu'un test bilatéral au seuil de 0,05 ne rejetterait pas. Donc :
- L'IC d'une différence de moyennes exclut 0 ⇔ le test t dit p < 0,05.
- L'IC d'un rapport de cotes exclut 1 ⇔ la p-valeur du coefficient est < 0,05.
Quand tu as l'intervalle, tu as généralement le meilleur résumé : il livre le même verdict de significativité plus la taille de l'effet en unités réelles. « p = 0,03 » dit qu'une différence existe ; « IC à 95 % : 0,2 à 7,6 » dit qu'elle existe et pourrait être triviale ou énorme - ce qui est souvent le résultat qui compte.
Ce que tu retiens
- Les 95 % décrivent le taux de réussite à long terme de la procédure, pas la probabilité que cet intervalle-ci ait attrapé la vérité.
- Moyenne :
t.test(x)$conf.int, ou à la main comme moyenne ±qt(0.975, n−1)× erreur type. - Proportion :
prop.test(x, n)$conf.int; coefficients de modèle :confint(fit)(exponentie pour les rapports de cotes d'un glm). - Plus de confiance = intervalle plus large ; 95 % est une convention, pas une loi.
- La largeur diminue en sqrt(n) : 4× les données divise l'intervalle par deux.
- L'IC contient toutes les valeurs qu'un test au seuil de 0,05 ne rejetterait pas - et contrairement à la p-valeur, il montre la taille de l'effet.
Prochaine étape : la boîte à outils de simulation derrière tout ça - les nombres aléatoires avec rnorm, runif, sample et set.seed.
Questions fréquentes
Comment calculer un intervalle de confiance à 95 % en R ?
Pour une moyenne, la voie la plus rapide est t.test(x)$conf.int. Pour une proportion, prop.test(successes, trials)$conf.int. Pour les coefficients d'un modèle lm() ou glm() ajusté, confint(fit). Les trois valent 95 % par défaut ; change-le avec conf.level = 0.90 (ou 0.99).
Que signifie réellement un intervalle de confiance à 95 % ?
C'est une affirmation sur la procédure : si tu répétais l'étude de nombreuses fois en construisant un intervalle à chaque fois, environ 95 % de ces intervalles contiendraient la valeur vraie. Ce n'est pas « 95 % de probabilité que le paramètre soit dans cet intervalle-ci » - le paramètre est un nombre fixe, et un intervalle donné l'a attrapé ou non.
Comment calculer un intervalle de confiance à la main en R ?
Moyenne ± valeur critique × erreur type. Pour une moyenne : m <- mean(x); se <- sd(x)/sqrt(length(x)); m + c(-1, 1) * qt(0.975, df = length(x) - 1) * se. L'appel qt(0.975, df) est la valeur critique de t qui laisse 2,5 % dans chaque queue.
Comment la taille d'échantillon influence-t-elle un intervalle de confiance ?
La largeur diminue comme la racine carrée de n : quadruple l'échantillon et l'intervalle est divisé par deux. Cette racine carrée explique pourquoi la dernière once de précision coûte cher - passer de ±2 à ±1 coûte quatre fois plus de données, pas deux.