G-test 和 t-test 的区别,哪些应该用于 A/B 测试?

机器算法验证 置信区间 测试
2022-03-10 05:32:41

G-Test是一种快速估计卡方分布的方法,由这个著名的 A/B 测试教程的作者推荐

此工具假定正态分布并使用均值差异来计算置信度。

G测试和T测试有什么区别?使用每种方法来衡量我们的 A/B 测试的有效性有什么好处或坏处?

我试图弄清楚我应该使用哪一个来衡量我的 A/B 测试框架的结果。我们的框架有两个一般用例:平均分配访问者组,向每个人展示不同的功能,并在其他页面(例如注册页面)上衡量他们的转化率;并将访问者组分成对照组 (90%) 和实验组 (10%) 进行测试,并测量其他页面上的转化率。

我们的网站每天有 1000 到 200,000 次访问。这些访问以指数分布分布在大约 300 个页面上。

谢谢,凯文

3个回答

一般来说,在计算检验统计量时越不近似的检验越好,尽管随着样本量的增加,所有检验都会收敛到相同的结果。

因此,由于 A/B 测试通常关注二元结果,...

简短的回答:

使用 G 检验,因为它不太近似。

长答案:

t 检验,在 A/B 检验中样本量不等和方差不等的情况下,用 t 分布近似两个分布的差异,这本身就是有问题的。这两个分布可能是未知的,但认为它们的均值和方差足以描述它(否则任何结论都无济于事),这对于正态分布当然是正确的。

在二元结果的特殊情况下,二项分布可以近似为正态分布μ=np,σ2=np(1p), 适用于np(1p)9(经验法则,n=试验,p=成功率)。

因此,总而言之,虽然可以应用 t 检验,但执行两个近似以将二项式情况转换为更通用的情况,这在这里不是必需的,因为像 G 检验这样的近似测试较少或(甚至更好) Fisher 精确检验可用于这种特殊情况。应该应用 Fisher 精确检验,尤其是在样本量小于 20 的情况下(另一个经验法则),但我想这在可靠的 A/B 测试中并不重要。

您引用的 Ben Tilly 的页面是针对初学者的 A/B 测试的出色总结。然而,当您遇到更详细的问题/研究设计问题时,寻找更详细的主要来源是值得的。Kohavi 等人发表了一篇关于 AB 测试的开创性论文,该论文很好地结合了全面性和可读性。我强烈推荐它:http ://exp-platform.com/Documents/GuideControlledExperiments.pdf 。

回到你的问题,你应该问自己的真正问题是:

  1. 我需要在治疗和控制中获得多少印象才能使结果显着?
  2. 我关心的最小效应量是多少?您是否对至少比对照好 5% 或好 0.005% 的治疗方法感兴趣?
  3. 在多种治疗的情况下,是否存在将治疗相互比较的方案,或者将每种治疗与对照进行比较是否足够?
  4. 测量哪些变量很重要,以确保治疗组不会受到实验的意外副作用的影响。Kohavi 论文在网站性能方面有一个很好的例子:如果您的治疗体验较慢,那么无论出于何种原因(更多图像、不同的服务器、快速而肮脏的代码)都可以控制,这有可能严重破坏测试。
  5. 将用户或印象数纳入实验是否更有意义?换句话说,确保用户在会话/试用期间始终获得控制或治疗体验是否有意义,或者您是否可以将每个页面展示独立注册到测试中?

当您解决这些问题时,您最终将对测试参数有更好的理解。结合您的领域知识(例如,您的网站是否经历了您想要控制的强循环模式)、让用户接受实验​​的兴趣(您是否真的愿意向许多用户展示治疗体验,或者您更愿意包含潜在损害)和获得结果的期望速度,这种理解将指导您最终确定如何在控制和治疗之间分配整体流量。

我讨厌用“它取决于”来回答具体问题,但在这种情况下,它确实取决于您的网站和实验的情况。在某些情况下,将流量拆分为 50/50 还是 90/10 不会产生显着差异,而在不同的情况下,这可能非常重要。YMMV,但是像上面引用的论文这样的好参考肯定会让你朝着正确的方向前进。

我无法对原始帖子发表评论,因为我缺少 StackExchange 积分或其他内容,但我只想指出,对于 p 值,ABBA 不使用简单的基于正态近似的 Z 检验,尽管我可以通过简要阅读该页面,了解您的想法。ABBA 使用精确的二项式统计,直到样本大小为 100,除此之外,它确实依赖于具有连续性校正的正态近似。我还没有看到它与“不太近似”的测试有很大不同的案例,但如果你遇到任何此类案例,我会非常感兴趣。

在任何情况下都不存在 t 分布或 t 检验。

对于置信区间,它确实总是依赖于正态近似,尽管它使用了 Agresti-Coull 方法,效果很好。