Peeking at A/B test——Optimizely解
Optimizely通过mSPRT理论的扩展,提供了时时有效的P值与置信区间,解决了ab实验中的偷看问题。
1. 定义
单样本:
已知,
。
双样本:
X、Y独立同分布。
判决条件:
,
为结束时间(样本量),允许为
,
代表拒绝原假设。
2. 始终有效推断
为了解决偷看,需要始终有效。
2.1 始终有效的P
任意时间T,满足:
2.2 始终有效的贯序检测
依靠样本数据决策样本量。
判决条件:
-
不会影响
水平
2.3 置信区间
对来说,如果
始终有效,
就是始终有效的
水平置信区间。
3. 构造始终有效的P
Optimizely通过混合贯序检验(mSPRT)构造始终有效的P值。
3.1 混合贯序检验(mSPRT)
H为上的混合分布,概率密度函数为h。计算H的似然比除以
的似然比:
mSPRT判断流程:
选择,则拒绝原假设条件为
,此时
。
详细原理参照文末。
3.2 mSPRT的P值与置信区间
如果数据自正态分布,且混合分布
,则
3.3 mSPRT扩展到A/B
定义,并对其做mSPRT检测,则:
对于0/1型数据,近似于正态分布
,
,则:
3.4 实现细节
对于一些连续性指标,比如“付费”(严重右斜)使用正态分布是不合适的,需要其它更适应这种偏斜的分布。
由于为了保证单调性,可能导致后期跑出置信区间,此时Optimizely会重置显著性。这样的做法只会让p值更大、置信区间更宽,不会增加假阳性错误,但是可能增大假阴性错误。
4.回归测试
假阳性错误已知被控制了,但是假阴性怎么样?Optimizely进行了一些优化和测试。
4.1 优化
实验者不会永远等待,因此有最大等待样本量M。
经过Optimizely验证,带M截断的mSPRT比一般的假设检验平均花费更少的样本量。
4.2 混合分布的选择
之前选择了混合分布为。对于混合分布如何选择,没有现存的理论指导。
Optimizely选择的先验为,并且通过数据仿真得到
。
5.多重比较问题
Optimizely通过Benjamini-Hochberg方法对多重比较进行校正。
附: Statistical Methods Related to the Law of The Iterated Logarithm
若对随机变量,有联合概率密度函数
,
为任意其他概率密度函数,且
,则:
对任意
,存在这样的n的概率小于
,即
以下仅简述x为正态分布下、混合函数为标准正态分布的场景
如果,则:
的联合概率密度函数为:
,
定义,如果将
替换为
:
若
与维纳过程的联系
表示标准维纳过程,
,下面另个数列对任意
具有相同的联合分布。
检验与置信区间
,如果
,则
如果,因此可以得到
序列,使得对
的覆盖率超过0.95。
power分析
单边检验:,则
假阴性错误概率:
此时power为1。
下边界:当
时,
。根据一些其它研究:
上边界:当
时,