J'exécute un test AB sur une page qui ne reçoit que 5 000 visites par mois. Il faudrait trop de temps pour atteindre les niveaux de trafic nécessaires pour mesurer une différence de + -1% entre le test et le contrôle. J'ai entendu dire que je peux utiliser les statistiques bayésiennes pour me donner une bonne chance de déterminer si le test a surperformé. Comment puis-je utiliser les statistiques bayésiennes pour analyser mes données actuelles?
Visitors Conversions
Control 1345 1165
Test A 961 298
Test B 1274 438
bayesian
hypothesis-testing
ab-test
Bi-Gnomial
la source
la source
Réponses:
Je travaille mon chemin à travers les mêmes questions. Il y a maintenant quelques articles utiles qui n'étaient pas disponibles lorsque vous avez posé cette question.
« Bayésienne test A / B avec la théorie et le code » par Antti Rasinen - la conclusion logique d'une série inachevée de la série des articles « Exact bayésienne pour les essais Inference A / B » par Evan Haas (partiellement sauvé ici part1 et part2 ).
Le conjugué a priori pour la distribution binomiale est la distribution bêta. Par conséquent, la distribution du taux de conversion pour une variante est la distribution bêta. Vous pouvez résoudrePr ( A > B ) numériquement ou exactement. L'auteur se réfère à un essai écrit par Bayes lui-même, "Un essai pour résoudre un problème dans la doctrine des chances" .
«Tests A / B proportionnels» par Ian Clarke - L'auteur explique que la distribution bêta est la clé pour comprendre comment appliquer une solution bayésienne aux tests A / B. Il discute également de l’utilisation de l’ échantillonnage de Thompson pour déterminer les valeursα et β .
"Chapitre 2: Un peu plus sur PyMC" du livre "Bayesian Methods for Hackers" de Cam Davidson Pilon - Il s'agit d'un livre iPython expliquant les méthodes bayésiennes dans un certain nombre d'applications. À mi-chemin du chapitre 2 (le titre de la section est Exemple: test bayésien A / B ), l'auteur donne une explication détaillée de la façon de calculer la probabilité que A soit meilleur que B (ou vice versa) en utilisant la bibliothèque pymc . Le code python complet est fourni, y compris le traçage des résultats.
Il existe également maintenant un certain nombre de calculateurs de signification bayésienne en ligne:
la source
Vous pouvez effectuer une intégration Monte-Carlo des intervalles crédibles de chaque groupe représenté par des distributions bêta pour calculer la probabilité que le véritable paramètre inconnu d'un groupe soit meilleur que le véritable paramètre inconnu d'un autre groupe. J'ai fait quelque chose de similaire dans cette question Comment un fréquentiste calcule-t-il les chances que le groupe A bat le groupe B en ce qui concerne la réponse binaire où essais = visiteurs et essais réussis = conversions
MAIS: Attention, Bayes ne vous donnera que des probabilités subjectives en fonction des données collectées jusqu'à présent, pas de la "vérité" objective. Cela tient à la différence de philosophie entre les fréquentistes (qui utilisent des tests statistiques, les valeurs p, etc.) et les bayésiens. Par conséquent, vous ne pouvez pas vous attendre à détecter une différence significative en utilisant Bayes lorsque les procédures statistiques ne le font pas.
Pour comprendre pourquoi cela est important, il pourrait être utile d’apprendre d’abord la différence entre l’intervalle de confiance et l’intervalle crédible, étant donné que l’intégration MC mentionnée ci-dessus compare «seulement» deux intervalles crédibles indépendants.
Pour plus de détails sur ce sujet, voir par exemple ces questions:
la source
Il existe plusieurs approches pour effectuer des tests bayésiens A / B.
Tout d'abord, vous devez décider si vous souhaitez utiliser une approche analytique (en utilisant les distributions conjuguées comme le mentionne Lenwood) ou une approche MCMC. Pour les expériences A / B simples, en particulier sur le taux de conversion qui est votre cas, il n'est vraiment pas nécessaire d'utiliser une approche MCMC: utilisez simplement une distribution Beta comme préalable et votre distribution postérieure sera également une distribution Beta.
Ensuite, vous devez décider quelle règle de décision appliquer. Ici, il semble y avoir deux approches principales pour la prise de décision. Le premier est basé sur un article de John Kruschke de l'Université de l'Indiana (K. Kruschke, Bayesian Estimation Supersedes the t Test , Journal of Experimental Psychology: General, 142, 573 (2013).). La règle de décision utilisée dans cet article est basée sur le concept de région d'équivalence pratique (CORDE).
Une autre possibilité consiste à utiliser le concept de perte attendue. Il a été proposé par Chris Stucchio (C. Stucchio, Bayesian A / B Testing chez VWO ).
En principe, vous pouvez utiliser une règle de décision différente.
Vous pouvez trouver cela et bien plus encore sur cet article de blog: Bayesian A / B Testing: a step-by-step guide . Il comprend également des extraits de code Python et utilise un projet Python hébergé sur Github .
la source