tadata
← Retour à l'accueil

Tests d'Hypothèses : p-Values, Significativité Statistique & Idées Reçues

#statistics#data-strategy#experimentation#data-science

Les tests d'hypothèses permettent de prendre des décisions à partir de données tout en contrôlant le risqué de se tromper. C'est le fondement des tests A/B, des essais cliniques et des décisions produit data-driven — pourtant c'est l'un des concepts les plus mal compris en statistiques.

L'Idée Centrale

Vous avez une question : « Est-ce que cette nouvelle fonctionnalité augmente la conversion ? » Vous observez des données. Mais le hasard existe — peut-être que la conversion a augmenté par pur hasard. Le test d'hypothèse vous donne un cadre pour décider : ce résultat est-il réel, ou du bruit ?

Étape 1 — Définir Deux Hypothèses

HypothèseCe qu'elle ditExemple
H0 (hypothèse nulle)Rien ne s'est passé. Pas d'effet. Statu quo.« Le nouveau bouton NE change PAS le taux de conversion »
H1 (hypothèse alternative)Quelque chose s'est passé. Il Y A un effet.« Le nouveau bouton CHANGE le taux de conversion »

H0 est l'hypothèse par défaut. On supposé que rien ne se passé tant que les données ne nous convainquent pas du contraire. C'est comme la « présomption d'innocence » — H0 est l'innocence, les données sont les preuves.

Étape 2 — Collecter les Données & Calculer une Statistique de Test

Vous lancez votre expérience et calculez une statistique de test — un nombre qui résume à quel point votre résultat observé s'éloigne de ce que H0 prédirait.

Exemple : Vous testez un nouveau bouton de paiement sur 1 000 utilisateurs par groupe.

GroupeUtilisateursConversionsTaux de conversion
Contrôle (ancien bouton)1 00010010,0 %
Traitement (nouveau bouton)1 00012512,5 %

La différence observée est de +2,5 points de pourcentage. Mais cela pourrait-il arriver par hasard si le bouton n'a aucun effet réel ?

Étape 3 — La p-Value

p-value = la probabilité d'observer un résultat au moins aussi extrême que le vôtre, en supposant que H0 est vraie.

Dans notre exemple : « Si le nouveau bouton n'a véritablement AUCUN effet sur la conversion (H0 est vraie), quelle est la probabilité de voir une différence de +2,5 pp (ou plus) juste par hasard ? »

tadata
  1. H0 est vraie (pas d'effet)
  2. À quoi ressembleraient des données aléatoires ?
  3. À quel point MES données sont-elles extrêmes par rapport à ça ?
  4. p-value = probabilité d'être aussi extrême ou plus
La p-value répond : « À quel point ces données sont-elles surprenantes SI rien n'a changé ? »

Ce que la p-value EST

  • La probabilité des données (ou plus extrêmes) étant donné H0
  • Une mesure de l'incompatibilité de vos données avec l'hypothèse nulle
  • S'écrit : P(données | H0)

Ce que la p-value N'EST PAS

Idée reçuePourquoi c'est faux
« p = 0,03 signifie 3 % de chance que H0 soit vraie »La p-value concerne les DONNÉES, pas H0. C'est P(données|H0), pas P(H0|données)
« p = 0,03 signifie 97 % de chance que H1 soit vraie »Même erreur inversée. La p-value ne dit rien sur la probabilité de H1
« p < 0,05 signifie que l'effet est réel »Cela signifie « improbable sous H0 » — pas « H1 est vraie ». Les faux positifs existent
« p = 0,05 est significatif, p = 0,06 ne l'est pas »Il n'y a pas de seuil magique. 0,049 et 0,051 sont pratiquement identiques
« Petite p-value = grand effet »Un effet minuscule peut donner p < 0,001 avec assez de données. p-value ≠ taillé d'effet

Pensez-y comme une alarme incendie. La p-value vous dit « cette alarme se déclencherait par accident seulement 3 % du temps. » Elle NE vous dit PAS « il y a 97 % de chance qu'il y ait un feu. »

Étape 4 — Règle de Décision (seuil α)

Avant de regarder les données, vous choisissez un niveau de significativité α (typiquement 0,05) :

Si...DécisionCe que ça signifie
p ≤ αRejeter H0Les données sont suffisamment improbables sous H0 pour conclure que quelque chose se passé
p > αNe pas rejeter H0Pas assez de preuves pour conclure qu'un effet existe

« Ne pas rejeter H0 » N'EST PAS « H0 est vraie. » Cela signifie : nous n'avons pas assez de preuves pour dire le contraire.

Types d'Erreurs

H0 est en fait vraieH0 est en fait fausse
Rejeter H0Erreur de type I (faux positif) — probabilité = αCorrect ! (vrai positif) — probabilité = puissance
Ne pas rejeter H0Correct ! (vrai négatif)Erreur de type II (faux négatif) — probabilité = β
Type d'erreurEn termes de test A/BComment la contrôler
Type I (α)« On a lancé une fonctionnalité qui ne fait rien »Baisser α (ex. 0,01 au lieu de 0,05)
Type II (β)« On a tué une fonctionnalité qui marchait »Augmenter la taille d'échantillon ou la durée
Puissance (1 - β)« Capacité à détecter un vrai effet »Viser 80 % de puissance minimum
tadata
−4 −2 0 2 4 6 test statistic (z) critical z = −1.96 critical z = 1.96 observed z = 2.1 lift = MDE no lift type I error α = 0.05 (split over both tails) type II error β = 0.2 power 1−β = 0.8 p-value = 0.0357 < α = 0.05 → reject H₀
−4 −2 0 2 4 6 test statistic (z) critical z = −1.96 critical z = 1.96 observed z = 2.1 lift = MDE no lift type I error α = 0.05 (split over both tails) type II error β = 0.2 power 1−β = 0.8 p-value = 0.0357 < α = 0.05 → reject H₀
Le même plan d'expérience vu comme des distributions d'échantillonnage : un effet réel de 2,8 erreurs standard (= 1,96 + 0,84) donne une puissance de 80 % à α = 0,05. Un z observé de 2,1 donne p = 0,036 : on rejette H0

Extrait de la fiche « Causal Inference and A/B Testing » · Demander la fiche complète

Puissance Statistique & Taille d'Échantillon

Puissance = probabilité de détecter correctement un effet réel.

FacteurEffet sur la taille d'échantillon requise
Plus petit effet à détecter↑ Plus de données nécessaires
Plus haute puissance (β plus bas)↑ Plus de données nécessaires
α plus bas (significativité plus stricte)↑ Plus de données nécessaires
Variance de base plus élevée↑ Plus de données nécessaires

Ordre de grandeur pour les tests A/B :

Effet minimum détectableConversion de baseÉchantillon approx. par groupe
+2 pp (10 % → 12 %)10 %~2 000
+1 pp (10 % → 11 %)10 %~8 000
+0,5 pp (10 % → 10,5 %)10 %~32 000
+0,1 pp (10 % → 10,1 %)10 %~800 000

Détecter de petits effets requiert des échantillons énormes. C'est pourquoi il faut toujours définir l'effet minimum qui compte avant de lancer une expérience.

tadata
Sample size per group for two conversion rates FORMULA n = (za + zb)² × (p1 × (1 - p1) + p2 × (1 - p2)) / d² WHERE • n = users needed in each group (users)• za = z-value for the significance level: 1.96 for α = 0.05 two-sided (-)• zb = z-value for the power: 0.84 for power 0.80 (-)• p1 = baseline conversion rate (control) (0-1)• p2 = conversion rate you want to be able to detect (p1 + MDE) (0-1)• d = absolute minimum detectable effect p2 - p1 (0-1) WORKED za = 1.96zb = 0.8416p1 = 0.1p2 = 0.11d = 0.01n = (1.96 + 0.8416)^2 × (0.1 × (1 - 0.1) + 0.11 × (1 - 0.11)) / 0.01^2n = 14 748.2 users per group RESULT n = 14 748.2 users per group READ IT Detecting a lift from 10 % to 11 % needs about 14,700 users per variant (29,500 in all). Halving theMDE multiplies n by 4. MISTAKES • Fix n (or a sequential design) before starting; stopping when p < 0.05 inflates false positives• Use a relative MDE only after converting it to absolute points• Randomise and analyse on the same unit (user, not page view)
Sample size per group for two conversion rates FORMULA n = (za + zb)² × (p1 × (1 - p1) + p2 × (1 - p2)) / d² WHERE • n = users needed in each group (users)• za = z-value for the significance level: 1.96 for α = 0.05 two-sided (-)• zb = z-value for the power: 0.84 for power 0.80 (-)• p1 = baseline conversion rate (control) (0-1)• p2 = conversion rate you want to be able to detect (p1 + MDE) (0-1)• d = absolute minimum detectable effect p2 - p1 (0-1) WORKED za = 1.96zb = 0.8416p1 = 0.1p2 = 0.11d = 0.01n = (1.96 + 0.8416)^2 × (0.1 × (1 - 0.1) + 0.11 × (1 - 0.11)) / 0.01^2n = 14 748.2 users per group RESULT n = 14 748.2 users per group READ IT Detecting a lift from 10 % to 11 % needs about 14,700 users per variant (29,500 in all). Halving theMDE multiplies n by 4. MISTAKES • Fix n (or a sequential design) before starting; stopping when p < 0.05 inflates false positives• Use a relative MDE only after converting it to absolute points• Randomise and analyse on the same unit (user, not page view)

Extrait de la fiche « Causal Inference and A/B Testing » · Demander la fiche complète

Intervalles de Confiance > p-Values

Un intervalle de confiance à 95 % vous dit plus qu'une p-value :

Ce qu'il donneExemple
Effet estiméLa conversion a augmenté de +2,5 pp
PrécisionIC 95 % : [+0,5 pp, +4,5 pp]
SignificativitéSi l'IC ne contient pas 0 → significatif à α = 0,05
Significativité pratiquéLa borne basse (+0,5 pp) est-elle suffisante pour agir ?
tadata
80 % 85 % 90 % 95 % Model A (82 %) Model A (82 %): 78.6 %–85.4 % 78.6 %–85.4 % Model B (85 %) Model B (85 %): 81.9 %–88.1 % 81.9 % 88.1 % Model C (90 %) Model C (90 %): 87.4 %–92.6 % 87.4 % 92.6 % 95 % interval accuracy
80 % 85 % 90 % 95 % Model A (82 %) Model A (82 %): 78.6 %–85.4 % 78.6 %–85.4 % Model B (85 %) Model B (85 %): 81.9 %–88.1 % 81.9 % 88.1 % Model C (90 %) Model C (90 %): 87.4 %–92.6 % 87.4 % 92.6 % 95 % interval accuracy
Trois modèles sur le même benchmark de 500 items avec intervalles à 95 % : A et B se chevauchent largement, leur écart de 3 points n'est donc pas établi ; C est nettement meilleur que A

Extrait de la fiche « Statistics for ML » · Demander la fiche complète

Alternative Bayésienne

Le test d'hypothèse bayésien donne ce que la plupart des gens veulent vraiment : la probabilité que le traitement soit meilleur.

FréquentisteBayésien
P(données | H0)P(H1 | données) ← ce qui vous intéresse vraiment
« p = 0,03 »« 95 % de probabilité que B est meilleur que A »
Nécessite une taille d'échantillon fixéPeut s'arrêter tôt, met à jour les croyances en continu
Seuil de significativité (α)Distribution a priori + distribution a posteriori

Le test A/B bayésien est de plus en plus adopté (Statsig, GrowthBook, VWO) car les résultats sont plus faciles à interpréter et à communiquer.

Aide-Mémoire des Pièges Courants

PiègeProblèmeSolution
Consultation prématuréeVérifier les résultats répétitivement gonfle les faux positifsUtiliser le test séquentiel ou s'engager sur une analyse fixé
Comparaisons multiplesTester 20 métriques → une sera « significative » par hasardCorrection de Bonferroni ou Benjamini-Hochberg
Tests sous-puissantsNe peut pas détecter les vrais effets → tout semble « non significatif »Calculer la taille d'échantillon avant de commencer
p-hackingAjuster l'analyse jusqu'à p < 0,05Pré-enregistrer les hypothèses et le plan d'analyse
Ignorer la taille d'effetStatistiquement significatif ≠ pratiquement importantToujours rapporter les intervalles de confiance
Confondre corrélation et causalitéLes données observationnelles ne prouvent pas la causalitéUtiliser des expériences randomisées

Cadre de Décision

tadata
  • Est-ce une expérience randomisée ?
    • Oui: Utiliser un test d'hypothèse (t-test, chi-carré, etc.)
      • → Votre échantillon est-il assez grand ? (puissance ≥ 80 %)
        • Oui: Lancer le test, interpréter avec IC
        • Non: Augmenter l'échantillon ou accepter une puissance moindre
    • Non: Utiliser l'inférence causale (diff-en-diff, VI, etc.)

Ressources

Nous utilisons des cookies analytiques pour améliorer votre expérience. Aucune donnée personnelle n'est collectée.