关于数据科学工程实践一书的学习笔记与实践拓展,不足之处,望笔者多多指正。
A/B 实验也被称为分离式组间实验或对照实验,是一种科学的因果推断统计方法,被广泛应用于科研领域(药物测试)。随着商业领域产品和活动的精细化运营,尤其是互联网行业中,A/B 实验也受到了越来越多的关注。简单描述 A/B 实验在产品优化中的应用方法:在产品正式迭代发布之前,为同一个目标制定方案,将用户流量对应分成几组,在保证每组用户特征相同的前提下,让用户分别看到不同的产品或者活动策略(可以是策略 1 与策略 2,也可以是实验组或对照组),根据几组用户的真实数据反馈,科学地帮助产品经理进行决策。
因果关系是很多互联网、生物等领域的核心关注点,如:今天用户为什么涨?怎样可以让用户多购买、活跃性更高?而探究事物的因果关系是该试验的根本目的。通过科学的AB试验可以解决如下两个统计学问题:
相关性缪误:比如国家的综合实力与国民博士数量成正比,所以国家的综合实力高可以导致国民博士数量增加;显然无法通过相关推出因果【有因果一定相关,有相关不一定有因果】,而通过AB控制单因素的差异进行试验,可以科学地推断事物间的因果关系。
潜在结果与因果效果:潜在结果即未加入影响因子前的结果,因果结果未加入影响因子后的结果,即分别为AB实验各自的结果。举个例子:如果去超市搞打折营销,某用户购买了4个苹果,如果做不做AB的实验的因果探究得到的结果可能恰恰相反。
开始实验前,分析师与业务方应该明确以下的几类要素:
核心指标是衡量实验组是否优于对照组的重要指标,明确核心指标有助于我们在复杂的指标大盘结果中找到重点,快速做出决策。特别是在同时订阅多个指标时,一般将一些指标作为关注指标,将一个指标作为核心指标。
A/B 实验的本质是假设检验,它首先对实验组和对照组的关系提出了某种假设,然后计算这两组数据的差异并确定该差异是否存在统计上的显著性,最后根据上述结果对假设做出判断。A/B 实验的原假设是两组没有差异,备择假设是两组有差异,所谓有无差异是对于这个实验的指标而言的,有一点反证法的意思。因此整个实验过程的核心目标为拒绝原假设,证伪后说明原假设不成立。一般情况下提出的原假设内容为: p 1 = p 2 = 0 , p 1 、 p 2 为 A B 两 组 试 验 的 指 标 值 p_1=p_2=0,p_1、p_2为AB两组试验的指标值 p1=p2=0,p1、p2为AB两组试验的指标值
简言之,在进行AB实验前,业务和分析同学需要建立一个心理预期,比如实验中用户的点击率至少提升2%的效果时,才算达到预期的目标,那此时的MDE也就是下文中的 Δ \Delta Δ;
预估样本量的目的是为了保证实验过程中保证测试的相对准确(第一类错误 α \alpha α)与足够好的统计功效(第二类错误 β \beta β)的,关于两类错误含义的简单介绍可见下表:
假设检验的几类情况
决策 | 接受 H 0 H_0 H0 | 拒绝 H 1 H_1 H1 |
---|---|---|
H 0 为 真 , A B 无 用 p 1 H_0为真,AB无用p_1 H0为真,AB无用p1 | 正确决策,TN(1- α \alpha α) | 第一类错误(拒真), α \alpha α |
H 0 为 假 , A B 有 用 p 2 , H_0为假,AB有用p_2, H0为假,AB有用p2, | 第二类错误(取伪), β \beta β | 正确决策(1- β \beta β) |
在统计学知识体系中,考虑不同的因素,得到的对应的样本量计算公式也有所不同,这里,主要据笔者了解主要使用的样本量计算公式如下:
其中:
Δ \Delta Δ:样本均值预期最小提升;
σ 2 \sigma^{2} σ2 :样本方差,一般情况下取 σ 2 = p ( 1 − p ) \sigma^{2}=p(1-p) σ2=p(1−p),p为关键比率(指标)
Z:正态分布累计概率为 x 时对应的分位数,(一般 α = 0.05 时 , z 1 − α / 2 = 1.96 \alpha=0.05时,z_{1-\alpha / 2}=1.96 α=0.05时,z1−α/2=1.96, β = 0.1 时 z 1 − β = 1.28 \beta=0.1时z_{1-\beta}=1.28 β=0.1时z1−β=1.28)
α \alpha α:第一类错误(拒真)
β \beta β:第二类错误(取伪)
一般来说,如果业务同学与分析同学将放量限死(考虑影响用户数量尽可能的小),比如限制在10%的用户流量是1000,但是实验预估样本量是5000,那么预估的实验时长就是5天(对于比较看重交易日的互金领域就是一周),一般在实际的业务中取一周的比较多。
在开始AB实验,需要先进行或同步进行一组等量等时长的AA实验,主要目的为:
在统计学中,根据样本量的大小的不同(一般以30为界),大样本量使用Z检验,小样本量使用t检验;这里按照比例进行Z检验计算。
A/B 实验结束后,样本量达到实验预期提升所需数量,对关键指标(购买、点击率、转化率、留存率等)进行显著性检验,计算公式为:
z = x ˉ B − x ˉ A S A 2 n A + S B 2 n B z=\frac{\bar{x}_{B}-\bar{x}_{A}}{\sqrt{\frac{S_{A}^{2}}{n_{A}}+\frac{S_{B}^{2}}{n_{B}}}} z=nASA2+nBSB2xˉB−xˉA
其中:
A:对照组
B:实验组
x ˉ A \bar{x}_{A} xˉA::对照组样本均值;
x ˉ B \bar{x}_{B} xˉB:实验组样本均值;
S A 2 S_{A}^{2} SA2:对照组样本方差;
S B 2 S_{B}^{2} SB2::实验组样本方差;
n A n_{A} nA:对照组样本量;
n B n_{B} nB:实验组样本量
实验的结果的评估方式一般为两种
该平台为字节火山引擎下的一个子功能(AB试验平台),通过申请账号与试用可以得到为期两周的试用
(3)关键指标设置
评价AB两个版本的好坏的需要选定一个关键评价指标进行对比对位最终评判的依据,同时,一个版本的上线也需要关注其他一些指标,但关键评价指标一般只有一个。
(4)根据预期目标计算预期样本量
可定义的变量指标有:
由于试用版本展示无法将实际的放进去进行试验,但是试验列表给出几个完成测试的试验报告如下图:
本文介绍的AB实验将策略或者新产品的潜在效果与实际效果进行对比,帮助我们科学、有效地比较两个策略的效果。但是运用于实际业务的过程中仍然有以下不足与待解决的疑问:
谢梁、王子玲等《数据科学工程实践》
火山引擎