Probabilités & statistiques · L2 · Section 8/9
IC et tests — exemples concrets
Progression
#Intervalles de confiance et tests statistiques
Ce cours donne des outils pratiques pour quantifier l'incertitude et prendre des décisions basées sur les données. On se concentre sur les applications: tests A/B, comparaison de moyennes, et interprétation correcte des résultats. Tous les playgrounds tournent en Python standard — math et random seulement — parce qu'un environnement en ligne n'a pas toujours numpy ou scipy sous la main: chaque formule est reconstruite à partir des définitions.
Objectifs d'apprentissage
- Construire un intervalle de confiance pour une proportion (Wald, limites de Wilson) et pour une moyenne (loi de Student).
- Dérouler un test A/B complet sur deux proportions et un test de Welch sur deux moyennes, hypothèses et conditions explicites.
- Rapporter taille d'effet et intervalle en plus de la p-value, et corriger les tests multiples (Bonferroni, Benjamini-Hochberg).
Prérequis: Proportions: IC et tests pour le vocabulaire des tests, Tests d'hypothèses pour la démarche et la loi de Student.
#Intervalle de confiance
Un intervalle de confiance à 95% signifie que si on répétait l'expérience de nombreuses fois, 95% des intervalles construits contiendraient la vraie valeur du paramètre.
#IC pour une proportion
L'exemple canonique du marketing: 120 conversions sur 200 visites. On calcule le Wald (rapide, fragile aux extrêmes) et le Wilson (recommandé) côte à côte, avec la même formule fermée que la page Proportions.
Avec 120/200, les deux intervalles sont ici presque interchangeables — Wald [53,2%; 66,8%], Wilson [53,1%; 66,5%] — car k = 120 et n − k = 80 dépassent largement la trentaine: c'est le régime où le Wald est acceptable. La page Proportions montre ce qui arrive hors de ce régime (k proche de 0 ou n, petit n): la couverture du Wald s'effondre et le Wilson reste le choix par défaut.
#IC pour une moyenne
Pour une moyenne avec variance inconnue, on utilise la distribution de Student (t): estimer σ agrandit l'incertitude, d'autant plus que n est petit. Trente requêtes, σ inconnu:
Résultat (graine 42): moyenne 150,7 ms, écart-type 20,8 ms, t(0,975; 29) = 2,045, IC 95% [143,0; 158,4] ms. Trois observations: la moyenne empirique (150,7) s'écarte de la vraie moyenne injectée (150) d'un peu plus d'une erreur-type de 3,8 ms — un échantillon, un tirage, rien d'anormal; l'IC a bien couvert 150; et remplacer t par 1,960 rétrécirait l'intervalle d'environ 4% alors même que σ n'est qu'estimé. Note pour les données réelles: si les temps de réponse sont fortement asymétriques à droite (la loi log-normale de la page Lois usuelles), la moyenne et son IC restent valides à grand n par le théorème central limite, mais la médiane et les quantiles (p95!) décrivent mieux l'expérience utilisateur.
#Tests d'hypothèses
#Vocabulaire
H0 (hypothèse nulle): ce qu'on cherche à réfuter (souvent "pas d'effet", "pas de différence").
H1 (hypothèse alternative): ce qu'on veut montrer.
p-value: probabilité d'observer un résultat aussi extrême sous H0.
α (niveau de signification): seuil de décision (souvent 0.05).
#Erreurs
Type I (faux positif): rejeter H0 alors qu'elle est vraie. Probabilité = α.
Type II (faux négatif): ne pas rejeter H0 alors qu'elle est fausse. Probabilité = β.
Puissance: 1 - β, probabilité de détecter un effet réel.
#Test A/B sur deux proportions
L'A/B testing est l'application phare. Déroulons-en un complet, de la question métier à la conclusion: la variante B d'une page convertit-elle mieux que A? Données: 100/10 000 contre 130/10 000.
Lecture complète: z = 1,99, p = 0,047 — significatif au seuil 5%, de justesse. Mais la décision ne s'arrête pas là: l'effet vaut +0,30 point avec un IC [0,004%; 0,60%], soit un gain relatif de +30% ± 30%. La borne basse inclut des gains quasi nuls: si ce gain minimal n'échange pas le coût du déploiement, la bonne décision peut être de ne pas lancer, ou d'augmenter n pour trancher. Comparaison utile: pour détecter une telle différence de 0,3 point avec 80% de puissance, il fallait environ 1 300 observations par branche de plus que ce qu'exige un écart de 1 point — le coût d'échantillon croît comme l'inverse du carré de l'effet visé.
#Comparer deux moyennes: Student et Welch
Deux groupes d'utilisateurs, temps passé sur le site. Si les variances des deux populations sont égales, le test de Student s'applique; si elles diffèrent (ou par prudence par défaut), le test de Welch ajuste les degrés de liberté. Règle moderne: Welch par défaut — il coûte presque rien en puissance quand les variances sont égales et il évite l'erreur quand elles ne le sont pas.
Résultat (graine 42): A = 118,3 s, B = 141,1 s, différence +22,8 s, t = 3,94 à 89,6 degrés de liberté, p < 0,001, IC 95% [11,5; 34,2] s. Ici significativité et importance racontent la même histoire: 23 secondes de temps de session en plus, c'est un effet que le métier peut évaluer directement. La p-value extrême (p ≈ 0,0002) et l'IC excluant largement zéro concourent — mais attention à la lecture: « p < 0,001 » ne dit pas que l'effet est grand, il dit que l'échantillon suffit à le distinguer de zéro; c'est l'IC qui donne la magnitude. Dans l'autre sens, avec n = 1 000 000 d'utilisateurs par branche, une différence de 0,2 s sortirait avec p ≈ 0,0001 alors qu'elle ne pèse rien face au temps de session moyen.
#Signification statistique vs pratique
Une différence peut être statistiquement significative (p < 0.05) mais pratiquement négligeable. Avec assez de données, on peut détecter des effets minuscules.
#Tests multiples
Si on teste 20 hypothèses au seuil 5%, on s'attend à 1 faux positif par hasard. Il faut corriger:
Bonferroni: diviser α par le nombre de tests (conservateur — contrôle le risque d'au moins un faux positif sur toute la famille).
Benjamini-Hochberg (FDR): trier les p-values, rejeter toutes celles en dessous du plus grand rang i tel que p₍ᵢ₎ ≤ (i/m)·q — contrôle, en espérance, la proportion de fausses découvertes parmi les rejets. Plus puissant, standard en exploration.
Sur cette batterie: Bonferroni (seuil 0,0025) ne rejette qu'un test; BH en rejette deux (0,001 et 0,004, car au rang 2 le seuil monte à 0,005). L'écart entre les deux familles grossit avec le nombre de tests et la densité de petits p: c'est pourquoi l'analyse exploratoire à grande échelle (génétique, tests A/B multiples) travaille en FDR, tandis que les essais confirmatoires préfèrent le contrôle familial strict de Bonferroni.
#Quiz
#Exercices
Exercice 1 (A/B, décision complète). Sur 10 000 visiteurs par branche, la variante A convertit à 8,9% (890), la variante B à 9,4% (940). Testez au seuil 5%, donnez l'IC 95% de la différence et rédigez la conclusion métier en deux phrases.
Corrigé. Proportion poolée 1 830/20 000 = 0,0915, se = √(0,0915×0,9085×2/10 000) = 0,00407, z = 0,005/0,00407 = 1,23, p = 0,22: non significatif. IC 95% de la différence (se sur différences non poolées = 0,00399): [−0,30%; +1,30%]. Conclusion métier: « l'essai n'a pas démontré de différence de conversion; les données restent compatibles avec un gain jusqu'à +1,3 point comme avec une perte de 0,3 point. Si seul un gain ≥ 1 point justifie le déploiement, l'essai est très sous-dimensionné: pour 80% de puissance sur un écart de 0,5 point à ce niveau de base, il fallait ≈ 52 000 visiteurs par branche — détecter un petit écart sur une conversion faible coûte très cher en échantillon. »
Exercice 2 (appariement). Huit serveurs mesurés avant et après un patch: différences individuelles +2,1 ms en moyenne, écart-type 0,99 ms. Pourquoi le test apparié est-il le bon, et que donne-t-il?
Corrigé. Les mêmes serveurs sont mesurés deux fois: les échantillons ne sont pas indépendants, et le test apparié — qui travaille sur les différences individuelles — élimine la variabilité inter-serveurs. t = 2,125/(0,99/√8) = 6,1 à 7 ddl, p < 0,001, IC 95% [1,30; 2,95] ms. Traiter les deux séries comme indépendantes (avec des écarts-types individuels ~9 ms) noierait l'effet: t ≈ 0,5, p ≈ 0,6. Le détail complet est dans les exercices de Tests d'hypothèses.
Exercice 3 (puissance rétro). Un collègue annonce « non significatif, donc pas d'effet » après un test sur n = 20 par groupe, écart-type 25, seuil 5%. Quel effet minimal son protocole pouvait-il détecter avec 80% de puissance?
Corrigé. Puissance 80% au seuil bilatéral 5%: δ_min ≈ 2,8×σ√(2/n) = 2,8×25×√(2/20) = 2,8×25×0,316 ≈ 22 unités. Tout effet inférieur à 22 était très probablement manqué: « non significatif » signifie ici « l'expérience était trop petite pour trancher », pas « absence d'effet ». L'IC 95% de la différence observée, large d'environ ±2×22/2,8 unités, aurait affiché explicitement cette incapacité — c'est l'argument massue pour rapporter l'IC et pas seulement la p-value.
Exercice 4 (regarder en continu). Un dashboard A/B rafraîchit la p-value chaque jour pendant 30 jours et l'équipe s'arrête dès p < 0,05. Simulez le risque de faux positif d'une telle procédure sous H₀.
Éléments de vérification. Sans effet réel, chaque regard journalier a 5% de risque, et les regards successifs portent sur des données cumulées: la probabilité de franchir 0,05 au moins une fois en 30 jours grimpe à environ 49% (graine 42, 1 000 simulations: mesuré 49,1%) — dix fois le niveau annoncé. La parade n'est pas interdire de regarder, mais structurer: tests séquentiels avec frontières d'arrêt calibrées (dépense d'α échelonnée), ou décision unique au n planifié. Même moralité que les tests multiples: chaque regard supplémentaire consomme du risque α.