一、假设检验的理论基础
1. 假设检验的基本概念
1.1 反证法与小概率思想
假设检验的理论基础是建立在反证法和小概率思想上的。
- 反证法
反证法是指提出某一论题,再基于此论题设定反论题,然后依据推理规则进行推演,证明反论题为假;最后根据排中律,证明原论题为真。
在进行反证中,只有与论题相矛盾的判断才能作为反论题,论题的反对判断是不能作为反论题的,因为具有反对关系的两个判断可以同时为假,需要初学者注意。
例如:A班学生都是男生的对立面并不是A班学生都是女生;而是A班男生不都是男生。
- 小概率思想
小概率思想指的是默认小概率事件在一次试验中不会发生。一般认为的小概率事件(P<0.01或P<0.05)。
1.2 原假设与备择假设
既然假设检验本质上是使用反证法证明结论的过程,那么首先需要提出假设。
- 原假设:是试验者想收集证据予以反对的假设 ,又称“零假设”,记为 H0; 在常见的A/B实验中,原假设就是测试版本的某项指标均值小于等于对照版本的某项指标均值(测试上线后并未取得成效)。
- 备择假设:也称“研究假设”,是试验者想收集证据予以支持的假设,记为 H1; 在常见的A/B实验中,备择假设就是测试版本的某项指标均值大于对照版本的某项指标均值(测试上线后能取得成效)。
- 原假设和备择假设是一个完备事件组,而且相互对立。在一项假设检验中,原假设和备择假设必有一个成立,而且只有一个成立。
1.3 假设检验的两类错误
由于结论的论证是基于我们在一开始给出的原假设和备择假设的,我们在论证的过程中也会因为确实发生了小概率事件的影响而导致假设检验的错误。
- 第 I 类错误(弃真错误):原假设为真时拒绝原假设;第 I 类错误的概率记为 α (Alpha)。
- 第 II 类错误(纳伪错误):原假设为假时未拒绝原假设。第 II 类错误的概率记为 β (Beta)。
其中,α 是一个概率值,表示原假设为真时, 拒绝原假设的概率,也称为抽样分布的拒绝域。β 也是一个概率值,表示原假设为假时未拒绝原假设的概率,通常使用 1-β 用以表示检验功效(原假设为假时拒绝原假设的概率)。
在这两类错误中,相对更加严重的是第 I 类错误(因为如果犯了第 I 类错误,就相当于测试功能上线后相比原功能产生了负面的效果,还不如不上线呢╭(╯^╰)╮),所以以 α 的取值应尽可能小。常用的 α 值有0.01、0.05、0.10, 由试验者事先确定。β 也应该尽可能地小,但是在样本量一定的情况下,控制 β 值降低会使得 α 升高,一般常见的检验功效定在0.8(即 β 取0.2)。
1.4 检验P值 (p-value)
检验P值 是指在原假设为真的条件下,得到样本观察结果以及比所得到的样本观察结果更极端的结果出现的概率。例如,我们根据某次假设检验的样本数据计算得出 p = 0.04;这个值意味着如果原假设为真,我们通过抽样得到这样一个样本数据的可能性只有 4%。那么,0.04 这个概率或者说显著性水平到底是大还是小,够还是不够用来拒绝原假设呢?这就需要把 p 和我们采用的第 I 类错误的小概率标准 α (显著性水平)来比较确定。
- 若 p ≤ α,那么拒绝原假设(因为建立在原假设为真的条件下观测到了比第 I 类错误的小概率标准更低的结果,那么只能认为是因为原假设出现了问题);
- 若 p > α,那么不能拒绝原假设(因为建立在原假设为真的条件下观测结果仍处于第 I 类错误的小概率标准阈值内,万一是真的出现了小概率事件呢?不能说明原假设出现了问题)。
2. 常用假设检验及使用场景
2.1 两个总体均值的假设检验
以两个总体均值(例如PV均值)的假设检验为例,共有三种形式:
H
0
:
μ
1
−
μ
2
=
d
H_0:\mu_{1}-\mu_{2}=d
H0:μ1−μ2=d
H
a
:
μ
1
−
μ
2
≠
d
H_a:\mu_{1}-\mu_{2}\neq d
Ha:μ1−μ2=d【双侧检验】
H
0
:
μ
1
−
μ
2
≤
d
H_0:\mu_{1}-\mu_{2}\le d
H0:μ1−μ2≤d
H
a
:
μ
1
−
μ
2
>
d
H_a:\mu_{1}-\mu_{2}>d
Ha:μ1−μ2>d【右单侧检验】
H
0
:
μ
1
−
μ
2
≥
d
H_0:\mu_{1}-\mu_{2}\ge d
H0:μ1−μ2≥d
H
a
:
μ
1
−
μ
2
<
d
H_a:\mu_{1}-\mu_{2}<d
Ha:μ1−μ2<d【左单侧检验】
在d = 0即 μ 1 = μ 2 \mu_{1}=\mu_{2} μ1=μ2时,检验统计量Z的公式为:
Z = μ 1 ‾ − μ 2 ‾ σ 1 2 n 1 + σ 2 2 n 2 Z=\frac{\overline{\mu_{1}}-\overline{\mu_{2}}}{ \sqrt{\frac{\sigma_{1}^{2}}{n_{1}}+\frac{\sigma_{2}^{2}}{n_{2}}}} Z=n1σ12+n2σ22μ1−μ2
其中, μ 1 ‾ , μ 2 ‾ \overline{\mu_{1}},\overline{\mu_{2}} μ1,μ2分别为实验组和对照组PV均值的点估计量, σ 1 , σ 2 \sigma_{1},\sigma_{2} σ1,σ2分别为实验组和对照组PV值的标准差。
2.2 两个总体比率的假设检验
以两个总体比率(例如取消率)的假设检验为例,共有三种形式:
H
0
:
p
1
−
p
2
=
d
H_0:p_1-p_2=d
H0:p1−p2=d
H
a
:
p
1
−
p
2
≠
d
H_a:p_1-p_2\neq d
Ha:p1−p2=d【双侧检验】
H
0
:
p
1
−
p
2
≤
d
H_0:p_1-p_2\le d
H0:p1−p2≤d
H
a
:
p
1
−
p
2
>
d
H_a:p_1-p_2>d
Ha:p1−p2>d【右单侧检验】
H
0
:
p
1
−
p
2
≥
d
H_0:p_1-p_2\ge d
H0:p1−p2≥d
H
a
:
p
1
−
p
2
<
d
H_a:p_1-p_2<d
Ha:p1−p2<d【左单侧检验】
在d = 0即 p 1 = p 2 p_1=p_2 p1=p2时,检验统计量Z的公式为:
Z = p 1 ‾ − p 2 ‾ p 1 ‾ ( 1 − p 1 ‾ ) n 1 + p 2 ‾ ( 1 − p 2 ‾ ) n 2 Z=\frac{\overline{p_1}- \overline{p_2}}{\sqrt{\frac{\overline{p_1}\left(1-\overline{p_1}\right)}{n_{1}}+\frac{\overline{p_2}\left(1-\overline{p_2}\right)}{n_{2}}}} Z=n1p1(1−p1)+n2p2(1−p2)p1−p2
其中, p 1 ‾ , p 2 ‾ \overline{p_1},\overline{p_2} p1,p2分别为实验组和对照组的取消率的点估计量。
在α = 0.05的条件下: Z 1 − a 2 = 1.96 , Z a = − 1.64 , Z 1 − a = 1.64 Z_{1-\frac{a}{2}} = 1.96,Z_a = -1.64,Z_{1-a} = 1.64 Z1−2a=1.96,Za=−1.64,Z1−a=1.64
二、A/B检验
1. AB测试的定义
AB测试源于生物学中的对照实验,简单来说就是:对来自于同一用户总体的多个用户分组样本,每个组使用一个方案,在同一时间维度上去观察用户的反应并收集数据,最后根据假设检验结果评估出最好的方案,正式采用。
接下来,为方便大家更加深刻的理解AB测试的概念,对以上定义逐句讲解说明:
- “来自于同一用户总体的多个用户分组样本”,这一部分属于分流器的内容,分流结果应当保证同时性(分流和实验后续测试都应该是同时的)、同质性(要求最后分出的用户分组样本,在各个维度上的特征分布都较为相似,尽可能避免辛普森悖论发生)、唯一性(非重复抽样,要求用户不被重复计入同一实验中的多个组)。
- “每个组使用一个方案”,说明每一方案最好应遵循单变量原则,便于归因。
- “在同一时间维度上去观察用户的反应并收集数据”,是说用户的反应一般会体现在业务数据和用户体验数据上,实验设计者需要对主要影响指标有先验认知,并根据历史经验判断是否存在潜在的特征会影响到主要影响指标表现,实验中再观察用户分组样本的特征分布,避免辛普森悖论发生。
- “最后根据假设检验的结果评估出最好的方案,正式采用”,在这一过程中,我们主要应用小概率事件原理,判断对应方案对我们所关注的核心指标是否有预期方向的显著影响,即根据假设检验的结果,判断哪些方案较原方案有统计意义上的显著差异。在多方案AB测试中,会根据效应量选出其中表现最好的版本。
2. AB测试的流程
3. 最小样本量
一些流程已经在假设检验章节中详细说明了,我们接下来谈一下最小样本量的计算。由于AB实验的对象通常是对总体的抽样,我们需要评估该抽样数据是否能代表全体的特征,当然是样本量越多越好,但选取样本都是有成本的,我们需要计算出在满足构建置信统计量的前提下的最小实验样本。
3.1 均值类指标检验最小样本量计算
假定AB实验采用双边检验,假设如下:
H
0
:
μ
1
=
μ
2
H_0:\mu_{1}=\mu_{2}
H0:μ1=μ2
H
a
:
μ
1
≠
μ
2
H_a:\mu_{1}\neq\mu_{2}
Ha:μ1=μ2
则样本计算公式如下:
N
=
k
∗
σ
2
δ
2
(
Z
1
−
a
2
+
Z
1
−
β
)
2
N=k*\frac{\sigma^{2}}{\delta^{2}}(Z_{1-\frac{a}{2}}+Z_{1-\beta})^{2}
N=k∗δ2σ2(Z1−2a+Z1−β)2
其中,k代表实验分流的组数,σ代表样本数据的标准差,δ代表预期实验组与对照组的差值,α与β分别代表前文所介绍犯第 I 类错误和第 II 类错误的显著性水平。按公式计算完后还需要对结果取上整。
3.2 比率类指标检验最小样本量计算
假定AB实验采用双边检验,假设如下:
H
0
:
p
1
=
p
2
H_0:p_1=p_2
H0:p1=p2
H
a
:
p
1
≠
p
2
H_a:p_1\neq p_2
Ha:p1=p2
则样本计算公式如下:
N
=
k
∗
p
1
(
1
−
p
1
)
+
p
2
(
1
−
p
2
)
(
p
1
−
p
2
)
2
(
Z
1
−
a
2
+
Z
1
−
β
)
2
N=k*\frac{p_1(1-p_1)+p_2(1-p_2)}{(p_1-p_2)^{2}}(Z_{1-\frac{a}{2}}+Z_{1-\beta})^{2}
N=k∗(p1−p2)2p1(1−p1)+p2(1−p2)(Z1−2a+Z1−β)2
其中,k代表实验分流的组数, p 1 , p 2 {p_1},{p_2} p1,p2分别为实验组和对照组的比率类指标均值,α与β分别代表前文所介绍犯第 I 类错误和第 II 类错误的显著性水平。按公式计算完后还需要对结果取上整。
3.3 最小样本量计算工具——G*Power
- 设定统计场景
- A priori:已知实验组对照组指标,想知道需要多大的样本才能在保证统计功效的前提下做假设检验;
- Compromise:给定实验组对照组指标和样本量,想知道α和β的比值(不常用);
- Criterion:想知道在给定统计功效,实验组对照组指标和样本量的前提下,显著性水平α是多少;
- Post hoc:想知道在给定显著性水平,实验组对照组指标和样本量的前提下,统计功效β是多少,一般用来估计在没有达到最小样本量就进行假设检验时,犯第二类错误的概率;
- Sensitivity:给定α,β,和样本量,计算能够检验的最小组间差距(effect size)。
-
主界面操作
-
日志查询
-
可视化
4. 流量分割
在多实验并行的情况下,多个实验可能共享同一份流量。根据不同实验结果之间是否互相干扰,分为正交实验或互斥实验。
- 正交实验:如果实验之间共享同一份流量实验效果之间不干扰,这样的实验我们叫正交实验,这种情况下,流经两个实验的流量是可以共享的,流经实验一的流量也可以流经实验二。
- 互斥实验:如果分层共享同一份流量就有可能出现实验效果之间相互干扰的问题,这样的实验叫互斥实验,也就是如果实验一和实验二是互斥关系,那么经过实验一的流量就不能进入到实验二。
正交实验适用于需要同时考虑多个因素对结果影响的情况,可以有效地降低实验的复杂性和提高实验效率。当需要同时测试多个因素,并且希望了解每个因素对结果的独立影响时,正交实验是一个很好的选择。
互斥实验适用于需要分别研究每个因素对结果影响的情况。当想要深入了解每个因素的影响程度或者存在明显的主效应时,互斥实验是比较合适的选择。通过逐个改变因素并观察结果的变化,可以更清晰地了解每个因素的影响。
总的来说,正交实验适用于需要同时考虑多个因素影响的情况,而互斥实验适用于逐个研究每个因素影响的情况。根据具体的实验目的和研究需求选择合适的实验设计方法可以更有效地进行A/B测试并得出可靠的结论。
5. 实验周期
实验周期代表本次AB实验执行的时长,当计算出最小样本量后,就可以根据历史落地页的浏览情况,计算出实验天数。例如,该落地页每天的平均浏览量为1000人,最少样本量根据公式计算得出为9440人,则实验周期的计算公式为:
实验周期
=
9440
1000
=
9.44
≈
10
天
实验周期=\frac{9440}{1000}=9.44\approx10天
实验周期=10009440=9.44≈10天
特别地,如果一天的浏览量就已经满足最小样本量的标准了,也需要考虑到工作日和双休日对流量变动的影响,至少执行一周的实验以获取一定窗口期内的指标均值。