两阶段实验统计学推断

2021-06-25  本文已影响0人  老姚记事本

为了选择效果最好的方案,在进行A/B实验中,经常会同时设置多个实验组,并且分别与对照组比较。这样做会有两个问题:1. 多重比较问题;2. 衡量效果时存在选择性偏差。
为了解决这个问题,一种推荐的做法是两阶段实验,先进行一轮多方案比较,将最好的方案再单独进行一轮实验。传统做法会将第二轮的评估作为最终效果,但是会有另一个问题:3. 浪费了第一阶段的数据,降低了结果的敏感度。
微软的实验平台采用了一种将两阶段结果合并的方案——Statistical Inference in Two-Stage Online Controlled Experiments with Treatment Selection and Validation

两阶段实验的背景

1. 多个实验方案的影响

在第一阶段中,多方案对实验评估影响如下:

2. 弱相关性

先不考虑多方案,综合评估两阶段实验的一个挑战是两次实验具有相关性。
为了规避这个问题,可以将两次实验的流量互斥,但是有两个缺陷:1.每阶段可用流量少了,合计不能超过100%;2.需要额外的工程方面成本。
对线上随机实验来说,两阶段的\Delta可以近似认为是独立的,以下是解释:

假设一个用户参与了两阶段的实验,当他在对照组时,观测结果为(X_i, Y_i)
X_i = \mu^{(1)} + \alpha_i + \epsilon_i,
Y_i = \mu^{(2)} + \alpha_i + \zeta_i,
其中\mu^{(1)}, \mu^{(2)}分别代表两阶段的效果期望值,a_i代表个人的随机影响,\epsilon_i,\zeta_i是对应的随机噪音。
则对照组的用户可表示为:
X_i = \mu^{(1)} + \theta_i + \alpha_i + \epsilon_i,
Y_i = \mu^{(2)} + \theta_i +\alpha_i + \zeta_i,
其中\theta_i是实验干预影响。

设N为总线上用户数量,m为第一阶段实验组用户数、n为对照组,第二阶段对应用户数为m'、n'。如果两次用户分组都是随机的,而两阶段的效果分别为\Delta_1,\Delta_2,则:

定理1 (Almost Uncorrelated Deltas)
假如随机分组,则:
Cov(\Delta_1,\Delta_2) = Var(\theta)/N (1)
另外,如果Var(\theta) \leq \rho Var(X),而且Var(\theta) \leq \rho Var(Y),则:

Corr(\Delta_1, \Delta_2) \leq \rho

如何理解定理1?
Var(\Delta_1) = Var(X^{(t)})/m + Var(X^{(t)})/n
Var(\Delta_2) = Var(Y^{(t)})/m' + Var(Y^{(t)})/n'
我们感兴趣的是相关性:
Corr(\Delta_1, \Delta_2) = \frac{Cov(\Delta_1, \Delta_2)}{\sqrt{Var(\Delta_1)\times Var(\Delta_2)} } = \frac{Var(\theta)/N}{\sqrt{Var(\Delta_1)\times Var(\Delta_2)} } (2)
如果治疗效果与X有比例关系: \theta / X = d\%,则Var(\theta)= (d\%)^2Var(X),根据 (1)、(2)可推导出:
Corr(\Delta_1, \Delta_2) \leq (d\%)^2

由于在线上随机实验中,往往提升都是比较小的,即使按提升10%来看,则两次实验的\Delta相关系数会小等于0.01。
通过上述定理可知,两阶段实验的\Delta相关性很弱,可以近似认为不相关。

解决方案

检验方面

需要可以将两阶段合并进行检验的方案。

1. 传统方法

通过这两步可以有效的控制假阳性,但是条件比较严格,会降低敏感度,也就是假阴性较高。

2. Sharp Multiple Comparison Adjustment

传统做法偏保守,其实在本场景下可以有跟敏感的方案。
设第一阶段实验中,对照组指标数值为X_0, 实验组为X_1,...,X_k,可得到\Delta_1,...,\Delta_k

点估计方面

A/B 另一个挑战是要给出效果估计。
在第一个筛选阶段,如果我们有k个实验组,则X = (X_1, ... X_k) \sim N(\mu, \Sigma);对照组为X_0 \sim N(\mu_0, \sigma_0)
不失一般性的,我们假设\sigma_0 = \sigma_1 = ...= \sigma_k;另外\Delta_i = X_i - X_0,参数maxi = argmax_i\Delta_i = argmax_iX_i
在验证阶段,X_{maxi}^* \sim N(\mu_{maxi}, \sigma'^2),可以得出 \Delta_{maxi}^*,它是真实干预效果\theta = \mu_{maxi} - \mu_0的无偏估计,但是\Delta_{maxi}是有偏的。如何与\Delta_{maxi}结合,并且纠正偏斜呢?
定义bias为\lambda(\mu) = E(X_{maxi} - \mu_{maxi}),需要找出它的估计方法。

方案验证

以下是微软的数据验证结论。

1. 假设检验

Type I error under the null hypothesis

结论:当效果较固定时(上文假设),两者都可以较好控制假阳性;当效果较随机时,BF方法更加健壮。

Statistical power under the alternative hypothesis

Power curve of generalized weigthed average method, BF method and validation run t-test.

如图,采用WAvg方法,power会明显优于单独验证二次实验或者BF方法。

2. 点估计

The estimated MSE for candidate estimators on 16 of the 200 randomly generated µ’s. The µ’s are ordered according the value H(µ) and are grouped by H(µ) < 1 and H(µ) > 1.
Naive-Correction在H(\mu)较大时,会有较小的bias和较大的方差;
JS-NS在H(\mu)较小时,有最好的效果,而且方差始终小于其他方法。因此JS-NS是最好的选择。

后记

现在的实验系统大部分不支持分阶段实验的荟萃分析,但是在样本量受限等场景下,此类方法是非常有用的,但是也会更加复杂。
需要注意,文中没有考虑实验的残留效应,实际使用中需要考虑。

上一篇下一篇

猜你喜欢

热点阅读