数据分析36计(15):这个序贯检验方法让 A/B 实验节约一半样本量
往期系列原创文章集锦:
数据分析36计(14):A/B测试中的10个陷阱,一不注意就白做
数据分析36计(13):中介模型利用问卷数据探究用户心理过程,产品优化思路来源
数据分析36计(12):做不了AB测试,如何量化评估营销、产品改版等对业务的效果
数据分析36计(11):如何用贝叶斯概率准确提供业务方营销转化率
数据分析36计(十):Facebook开源时间序列预测算法 Prophet
数据分析36计(九):倾向得分匹配法(PSM)量化评估效果分析
数据运营36计(八):断点回归(RDD)评估产品设计效果
数据分析36计(七):营销增益模型(uplift model)如何识别营销敏感用户群-Python
数据运营36计(六):BG/NBD概率模型预测用户生命周期LTV-Python
数据运营36计(五):马尔可夫链对营销渠道归因建模,R语言实现
数据运营36计(四):互联网广告渠道归因分析之Sharply Value
数据运营36计(三):熵权法如何确定指标权重构建评价体系
数据运营36计(二):如何用合成控制法判断策略实施效果
数据运营36计(一):生存分析与用户行为如何联系起来
1. Netflix如何合理地缩短实验时间
提高实验效率能带来很多好处:
在相同的时间内可以运行更多的测试了,从而增加为用户找到更好的体验的机会。
可以快速测试各个领域,以找出最佳的投资领域,为未来的创新作准备。
更早地结束实验,就可以更快地为用户带来更多的乐趣。
当然,不可否认的是,进行一个短期的实验也有风险:
通常,真正的测试时间要比根据功效分析(power analysis)所确定的最短时间长得多,这是为了缓解潜在的季节性波动(例如,一天中的时间,一周中的某天,不同周之间等等)、识别到新奇效应的影响,或考虑到某些实验效果可能需要更长时间才能够显现出来。
假期和某些特殊事件的发生,例如新标题的发布,可能会吸引一些不具有代表性的观众。使得测试结果难以推广。
过早地将实验运用到实战中(例如发生HARKing或p-hacking)可能会增加误报率,导致努力白费。
2. 实验设计确定最佳实验结束时间
假设说某个实验处理,既跟时间没有关系(通过使用元分析评估出此结论)而且样本也足够大,那我们就可以应用多种不同的策略来尽早且合理的结束实验。简单地说,我们可以不断地偷看实验结果,但是有时这样的做法会造成假阳性,这时即使实验并没有效果,我们可能会误以为它有效果。此时则可以使用一些方法来防止这种偷窥中(或者用更正式的说法是:中期分析)假阳性的发生(I类错误)。
我们用回顾性研究评估了几种方法,例如序贯概率比检验(SPRT),序贯三角检验,以及成组序贯实验(GST)。在我们的研究中,GST表现最好且最具实用价值。它通常被广泛的应用到临床实验中,样本随着时间逐渐积累增多,这非常适用于我们的案例。
它的思路大致是这样的:
在测试开始之前,我们先确定所需的最短运行时间和中期分析的次数。
然后,GST将所有可容许的I类错误总数(例如0.05)分配到所有中期分析中,以使I类错误加和起来为I类错误总数。这样,每个中期测试都比定期的peeking更为保守。
一旦统计学上足够显著,我们就可以立即停止实验。当观察到效果明显大于预期时,通常就是这种情况。
下图展示了五次中期分析下,GST的临界值以及单独和累积的Alpha-spending。通过这样的策略,我们可以节省大量的实验时间,同时能够更早且更准确的估计出效果的临界点。尽管说,获得的置信区间略宽,而且效果有些许的夸大。当我们想要快速测试某个想法,而且对效果的准确性要求不高,或者当我们发现一个很严重的负面影响而需要提前结束测试时,这种方法最有效。
下图展示了功效分析固定样本大小情况下,一个成功的GST提前停止案例(FSS完全停止)。由于观察到的效果足够大,我们可以使用相似点估计更早地停止测试。整合决策支持的实验平台,现在,我们的初步研究已经完成,我们正在积极地拓展元分析,优化最佳停止时间,异质性效果检测,以及将更多内容扩展到更大的Netflix实验和因果推理平台中。
3. 成组序贯实验原理 Group Sequential Test
序贯检验是在 A/B 测试过程中通过时间顺序监视累积的数据,用停止规则来作出是否继续实验的决定,以确保过程中的总体 I 类错误率不超过阀值。序贯检验通常使用成组序贯检验,使用序贯检验方法可以提高大约20%-80%的样本量/实验时间,同时控制总体 I 类错误率。但是该方法本身增加了计算复杂度,因为停止时间本身现在是一个随机变量,需要在适当的统计模型中加以考虑才能得出有效结论。总体 I 类错误率的控制是通过 alpha-spending 函数实现的,而 II 类错误率的控制则是通过 beta-spending 函数实现的,这两个函数产生两个决策边界,有效性边界 (efficacy boundary)从上方限制测试统计量(z得分),无效边界从下方限制测试统计量。即使在期中分析的数量和时间偏离了原始设计,也可以保持边界。越过边界之一将导致试验终止,并决定拒绝或接受原假设。目前Netflix采用的成组序贯检验方法实现实验早停。
因此这里重点关注 4 个方面:
alpha消耗函数和beta消耗函数 alpha-spending function&beta-spending function
有效性边界和无效性边界 efficacy and futility boundary
停止规则 early stopping rule
平均样本量 average sample size
Alpha-spending function
目的:尽早停止本身效果提升的方案测试,提前上线方案。
原理:决定每次期中分析的一类错误率 alpha。
从推广性和样本代表性的角度来看,alpha-spending function应该是凸函数的:在测试的早期阶段开始缓慢消耗,然后在整个过程中更快地消耗,最后降低消耗。这样,只有非常极端的结果才会导致测试在很短的时间内就被终止,而样本量较小,可能会带来一些外部有效性问题。alpha消耗函数为以下四种:
Pocock-like
O’Brien-Fleming-like
Hwang-Shih-DeCani Gamma family
Kim-DeMets power family
beta-spending function
目标:尽早停止无用方案测试,对于本身效果不好的方案,继续测试时,不太可能产生具有统计意义的结果。
原理:决定每次期中分析的二类错误率 beta。
efficacy and futility boundary & early stopping rule
efficacy boundary:使其将 I 类错误率 alpha 维持在指定水平之下。通常使用alpha-spending函数计算。越过边界意味着已经越过统计显着性阈值,因此拒绝H0。
futility boundary:使 II 类错误概率 β 保持在指定水平之上。通常使用Beta-spending函数计算。越过边界意味着检测到具有统计学意义的结果的可能性已经低于期望值,因此接受H1。
比如下图中的绿线是由alpha-spending构成的边界,红线是由Beta-spending构成的边界:
实验Z值越过efficacy boundary:拒绝H0
实验Z值越过futility boundary:接受H1
Average sample size
平均样本量是对序贯检验中预期样本量的估计,在该测试中,可以执行可选的停止操作并保证错误率水平。
alpha: 5%
power: 90%
relative lift: 10%
baseline: 1.5%
analyses: 12
注意:期中分析越多,maximum sample size就越大,但尽早停止的机会就越大,因此平均样本量越小。
图表的x轴为不同的真实效果大小(提升百分比),而y轴将为固定样本大小的百分比。百分比越高,说明为了获得与固定样本量实验相同的结论并具有相同的错误保证,需要一起运行测试的用户越多,这意味着较高的百分比等同于效率较低的测试。对于提升比例越小,所需样本量越多,efficacy boundary保证了相对提升较为明显的测试节约样本量,但是对于提升0%的测试,仍然需要比固定样本多3%的样本量。因此引入futility boundary,对于没有明显提升的测试也能节约样本量。
4. 参考资料
1、成组序贯检验原理视频资料:https://www.bilibili.com/video/BV1jy4y1k7eW?from=search&seid=678793497631760876
2、analytics-toolkit采用成组序贯实现早停的原理和案例 https://www.analytics-toolkit.com/glossary/sequential-testing/
3、成组序贯检验原理书籍:clincal trial design:bayesian and frequentist adaptive methods
4、序贯概率比检验方法原理 https://online.stat.psu.edu/stat509/node/77/
数据分析36计(15):这个序贯检验方法让 A/B 实验节约一半样本量相关推荐
- 数据分析36计(16):和 A/B 测试同等重要的观察性研究:群组研究 VS 病例-对照方法...
往期系列原创文章集锦: 数据分析36计(15):这个序贯检验方法让 A/B 实验节约一半样本量 数据分析36计(14):A/B测试中的10个陷阱,一不注意就白做 数据分析36计(13):中介模型利用问 ...
- 数据分析36计(19):美国生鲜配送平台【Instacart】如何实现按时配送——使用分位数回归...
往期系列原创文章集锦: 数据分析36计(18):Shopify如何使用准实验和反事实来优化产品 数据分析36计(17):Uber的 A/B 实验平台搭建 数据分析36计(16):和 A/B 测试同等重 ...
- 数据分析36计(21):Uber、Netflix 常用倍差法模型量化营销活动、产品改版影响效果...
1 案例背景 目前 Uber.Netflix 在商业分析中的因果推断常用模型主要是倍差法(Difference in Difference)和匹配(Matching),目前已在其平台中建立相关方法的自 ...
- 数据分析36计(17):Uber的 A/B 实验平台搭建
往期系列原创文章集锦: 数据分析36计(16):和 A/B 测试同等重要的观察性研究:群组研究 VS 病例-对照方法 数据分析36计(15):这个序贯检验方法让 A/B 实验节约一半样本量 数据分析3 ...
- 数据分析36计(13):中介模型利用问卷数据探究用户心理过程,产品优化思路来源...
往期系列原创文章集锦: 数据分析36计(12):做不了AB测试,如何量化评估营销.产品改版等对业务的效果 数据分析36计(11):如何用贝叶斯概率准确提供业务方营销转化率 数据分析36计(十):Fac ...
- 数据分析36计(14):A/B测试中的10个陷阱,一不注意就白做
往期系列原创文章集锦: 数据分析36计(13):中介模型利用问卷数据探究用户心理过程,产品优化思路来源 数据分析36计(12):做不了AB测试,如何量化评估营销.产品改版等对业务的效果 数据分析36计 ...
- 数据分析36计(12):做不了AB测试,如何量化评估营销、产品改版等对业务的效果...
往期系列原创文章集锦: 数据分析36计(11):如何用贝叶斯概率准确提供业务方营销转化率 数据分析36计(十):Facebook开源时间序列预测算法 Prophet 数据分析36计(九):倾向得分匹配 ...
- 数据分析36计(30):关于 AB 实验的 1.5 万字总结
实验原理 假设检验的目标是拒绝原假设,它的核心是证伪.先假设原假设成立,然后计算原假设反面出现的概率,如果概率较大,则证明原假设不成立. 对于 A/B Test 来说, p值是在实验组和对照组没有差别 ...
- 数据分析36计(22):分析师入门常见错误 幸存者偏差,如何用匹配和加权法规避...
在日常功能迭代分析中,一般会直接看使用该功能和未使用该功能的用户在成功指标上的表现,将两组数据求个差异值就得出功能的效果结论.但是有敏锐的分析师会发现,功能大部分情况下有筛选效应,即使用该功能的用户可 ...
最新文章
- 有源汇上下界最小费用可行流 ---- P4043 [AHOI2014/JSOI2014]支线剧情(模板)
- 用Java递增Map值的最有效方法–仅搜索一次键
- 在Salesforce中调用外部系统所提供的的Web Service
- 【urllib】url编码问题简述
- mysql driver pdo_关于 php mysql pdo cannot find driver 解决方案
- 计算机中dhcp服务器怎么找,如何查找网络中其他非法 DHCP 服务器Unix系统 -电脑资料...
- 数据窗口dw导出多种格式文件
- localhost:3000 拒绝访问解决办法
- shiro 集成swagger,anon不生效问题
- 天馈线测试仪是什么?
- Python批量删除文件名中带小括号数字(1)(2)(3)...
- 抖音滑块以及轨迹分析
- android uyghur app,App Store 上的“Uyghur Quran And Translation”
- 任务5独立实践SQL数据模型分析
- max9286 四合一_美信推出GMSL四通道解串器MAX9286
- xsd 和 wsdl
- 曾国藩经典人生哲理语录
- java 串口 来电显示_java串口 来电显示
- R语言(ggplot2)画KEGG信号通路气泡图
- DeFi遭遇黑客洗劫:1个月3项目被盗,1个项目就被卷走659万美元