1. 假设检验 (1)为什么要做假设检验?

A/B Test从本质上来说是一个基于统计的假设检验过程:它首先对实验组和对照组的关系提出了某种假设,然后计算这两组数据的差异和确定该差异是否存在统计上的显著性,最后根据上述结果对假设做出判断。

但事实上,我们关心的重点并不是实验组和对照组这一小部分用户,而是我们的新方案最终全量曝光给所有用户会带来多大的影响。如果这是一个不太成功的方案,未经过测试就直接上线,等到真正造成用户损失可能为时已晚。而统计的价值在于其先验性,能帮助我们在事情尚未发生时通过手头有限的信息来预测和估计将来我们不了解的结果,且具有一定的准确度。

既然统计能根据有限信息一定程度上准确推测全量信息,那么它满足了我们同时验证多个idea的需求,让平台同时并行跑大量实验成为可能,大大提高测试效率。而测试效率与业务增长速度呈高度正相关,即使100个实验里有80个与预想的转化率提升无关,也帮助验证了100个idea,挡住了80个无效的尝试,这就是为什么统计对于A/B Test来说如此有价值的原因。

(2)如何理解假设检验?

A/B实验的核心统计学理论是(双样本)假设检验。假设检验,即首先做出假设,然后运用数据来检验假设是否成立。需要注意的是 ,我们在检验假设时,逻辑上采用了反证法。通过A/B实验,我们实际上要验证的是一对相互对立的假设:原假设和备择假设。

原假设(null hypothesis):是实验者想要收集证据予以反对的假设。A/B实验中的原假设就是指“新策略没有效果”。

备择假设(alternative hypothesis):是实验者想要收集证据予以支持的假设,与原假设互斥。A/B实验中的备择假设就是指“新策略有效果”。

利用反证法来检验假设,意味着我们要利用现有的数据,通过一系列方法证明原假设是错误的(伪),并借此证明备择假设是正确的(真)。这一套方法在统计学上被称作原假设显著性检验 null hypothesis significance testing (NHST)。

举个例子: 我们要针对某页面的购买按钮做一个实验。我认为:将购买按钮的颜色从蓝色改为红色,可以提高购买率3%。在这个实验中,我们想通过统计学检验的“原假设”就是“购买按钮改成红色不能提升购买率”;“备择假设”就是“购买按钮改成红色能够提升购买率”。这是一对互斥的假设。也就是说,实际上我们要证明的就是“改成红色不能提升购买率”是错误的。

  1. 第一类错误 & 显著性水平(α) 第一类错误,指原假设正确(真),但是我们假设检验的结论却显示原假设错误。这一过程中我们拒绝了正确的原假设,所以第一类错误是“弃真”。

第一类错误在实际操作中表现为:实验结论显示我的新策略有用,但实际上我的新策略没有用。

在统计学中,我们用显著性水平(α)来描述实验者犯第一类错误的概率。 当某个实验组的指标是显著的,说明这个实验结果大概率是可信的。这个概率是95%,也就是说,系统有95%的信心确认这个实验结果是准确的。

显著性水平存在的意义是什么?

一个按钮从蓝色改成红色,一个窗口从左边移到右边,到底用户体验会变好还是变差呢?我们并不确定,因此我们试图使用A/B实验的办法,帮助我们转化这种“不确定”——观察小流量实验中新旧策略的表现,从而确定新旧策略的优劣。 但是,这样就能完全消除不确定性了吗?答案是不能,因为存在抽样误差。

抽样误差带来的不确定性,使得我们在做小流量实验时,永远没法保证结论是完全正确的。幸运的是,对于抽样的不确定性,在统计学中,我们有一套方法来量化这种不确定性到底有多大,这便是显著性水平(α)存在的意义。

  1. 第二类错误(β) & 统计功效(1-β / statistics power) 第二类错误,指原假设错误(伪),但是我们假设检验的结论却显示“原假设正确(真)、备择假设是错误的”,这一过程中我们接受了错误的原假设,所以第二类错误是“取伪”。

第二类错误在实际操作中表现为:我的新策略其实有效,但实验没能检测出来。

在统计学中,统计功效 = 1 - 第二类错误的概率,统计功效在现实中表现为:我的新策略是有效的,我有多大概率在实验中检测出来。

  1. 中心极限定理 显著性水平的理论依据便是中心极限定理。我们可以量化抽样误差的根基在于中心极限定理的存在。 什么是中心极限定理?

PS:此处为了便于理解,放弃了阐述统计学概念,仅从A/B实验场景下出发,解释中心极限定理。

为什么样本均值越接近真值,出现的概率越大?

举个例子,如果从全中国人这个总体中,抽取很多很多次样本,计算很多很多次平均收入。 可以预见,我们会因为样本不同而得到很多个不同的平均收入值。这些数值确实有可能因为偶然抽到顶级富豪而偏高,或因为抽到极贫困的人口而偏低。但是,上述两种情况毕竟是少数(均值越偏离真值,出现的概率小)。随着抽样次数增多,我们会发现,平均收入落在大多数普通人收入范围内的次数,会显著增多(均值接近真值,出现的概率大)。并且,有了中心极限定理的帮助,我们可以知道每个均值出现的概率是多少。

  1. 统计显著性 / 置信水平 / 置信度 / 置信系数 置信水平(也称置信度、置信系数、统计显著性),指实验组与对照组之间存在真正性能差异的概率,实验组和对照组之间衡量目标(即配置的指标)的差异不是因为随机而引起的概率。置信水平使我们能够理解结果什么时候是正确的,对于大多数企业而言,一般来说,置信水平高于95%都可以理解为实验结果是正确的。因此,默认情况下,「A/B 测试」产品将置信水平参数值设置为95%。

在A/B实验中,由于我们只能抽取流量做小样本实验。样本流量的分布与总体流量不会完全一致,这就导致没有一个实验结果可以100%准确——即使数据涨了,也可能仅仅由抽样误差造成,跟我们采取的策略无关。在统计学中,置信度的存在就是为了描述实验结果的可信度。

在实验的过程中,我们所抽取的样本流量实际上与总体流量会存在些许的差异,这些差异就决定了我们通过实验得出的结论或多或少会存在一些“误差”。

举个例子,实验中,我通过改变落地页的颜色让购买率提升了3%,但是因为样本流量并不能完全代表总体流量,有可能“我改变颜色这一策略其实没用,购买率提升3%是抽样结果导致的”。

那么发生这种“我的策略其实没用”事件的概率有多大呢?在统计学中,我们会用“显著性水平(α)”来描述发生这一事件的概率是多少。而置信度=1-α。

在「A/B 测试」产品上,根据业界标准,显著性水平α取0.05。在A/B实验中,如果发生“我的策略其实没用”这一事件的概率小于0.05,我们即称实验结论已经“统计显著/可置信”。这意味着你采取的新策略大概率(A/B实验中意味着大于95%)是有效的。相反,如果这一事件的概率大于0.05,则称实验结论“不显著/不可置信”。

  1. 置信区间 置信度区间就是用来对一组实验数据的总体参数进行估计的区间范围。

举个例子,我们现在开了一个实验来优化商品页面的用户购买率,其中采用了新策略B的实验组,购买率提升均值为5%,置信区间为[-3%,13%]。 怎么理解此处的置信区间呢? 由于在A/B实验中我们采取小流量抽样的方式,样本不能完全代表总体,那么实际上策略B如果在总体流量中生效,不见得会获得5%的增长。如果我们设策略B在总体流量中推行所导致的真实增长率为μ,那么在这个案例中,μ的真实取值会在[-3%,13%]之间。

值得注意的是,μ并不是100%概率落在这一区间里,在计算置信区间的过程中,我们会先取一个置信水平,计算这一置信水平下的置信区间是多少,A/B实验中我们通常计算95%置信度下的置信区间。回到刚刚的例子,做100次实验,得到100个95%置信度下的置信区间,其中95个包含μ真值,[-3%,13%]是其中一个区间。也可以简单但不严谨地理解:你有95%的把握这个区间包含真值。

  1. MDE MDE是什么:Minimum Detectable Effect (MDE),最小可检测单位,即检验灵敏度,是实验在当前条件下能有效检测的指标diff幅度。当前条件,指当前样本量,指标值和指标分布情况,并假设样本方差与总体指标方差足够接近。有效检测,指检出概率大于等于80%(type II error小于等于20%)。

MDE可以用来做什么:通过比较指标MDE与指标的目标提升率,来判断不显著的指标结论是否solid,可以避免实验在灵敏度不足的情况下被过早作出非显著结论而结束,错失有潜力的feature。

如何设置:MDE越小,意味着您要求测试的灵敏度越高,所需的样本量也越大。如果MDE设置过于精细,不仅会浪费不必要的流量,同时实际收益可能不能弥补新策略的研发和推广成本。灵敏度不足(比如预期1%就达标,但实验灵敏度仅能检测5%及以上),可能会导致错失有潜力的feature。

  1. 多重对比修正 简单说来就是,当一次实验中我们要进行多次(n>=2)假设检验是,就需要做多重假设检验校正,进行修正的目的是为了降低第一类错误的概率。

这里的多次可以指我们有多个期待提升指标需要实验组与对照组进行对比检验,可以是有多个实验组需要与对照组进行比较,还可以指下钻分析中需要维度细分的时候。多重比较场景下,如果独立进行各个假设检验,会增大一类错误的概率。假设在显著性水平0.05下,我们同时进行10个独立的假设检验,至少观测到一次假阳性的概率:

P=1−(1−0.05)10≈0.4P=1−(1−0.05)10≈0.4

解决以上的校正方法有: Bonferroni 校正,FDR(False Discovery Rate)校正,BH(Benjaminiand Hochberg)校正。

对于其计算方法感兴趣的同学可以参考: 多重比较修正

  1. p-value 用万能的扔硬币来举例:

原假设 H0:硬币是均匀的。备择假设 H1:硬币不是均匀的。

下面为扔硬币的次数和出现正面朝上的概率:

当扔硬币1次,正面朝上了,如果硬币是均匀的,那么发生这件事的概率是0.5;

当扔硬币2次,两次正面都朝上,如果是均匀的硬币,那么发生这件事的概率是0.5*0.5,为0.25;

接着你扔了3次,4次,每次都正面朝上。当扔硬币5次的时候,仍然是正面朝上,如果硬币是均匀的,那么发生这件事的概率只有0.5^5=0.03,这是一个非常小的概率事件,因为如果硬币是均匀的,是不太可能发生这样极端的事情的。但是这样极端的事情却发生了,这使你怀疑原假设的正确性,因为一枚不均匀的硬币极有可能投出这样的结果,因此你拒绝了原假设,接受了备择假设,认为这是一枚不均匀的硬币。

p-value是比实验结果更加极端的事件出现概率之和。是在这个例子中,我们假设一枚硬币是均匀的,扔了n次,五次均为正面朝上p-value=0.5^5=0.03 。 对于A/B Test来说, p-value 是在实验组和对照组没有差别这个前提成立的条件下,实验仍然检测到差异(即极端事件出现)的概率。

p-value越小,我们拒绝原假设的理由越充分,结果也就越显著。

  1. 效应值 在统计学,效应值(effect size)是量化实验中实验组相对于对照组变化强度的数值。效应值实际的统计量可以为两组数据的相关系数、回归模型中的回归系数、距离值等等。无论哪种效应值,其绝对值越大表示效应越强,也就是现象越明显。

TAB平台效应值可检测的相对差异=(实验组结果-对照组结果)/对照组结果

11.方差、标准差 方差:方差是数据组中各数据值与中心值间距的平方和的平均值。

方差的计算公式:公式中M为数据的平均数,n为数据的个数,s²为方差。

标准差:标准差是方差的平方根,即s。