0%

A/B Testing

本文是理论内容,关于A/B测试的概念、原理、和实际应用等;

适用于需要了解A/B测试基本概念的读者。

A/B测试

A/B测试本身是随机对照试验——双盲测试,对不同组进行不同的干预,对照实验效果进行分析。

因为其实验成本不高,所以在互联网公司的应用很多,通过修改某个按钮或入口位置,通过某个指标来观察该策略的好坏程度,由此来提高用户体验。

从统计学上看,是一种假设检验的方法,针对当前方案来验证哪个方法更优

这句话说明两点:1. A/B测试可以优化方案来进行迭代更新;2. A/B测试不能进行创造创新。

优势

互联网产品本身的量级都比较大,随意的改动影响将会非常大,这就可以通过A/B测试进行小量抽样流量来对整体进行评估,并且根据实验得到的结论相比于依靠历史经验来说更具有说服力;并且对于一些创新性想法,可以通过A/B测试进行快速验证,降低创新成本。

统计学基础

全概率公式

全概率公式是用于将求解发生复杂事件A的概率问题,分解为求解发生多个简单事件\(B_1,B_2,...B_n\)概率的问题,其中。\(B_1,B_2,...B_n\)事件构成完备事件组——即两两不互相容,且和为全集。则 \[ P(A) = P(A|B_1)P(B_1) + P(A|B_n)P(B_n) + \dots + P(A|B_n)P(B_n) \] 当一个策略针对不同人群产生不同效果的时候,可以利用全概率公式进行预估全局的效果;同时我们发现在全局的效果并不显著的时候,可以进行下钻,找出某个效果显著的人群,或者预估这个人群的占比对整体的影响。

大数定律

当统计的数据量足够大,那么事物出现的频率就无线接近于期望值(Mean,每次可能结果的概率值\(\times\)结果的总和,反映随机变量平均取值的大小)。简单来说,重复的次数越多,需要验证的指标均值就会逐步接近于真实值,这也是我们实验能够成立的基础。

中心极限定理

中心极限定理是T检验和假设检验成立的基础,也是A/B测试的核心。

  1. 样本的均值=总体的均值:每次抽样获得的均值总是在整体的均值附近波动。
  2. 数据处于任意分布下,总体样本的平均值总会在整体均值附近上下波动并符合正态分布。

在没有办法得到全量数据的情况下,我们可以利用样本来估计总体,特别是具备大量用户的互联网行业,需要进行严格的测试和实验,也就是利用中心极限定理,从小量用户进行对照实验,来判断实验的策略对于整体用户的影响。

A/B测试应用

置信区间和置信度

概率论是通过抽样和分布来估计总体的一门学科。A/B测试实验就是希望通过抽样来估计整体,然而预估总是会出现偏差的,因为我们不能站在上帝的视角来直接获得准确的数据,所以我们使用两个预估策略:点估计和区间估计。

  • 估计一个班上的男生平均身高为170cm,就是点估计。
  • 估计一个班上的男生平均身高在167cm~174cm之间,就是区间估计。

区间估计就在总体参数的点估计上增加一个区间范围,相比于点估计更加严谨。

由此而言,我们估计的时候需要给出一个估计区间的范围,来保证结果的可靠性,但是这个范围不能无限放大,因为我们估计该班上男生的平均身高是0~10米也是完全正确的,但并没有实际意义。

此时我们就需要给定一个足够小的误差范围(置信区间),并求得总体均值有多大的概率在此区间内(置信度或置信水平)。置信区间并不是完全的置信,而是一个估计区间,需要有一个指标来衡量置信区间的置信水平。

日常使用的置信水平大部分是95%,是因为95%的置信度在正态分布中,误差范围刚好是两个标准差\(\sigma\),并且误差范围并不大,而且置信水平相对较高。但也可以人为设定其他值来衡量。

显著性

显著性是A/B测试中衡量实验组相比对照组是否有明显差异的另一个一个核心指标,说明了两个测试组观察的指标在实验后差异是否显著,可以是提升显著,也可以是降低显著。

  1. 同向为正,显著提升:当实验指标提升为正,且置信区间上下限同为正,那么实验结果显著提升。
  2. 逆向为负,显著下降:当实验指标提升为负,且置信区间上下限同为负,那么实验结果显著下降。
  3. 置信区间一正一负,效果不显著:若置信区间一正一负,那么结果将难以判断是提升还是下降的。

目前的统计学中,通常将阈值发生几率小于5%的事件称之为“不可能事件”,吧\(\alpha<0.05\)的概率称为具有显著性。

实验抽样与用户分层

当我们对很多实验数据的时候,很多情况都是先进行抽样。抽样需要符合几个原则:

  1. 均匀:抽样样本对象要尽可能分布均匀,属性一致;
  2. 随机:保证样本呢均匀的和实验需求的前提下,应尽可能保持抽样的随机性;
  3. 样本充足:样本过小会导致实验数据波动较大且实验周期较长。

抽样之后进行实验,当实验用户分层只有一层,那就只能同时进行很少的实验,为了提高实验效率,就需要增加用户分层。

实验分层方式:

根据业务需求可以有多种划分方法,理论上可以划分N层

  1. 正交分层:各层用户均匀分布至其他各个实验层,达到用户“正交”的效果。`实际上是上一层每一个实验的影响均匀分不到下一层里,使得效果相互抵消,而不影响下一层的实验评估效果,从而只需要考虑单层策略的影响效果。
  2. 逻辑互斥:不同的业务逻辑需要在不同的层,相同的业务逻辑只能在同一层。若一个用户在两层都是有关样式调整的实验,那么会产生逻辑干扰,导致结果逻辑混乱。

单一因素原则

最后需要注意的是,在进行A/B实验的时候,需要保证每一个实验的评估对象都只有一个,即每次实验指考虑一个因素的影响,否则难以区分实验的效果是哪一个因素影响的。

------ 本文结束------