Erreurs de type I et de type II
Glissez pour afficher le menu
Comprendre les types d’erreurs est essentiel pour interpréter les résultats des tests A/B. En test d’hypothèse, une erreur de type I se produit lorsque l’on rejette à tort une hypothèse nulle vraie, également appelée faux positif. Cela signifie que l’on conclut à une différence alors qu’il n’y en a pas en réalité. Par exemple, si vous effectuez un test A/B pour vérifier si une nouvelle couleur de bouton augmente les clics et que vous obtenez un résultat statistiquement significatif uniquement par hasard (alors que la nouvelle couleur n’a aucun effet réel), vous avez commis une erreur de type I.
Une erreur de type II survient lorsque l’on ne rejette pas une hypothèse nulle fausse, connue sous le nom de faux négatif. Cela signifie que l’on passe à côté d’un effet réel. Imaginez que votre nouvelle fonctionnalité augmente effectivement l’engagement des utilisateurs, mais que votre test ne détecte pas cette amélioration – peut-être parce que la taille de l’échantillon est trop faible ou que le test n’est pas assez sensible. Dans ce cas, vous avez commis une erreur de type II.
Des scénarios concrets permettent d’illustrer ces erreurs :
- Erreur de type I (faux positif) : Lancement d’un nouveau parcours de paiement basé sur un test ayant indiqué à tort une conversion supérieure, entraînant un gaspillage de ressources de développement ;
- Erreur de type II (faux négatif) : Manquer une opportunité précieuse en ne déployant pas une fonctionnalité qui améliore réellement la rétention, car le test n’a pas détecté son effet.
123456789101112131415161718192021222324import numpy as np # Simulating 10,000 A/B tests where there is actually no effect (null hypothesis true) np.random.seed(42) n_tests = 10000 alpha = 0.05 # significance level # Simulating p-values uniformly distributed between 0 and 1 (no true effect) p_values = np.random.uniform(0, 1, n_tests) # Type I error: proportion of tests where p-value < alpha (false positives) type1_errors = np.sum(p_values < alpha) type1_error_rate = type1_errors / n_tests print(f"Type I error rate (alpha={alpha}): {type1_error_rate:.3f}") # Simulating 10,000 A/B tests where there IS a real effect (null hypothesis false) # Assume power = 0.8 (80% chance to detect the effect) power = 0.8 # 80% of tests yield p < alpha (true positives), 20% yield p >= alpha (false negatives) false_negatives = int((1 - power) * n_tests) type2_error_rate = false_negatives / n_tests print(f"Type II error rate (beta={1 - power}): {type2_error_rate:.3f}")
Il existe un compromis entre le niveau de signification (alpha), la puissance (1 - beta) et les taux d’erreur. Diminuer alpha réduit la probabilité d’erreurs de type I mais augmente le risque d’erreurs de type II. Augmenter la taille de l’échantillon ou l’ampleur de l’effet peut accroître la puissance, réduisant ainsi les erreurs de type II. Les stratégies pour minimiser les erreurs incluent :
- Choisir un niveau de signification approprié en fonction du risque métier ;
- Garantir une taille d’échantillon suffisante pour détecter des effets significatifs ;
- Pré-enregistrer les hypothèses pour éviter le "p-hacking" ;
- Réaliser des analyses de sensibilité pour comprendre l’impact de différents seuils.
L’équilibre entre ces facteurs permet de prendre des décisions plus fiables à partir de vos tests A/B.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion