掘金 阅读 ( ) • 2024-04-19 13:46

theme: orange

在货运AB实验的场景中,分流单元与分析单元不一定相同。当分流单元与分析单元不一致时,常用的假设检验方法会使得指标方差被错误计算,影响统计量与p值的计算,对检验结果造成干扰。

以在订单分流实验中,检验 GTV Gross Transaction Value 配对率 差异的显著性为例。

该实验分流单位是订单ID,而GTV配对率的分析单位是交易单元,即¥1。此时分流单位与分析单位出现了不一致的现象。

当前GTV配对率的假设检验方法为单量校正法。定义检验统计量$$Z$$为

$$Z = \dfrac{\Delta r}{\sqrt{Var(\Delta r)}} = \dfrac{\widehat{r_1} - \widehat{r_2}}{\sqrt{\widehat{r}(1-\widehat{r})(\frac{1}{n_1}+\frac{1}{n_2})}}$$

其中变量及其指标含义分别对应下表。

image.png

本文提出了基于Delta Method的假设检验计算,通过构造$$\sqrt{Var(\Delta r)}$$的无偏估计,从而得到假设检验统计量,解决分流单元与分析单元不一致时,犯第一类错误概率过高的问题。同时会结合Bootstrap方法,比较两种纠偏方法的效率。

1、理论基础

1、Delta Method

Delta Method在统计里通常可用来求渐近分布。利用连续可导的函数,将一种或多种随机变量转化为新的随机变量,可用于求样本均值、样本矩函数等。

1. 公式

Delta Method的公式有单变量与多变量两种形式,多变量的公式如下:

对于多元随机变量序列$${Y^{(1)}, \cdots, Y^{(p)}}$$,定义$$\vec{Y}=[Y^{(1)}, \cdots, Y^{(p)}]^T$$,假设$$\vec{Y}$$满足渐近正态性,则

$$\sqrt{n}[\vec{Y} - \theta] \stackrel{d}{\longrightarrow} N(0, \Sigma)$$

其中$$\vec{\theta}=[\theta_1, \cdots, \theta_n]^T$$、$$\Sigma$$分别为$$\vec{Y}$$对应的期望与协方差。

给定多元函数$$g$$,若$$g$$在$$\vec{\theta}$$处的梯度$$\nabla g(\vec{\theta})$$存在且不为$$\vec{0}$$,则

$$\sqrt{n}\left[g(\vec{Y}) - g(\vec{\theta})\right] \stackrel{d}{\longrightarrow} N\left(0, \nabla^T g(\vec{\theta}) \cdot \Sigma \cdot \nabla g(\vec{\theta}) \right)$$

梯度$$\nabla g(\vec{\theta})=\left[\frac{\partial g}{\partial Y^{(1)}}(\theta_1), \cdots, \frac{\partial g}{\partial Y^{(p)}}(\theta_p) \right]^T$$

协方差矩阵

$$\Sigma = \begin{bmatrix} Var(Y^{(1)}) & \cdots& Cov(Y^{(1)}, Y^{(p)})\ \vdots & \ddots& \vdots\ Cov(Y^{(p)}, Y^{(1)}) & \cdots& Var(Y^{(p)}) \end{bmatrix}$$

2. Delta Method在AB实验中的应用

以GTV配对率为例

GTV配对率是反映交易金额转化效率的指标,其计算公式为 GTV配对率 = 配对GTV / 执行单GTV 。在订单ID分流的实验中,业务方与分析师会对比不同实验分组间该指标的差异,从而判断策略是否能够提升交易效率。

2.1 分流单元与分析单元一致化

记GTV配对率为$$r$$,改写公式

$$r=GTV配对率 = \frac{配对GTV}{执行单GTV} = \frac{配对GTV/执行单量}{执行单GTV/执行单量}$$

定义$$\bar{X}$$为配对GTV /执行单量,代表每笔执行单对应的配对金额均值;

$$\bar{Y}$$为执行单GTV/执行单量,即执行单的单均价格。

此时$$\bar{X}$$和$$\bar{Y}$$都是分析单位为订单ID的指标,

GTV配对率也变成了两个分流单元与分析单元一致的指标之商。

2.2 利用Delta Method计算方差

$$\bar{X}$$和$$\bar{Y}$$是反映单均价的指标,根据中心极限定理,其分布渐近服从正态分布。

$$\sqrt{n}[\bar{X} - \mu_X] \stackrel{d}{\longrightarrow} N(0, \sigma_X^2)      \sqrt{n}[\bar{Y} - \mu_Y] \stackrel{d}{\longrightarrow} N(0, \sigma_Y^2)$$

定义函数$$g(x,y) = x/y$$,则有$$r=g(\bar{X}, \bar{Y})$$。

不难发现$$g$$为连续可导函数,且梯度为$$\nabla g = [1/y, -x/y^2]^T$$

利用Delta Method,可以求出$$r$$的方差

$$\begin{aligned} Var(r) & = Var(g(\bar{X}, \bar{Y})) = \nabla^T g(\bar{X}, \bar{Y})\cdot\Sigma\cdot\nabla g(\bar{X}, \bar{Y}) \ & =  \begin{bmatrix} 1/\bar{Y}&-\bar{X}/\bar{Y}^2 \end{bmatrix} \begin{bmatrix} Var(\bar{X})&Cov(\bar{X},\bar{Y})\ Cov(\bar{X},\bar{Y})&Var(\bar{Y}) \end{bmatrix} \begin{bmatrix} 1/\bar{Y}\-\bar{X}/\bar{Y}^2 \end{bmatrix} \ & = \dfrac{Var\bar{X}}{\bar{Y}^2} - 2\dfrac{\bar{X}}{\bar{Y}^3}Cov(\bar{X},\bar{Y}) + \dfrac{\bar{X}^2}{\bar{Y}^4}Var\bar{Y} \ & \rightarrow \frac{1}{n}\frac{\mu_X^2}{\mu_Y^2} \left[\dfrac{\sigma_X^2}{\mu_X^2} - 2\dfrac{\sigma_{XY}}{\mu_X\mu_Y} + \dfrac{\sigma_Y^2}{\mu_Y^2}  \right] \end{aligned}$$

若$$(X_1, Y_1), \cdots, (X_n, Y_n)$$为样本对,则可得到下列无偏估计

$$\left{ \begin{aligned} \widehat{\mu_X}&=\frac{1}{n}\sum_{i=1}^nX_i\ \widehat{\mu_Y}&=\frac{1}{n}\sum_{i=1}^nY_i\ \widehat{\sigma_X^2}&=\frac{1}{n-1}\sum_{i=1}^n(X_i-\widehat{\mu_X})^2\ \widehat{\sigma_Y^2}&=\frac{1}{n-1}\sum_{i=1}^n(Y_i-\widehat{\mu_Y})^2\ \widehat{\sigma_{XY}}&=\frac{1}{n-1}\sum_{i=1}^n(X_i-\widehat{\mu_X})(Y_i-\widehat{\mu_Y})\ \end{aligned} \right.$$

将无偏估计带入计算公式,即可得到$$r$$的方差估计$$\widehat{Var(r)}$$

2.3 构造假设检验与计算统计量

在订单ID随机分流的AB实验中,记实验组的样本对为$$(X_1^{(t)}, Y_1^{(t)}), \cdots, (X_n^{(t)}, Y_n^{(t)})$$,GTV配对率$$\widehat{r^{(t)}}=\sum_{i=1}^nX_i^{(t)} \bigg/ \sum_{i=1}^nY_i^{(t)}$$;对照组的样本对为$$(X_1^{(c)}, Y_1^{(c)}), \cdots, (X_m^{(c)}, Y_m^{(c)})$$,GTV配对率$$\widehat{r^{(c)}}=\sum_{j=1}^mX_i^{(c)} \bigg/ \sum_{j=1}^mY_i^{(c)}$$。业务方想判断策略是否会对GTV配对率产生显著影响,故可建立假设检验

$$H_0:r^{(t)} = r^{(c)} \quad H_1:r^{(t)} \neq r^{(c)}$$

利用2.2的公式推导,可以利用不同实验分组的样本矩估计,计算得到GTV配对率的方差估计$$Var(\widehat{r^{(t)}}), Var(\widehat{r^{(c)}})$$

在得到样本均值与方差估计后,即可得到检验统计量的公式为

$$Z=\dfrac{\widehat{\Delta r}}{\sqrt{\widehat{Var\Delta r}}} =\dfrac{\widehat{r^{(t)}}-\widehat{r^{(c)}}}{\sqrt{Var\left(\widehat{r^{(t)}}-\widehat{r^{(c)}}\right)}} =\dfrac{\widehat{r^{(t)}}-\widehat{r^{(c)}}}{\sqrt{Var(\widehat{r^{(t)}})+Var(\widehat{r^{(c)}})}}$$

在样本量充足的情况下,$$Z$$近似服从标准正态分布,因此可直接求得p值,并通过比较p值与$$\alpha$$的大小判断GTV配对率差异是否显著。

2、Bootstrap方法

Bootstrap 是现代统计学较为流行的一种统计方法。通过对给定数据集进行有放回的重抽样以创建多个数据子集,生成统计量的经验分布,可以计算标准误差、构建置信区间并对多种类型的样本统计信息进行假设检验,其应用范围逐步扩大,是目前业界对工业化 ABTEST 实验效果常见的处理方法。

在实验中我们采用非参数的 Bootstrap 方法,其核心思想和基本步骤如下:

  1. 假设原始样本数量为 $$N$$,通过 有放回的重抽样 从原始样本中抽取$$N$$个样本,此过程允许重复抽样

  2. 根据抽出的样本计算给定的统计量的估计量$$\hat{\theta}$$;

  3. 重复上述$$$$次(一般大于1000),得到$$$$个统计量$$\hat{\theta_1},\cdots,\hat{\theta_B}$$;

  4. 计算上述$$B$$个统计量的估计量,如均值、方差等,得到原样本的均值与方差等统计量。

    a. 利用Bootstrap方法得到的统计量均值的无偏估计为$$\bar{\hat{\theta}}=\sum_{i=1}^B\hat{\theta_i}/B$$,方差的无偏估计为$$\hat{se}^2(\hat{\theta})=\frac{1}{B-1}\sum_{i=1}^B(\hat{\theta_i}-\bar{\hat{\theta}})^2$$

  5. 计算置信区间,若实验组观测指标落在置信区间内,则说明不同实验分组无显著差异,否则说明差异显著。

    a. 标准Bootstrap(SB)

    标准Bootstrap方法计算CI是以bootstrap计算的出的样本均值、样本方差构造的标准CI的计算方法。根据中心极限定理,$$\frac{\hat{\theta}-E(\hat{\theta})}{se(\hat{\theta})}$$近似服从标准正态分布,则标准Bootstrap的置信区间为

    $$(\bar{\hat{\theta}}-z_{1-\alpha/2}\cdot\hat{se}(\hat{\theta}),\bar{\hat{\theta}}+z_{1-\alpha/2}\cdot\hat{se}(\hat{\theta}))$$

    b. 百分位数 Bootstrap(PB)

    百分位数的Bootstrap直接用$$\hat{\theta}$$的分布来估计,在通过Bootstrap构造了$$\hat{\theta}$$及其分布后,可直接利用其分位数构造置信区间,形式为

    $$(\hat{\theta}{\alpha/2}, \hat{\theta}{1-\alpha/2})$$

    c. t百分位数Bootstrap(PTB)

    t百分位数Bootstrap是对SB、PB的一种融合,后者对分布要求过高, (无偏且近似正态) ,通常可以得到比PB更加精确的CI。统计量$$\frac{\hat{\theta}-E(\hat{\theta})}{se(\hat{\theta})}$$服从自由度为$$B-$$的学生t分布,令该分布的$$1-\alpha/2$$分位数$$t^{\star}=t_{1-\alpha/2}(B-1)$$,则PTB的置信区间为

    $$(\bar{\hat{\theta}}-t^{\star}\cdot\hat{se}(\hat{\theta}),\bar{\hat{\theta}}+t^{\star}\cdot\hat{se}(\hat{\theta}))$$

2、不同假设检验方法模拟数据对比

1. 订单ID随机分流

1.1 对比方案

为了更直观地理解使用错误的方差所带来的危害,利用当前真实数据模拟AA实验。实验信息如下:

模拟对象 某城市当日的订单(共xxx笔订单) 模拟方式 将全体订单随机均匀划分为2组,模拟1000次AA实验 检验对象 不同分组的指标差异
- 配对率——作为对照指标,验证划分的随机性
- GTV配对率——验证不同检验方法的科学性 检验方法 - 原始方法
- 单量校正法
- Delta Method
- 分位数Bootstrap法 评估指标 - 犯第一类错误的概率
- 不同指标差异显著性下的分布

1.2 对比结果

在GTV配对率差异的假设检验计算中,Delta Method可有效控制犯第一类错误的概率,相对Bootstrap效率更高。

Delta Method与分位数Bootstrap法中,犯第一类错误的概率与$$\alpha$$取值接近。原始方法与单量校正法中,犯第一类错误的概率过大,原始方法的拒绝域区间宽度过窄,稍有偏差就会导致第一类错误的发生。

Bootstrap方法虽然准确,但复杂度过高,需要对全体样本有放回地抽样,计算时间长,相较之下Delta Method方法效率更高。

犯第一类错误的次数 犯第一类错误的概率 置信区间长度 置信区间标准差 配对率差异检验 55 5.5% 原始方法 948 94.8% 8E-04 8E-09 单量校正法 431 43.1% 8E-03 0E+00 Delta Method 59 5.9% 2E-02 3E-05 分位数Bootstrap 58 5.8% 1E-02 3E-04

2. 用户ID随机分流

2.1 对比方案

实验信息如下:

模拟对象 某城市当日的下单用户(共xxx人) 模拟方式 将全体订单随机均匀划分为2组,模拟1000次AA实验 检验对象 不同分组的指标差异
- 人均下单量——作为对照指标,验证划分的随机性
- 下单配对率——验证不同检验方法的科学性 检验方法 - 原始方法
- Delta Method
- 分位数Bootstrap法 评估指标 - 犯第一类错误的概率
- 不同指标差异显著性下的分布

2.2 对比结果

在用户下单配对率的假设检验计算中,Delta Method可有效控制犯第一类错误的概率,相对Bootstrap效率更高。

三种方法的MDE接近,但是犯第一类错误的概率差异较大。Delta Method与分位数Bootstrap法犯第一类错误的概率与$$\alpha$$取值接近,而原始方法犯第一类错误的概率过大。

犯第一类错误的次数 犯第一类错误的概率 置信区间长度 置信区间标准差 人均下单量差异检验 55 5.5% 原始方法 130 13.0% 8E-03 5E-08 Delta Method 38 3.8% 1E-02 2E-06 分位数Bootstrap 44 4.4% 5E-03 2E-04

3、实际案例应用

1. 订单ID实验分流的GTV配对率差异检验

某采取订单id分流的实验,实验组的GTV配对率正向0.4p.p.。

现需要判断: GTV配对率是否显著不为0

值 实验组 对照组 绝对差异 订单数 xxx xxx xxx 下单GTV(元) xxx xxx xxx 配对GTV(元) xxx xxx xxx GTV配对率 xxx xxx 0.4p.p.

实验的分流单位为订单ID,而用户下单配对率的分析单元为¥1,此处不一致。

定义$$\bar{X}$$为配对GTV /执行单量、$$\bar{Y}$$为执行单GTV/执行单量

函数$$g(x,y) = x/$$,则GTV配对率$$r=g(\bar{X}, \bar{Y})$$。

可利用Delta Method对GTV配对率差异作显著性检验。

对比原始方法、单量校正法与Delta Method方法可得到下表:

  • 原始方法的方差过小,进而导致统计量过大,很难得到差异不显著的结论,缺乏科学性。
  • Delta Method与单量校正法都得到不显著的结论,但Delta Method方差更大,检验结果相对更科学。
方差 统计量 p_value 检验结果 原始方法 6E-09 60.00 0.00 显著 单量校正法 7E-06 1.60 0.11 不显著 Delta Method 2E-05 1.00 0.36 不显著

2. 用户ID实验分流的差异检验

某采取用户id分流的实验,实验组的用户下单配对率负向2p.p.,用户下单量多0.6%。

现需要判断: 用户下单配对率差异是否显著不为0

值 实验组 对照组 绝对差异 相对差异 用户数 xxx xxx xxx xxx 用户下单量 xxx xxx xxx 0.60% 用户配对单量 xxx xxx xxx xxx 配对率 xxx xxx -2.p.p. xxx

2.1 用户下单配对率

实验的分流单位为用户ID,而用户下单配对率的分析单元为订单ID,此处不一致。

定义$$\bar{X}$$为人均配对单量、$$\bar{Y}$$为人均执行单量、函数$$g(x,y) = x/y$$,则用户下单配对率$$r=g(\bar{X}, \bar{Y})$$。

可利用Delta Method对指标差异作显著性检验。

原始方法直接对下单量、配对单量做z检验,检验结果为显著。而通过Delta Method方法估计方差后,方差变大,用户下单配对率差异由显著变为不显著。

方差 统计量 p_value 检验结果 原始方法 1E-05 -7.00 0.00 显著 Delta Method 2E-04 -2.00 0.08 不显著

总结

在实验分析中,正确估计指标的方差是确保可靠结果的关键。在分流单元与分析单元不一致的情况下,Bootstrap和Delta Method都可以提供相对科学的结论。但在处理大量数据时,Bootstrap的计算成本较高,而Delta Method在满足基本假设的前提下,能够以较低的计算成本准确估计方差,显示出更高的效率。