什么时候终止贝叶斯A / B测试?


10

我正在尝试对贝叶斯方法进行A / B测试,就像在针对黑客的概率编程贝叶斯A / B测试中一样。这两篇文章都假定决策者仅根据某些准则(例如的概率来决定哪个变量更好,因此更好。这种可能性无法提供有关是否有足够数据量可以得出任何结论的任何信息。因此,我不清楚何时停止测试。P(pA>pB)=0.97A

假设有两个二进制RV,即和,我想根据和的观察来估计和的可能性是多少。此外,假设和是beta分布的。B p A > p BABpA>pBABpApBpApBpA>5%ABpApB

由于我可以找到和的参数,可以对后验样本进行采样,并估计。python中的示例:p α,βp BpA|dataP p A > p B | data pB|dataP(pA>pB | data)

import numpy as np

samples = {'A': np.random.beta(alpha1, beta1, 1000),
           'B': np.random.beta(alpha2, beta2, 1000)}
p = np.mean(samples['A'] > samples['B'])

我可以得到例如。现在,我想得到类似。P p A > p B |数据= 0.95 ± 0.03P(pA>pB)=0.95P(pA>pB | data)=0.95±0.03

我已经研究了可靠的区间和贝叶斯因子,但是如果它们完全适用,将无法理解如何为这种情况计算它们。我该如何计算这些其他统计信息,以便制定出良好的终止条件?


1
关于这方面的好文章,请查看附录中的有关计算示例... support.google.com/analytics/answer/2844870?hl=zh_CN
Fabio Beltramini 2014年

Answers:


10

我很高兴您提到此示例,因为我正在从事的一个项目正在撰写有关贝叶斯A / B测试的整章。

我们对两个量感兴趣:和一些“增加”的量度。我将首先讨论数量。P p A > p BP(pA>pB|data)P(pA>pB|data)

没有错误界限,它是一个真实的数量。这类似于说“后验的平均值是多少?”,只有1个平均值,我们可以通过取所有样本的平均值来进行计算(我忽略了任何蒙特卡洛误差,因为它们可以减少通过采样来忽略不计)。我认为您正在混淆未知数量,在这里我们可以说“ +/- 3%”和后验计算数量。P(pA>pB|data)

我的意思是是确定的:给定您观察到的数据和先验,这就是您的结论。P(pA>pB|data)=0.95

请注意,我们很快就会知道:对于足够不同的和只需要进行适度的观察。衡量A相对于B的增长量要困难得多,也更有趣。(这通常是A / B测试的目标:我们将转化率提高多少)。您提到 5%-您对此有多确定?p A p B p Ap BpA>pBpApBpApBpB>

请注意,虽然是布尔值,因此易于测量,但是当然不是布尔值。它是一种可能性的分布:p Ap BpA>pBpApBpB

在此处输入图片说明

随着越来越多的数据被获取,该分布收敛到实际的相对增加,可以说分布稳定了。这是我建议考虑终止实验的地方。一旦这种分布似乎“平静了下来”,我们就可以对这种增长充满信心,然后终止实验。


谢谢回复!期待很快看到新的篇章。现在,我正在考虑样本方差,并在接近零时终止测试。pApBpA
Bogdan Kulynych

嘿@ Cam.Davidson.Pilon,谢谢您的回复。我仍然对给出这样的概率感到困惑:“概率是A比B好10%,X是X%”,我创建了2个分布;一个比另一个好10%,并且使用了很大的N值,因此diff(A / B-1)具有正态分布,平均值为10%。因此(diff> .10).mean()返回〜50%,但不应该是100%吗?
CanCeylan '18

@CanCeylan您有共享代码吗?我不确定您是如何创建发行版的...
Cam.Davidson.Pilon '18

0

我一直在尝试停止贝叶斯A / B测试的方法,但是您是对的-谷歌搜索没有很多明显的方法。我最喜欢的方法是基于此的基于精度的方法:http : //doingbayesiandataanalysis.blogspot.com/2013/11/optional-stopping-in-data-collection-p.html。但是,关于这一点我还没有找到很多数学文献,所以现在这只是一种很好的启发式方法。

我发现,虽然我的测试需要更长的运行时间才能达到所需的精度,但它更加直观,您可以花一些时间分配来“降低”目标方式,即不是盯着它。P(A>B|data)


0

贝叶斯A / B测试中似乎有两种主要的决策方法。第一个基于印第安纳大学的约翰·克鲁施克(John Kruschke)的论文(K.克鲁施克,贝叶斯估计取代了t检验,《实验心理学杂志》,第142卷,第573页,2013年)。本文使用的决策规则基于“实际等效区域”(ROPE)的概念。

另一种可能性是使用预期损失的概念。它由Chris Stucchio(C。Stucchio,VWO的贝叶斯A / B测试)提出。这是我要考虑的另一种方法。

Cam.Davidson.Pilon建议的方法是查看的后验分布,这很有意义,并且很适合ROPE方法。使用ROPE方法的另一个好处是,还可以为实验何时尚无定论提供规则(不仅是可以宣布“ A”或“ B”变体获胜的时间)。 (pApB)/pA

您可以在此博客文章中找到更多信息:贝叶斯A / B测试:分步指南。它还包括一些Python代码段,这些代码段主要基于Github托管的Python项目。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.