AB测试中如何给样本分组?

更多请看我的知乎回答:A/B test 到底应该怎么做?

什么是AB测试?

AB测试大规模出现在互联网产品迭代更新中。为Web或App界面或流程制作两个(A/B)或多个(A/B/n)版本,在同一时间维度,分别让组成成分相似的访客群组访问这些版本,收集各群组的用户体验数据和业务数据,最后分析、评估出最好版本,正式采用。1

假设Group1上的实验结果为 r 1 r_1 r1, Group2上的实验结果为 r 2 r_2 r2,则AB测试的差异是 r = r 1 − r 2 r=r_1-r_2 r=r1r2 r r r 是依赖于测试样本的随机变量,应该满足:

  1. 无偏性。假设在1%流量上某功能可以提高10%的点击率,那么在全量上也应该大约提高10%。
  2. 低方差 r r r是一个随机变量,方差越小,可靠性越高。

在这里插入图片描述

什么叫样本相似?

严格来说,应该是A, B两组样本的密度函数或分布函数相似。但在高维情况下,密度函数难以估计,以密度函数相似为标准的分组操作难度较大。退而求其次,A, B两组样本的边缘密度函数相似。具体来说,就是每个指标在A, B两组中要均衡。比如A组女性占比35%,那么B组女性占比也应约35%。这样,A, B两组实验效果上的差异可以排除性别的影响。但是,这样可能忽略变量之间的交互作用。两个指标单独来看都是均衡的,但联合起来看就不均衡了。一个更好的办法是通过马氏距离来定义相似性:
d ( G 1 , G 2 ) = ( x 1 ˉ − x 2 ˉ ) T Σ ^ − 1 ( x 1 ˉ − x 2 ˉ ) d(G_1, G_2) = (\bar{x_1} - \bar{x_2})^T \hat{\Sigma}^{-1} (\bar{x_1} - \bar{x_2}) d(G1,G2)=(x1ˉx2ˉ)TΣ^1(x1ˉx2ˉ)
x 1 ˉ \bar{x_1} x1ˉ, x 2 ˉ \bar{x_2} x2ˉ是两组样本的均值, Σ ^ \hat{\Sigma} Σ^是所有样本的协方差。当样本服从正态分布时,马氏距离刻画了样本分组之间的距离。

为什么要样本相似?

只有其它排除协变量对实验的影响,A, B两组实验的差异才可归因于测试元素的差异。

怎么实现样本相似?

随机化(Randomization)

将样本随机分为两组。比如,根据IP地址最后一位的奇偶性。

在样本量特别大且特征数量不是特别大时,这样做没问题。大数定律保证了各组的样本分布会收敛到总体的样本分布。 但是,当样本比较小,比如临床试验样本通常较少;或者特征数量很大,特征 p p p和样本 n n n是同一个数量级,比如个性化的推荐系统中;简单的随机化就可能出现分组后不均衡。

假设一个特征在两组中不均衡的概率为 γ \gamma γ, 那么 p p p个特征中至少有一个特征不均衡的概率大约是: β = 1 − ( 1 − γ ) p \beta=1-(1-\gamma)^p β=1(1γ)p 。假设 γ = 0.0001 \gamma=0.0001 γ=0.0001, 当 p = 10000 p=10000 p=10000时, 计算得到 β = 0.63 \beta=0.63 β=0.63, 这个概率很大了。如果两组实验有差别,就很难说明到底是测试元素的差异还是某个特征的差异。

再随机化 (Rerandomization)

重复随机化过程,直到两组样本的马氏距离低于某一阈值。2

协方差适应随机化(Covariance-Adaptive Randomization)

实现方法:3

  1. 将样本随机排序,两两一组, ( x 1 , x 2 ) , ( x 3 , x 4 ) , ( x 5 , x 6 ) , ⋯ (x_1, x_2), (x_3, x_4), (x_5, x_6), \cdots (x1,x2),(x3,x4),(x5,x6),
  2. for i =1 to n / 2 n/2 n/2:
    如果 x 2 i x_{2i} x2i在第一组 x 2 i + 1 x_{2i+1} x2i+1在第二组的马氏距离小于 x 2 i x_{2i} x2i在第二组, x 2 i + 1 x_{2i+1} x2i+1在第一组,那么以大概率将 x 2 i x_{2i} x2i分在第一组, x 2 i + 1 x_{2i+1} x2i+1分在第二组。反之亦然。

可以证明,协方差适应随机化得到的结果是无偏的,且达到方差的下界。

一个问题:

如果要拿小流量做实验,比如对1%的流量进行AB测试,那么应该如何挑选样本并分组?


  1. AB测试是什么?AB测试工具推荐及结果分析指南 ↩︎

  2. RERANDOMIZATION TO IMPROVE COVARIATE BALANCE IN
    EXPERIMENTS
    ↩︎

  3. FeiFang Hu, Covariate-Adaptive Randomization ↩︎

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值