ABTest中的统计学 - 基础篇

2019-04-03   出处:腾讯移动品质中心TMQ  作/译者:easongao  

一 、ABTest与统计学

ABTest的目的是为了快速验证一个版本是不是比另外一个版本要好。为了简化问题,我们假设要验证的app是手机QQ浏览器,同时假设衡量版本好坏的指标只有1个:用户日均使用时长。

现在我们我们有手机QQ浏览器A版本和手机QQ浏览器B版本。我们怎么知道验证谁的用户日均使用时长更长呢?最容易想到的方法是:先让全部用户都使用A版本,统计用户日均使用时长;再让全部用户使用B版本,统计用户日均使用时长。

这样得出的数据结果当然非常精确。但一来成本有点高,二来两个版本并不是同时间发布,有可能因为时间这个变量影响了对比结果。

更合理的方法是抽样验证,选一定比例的用户(对照组)使用A版本统计用户日均使用时长,再选一定比例的用户(实验组)使用B版本统计用户日均使用时长。这里全部用户,我们称之为“总体”;抽样出来的用户,我们称为“样本”。例如总用户数有1个亿,而抽样的用户数是1万。这个1亿就是总体,1万就是样本。

此处,统计学出场了。统计学能告诉我们如何抽样才能具有充分的代表性,以及如何从样本反应出的信息中推测总体状况


二、如何抽样

要保证样本具有足够的代表性需要做到2点:

1、随机抽样

2、足够的样本量

随机抽样

随机抽样可以保证样本中的每个研究个体均有相等的机会被抽中的抽样方法。常用的随机抽样法有:

·简单随机抽样(simple randomsampling)

·系统抽样(systematicsampling)-也称等距抽样

·分层随机抽样(stratified randomsampling) 

·整群抽样(cluster sampling)

(想进一步了解这些抽样方法的同学,推荐观看视频《江西财经大学公开课:爱上统计学 - 统计调查》)

ABTest中的样本(实验组和对照组用户群)是根据个体(具体某个用户)的某个属性(userId,cookie等)进行hash取模后抽取出来的。hash算法保证了抽取的随机性。因为互联网数据海量以及获取方便的特点,简单随机抽样是最常用的抽样方法。

足够的样本量

足够的样本量怎么保证呢?我们在这里先不展开讲样本量如何影响最终结果的。但我们可以先建立一个定性的认识:样本量越大,通过样本去评估总体的误差就越小。当误差小于我们需要的精度时,样本量就足够了。

 

三、 如何估计总体

经过抽样,我们得到了实验组和对照组的用户群。并通过观测收集(数据上报),得到这些用户当天是否活跃的数据。那问题来了:该如何通过这些样本数据推测全量发布时的用户日均使用时长呢?最好是能推测出全量发布时最可能的用户日均使用时长值,并且估算这个推测用户日均使用时长可能有多大的误差。

此处,中心极限定理出场了。 

定理结论

“随机变量之和的分布函数向正态分布收敛。“

凡是在一定条件下断定随机变量之和的极限分布是正态分布的定理,在概率论中被统称为“中心极限定理”。

理解

该定理的着眼点是“变量之和的分布”,一个变量服从正态分布的并不多,但多个变量之和的分布服从于正态分布则是普遍存在的。

例如均值,我们知道均值就是多个变量值之和的变换形式,是变量之和的平均值,故样本均值也是服从正态分布的。

中心极限定理揭示了大部分社会经济现象表现为正态分布的原因,正是中心极限定理让正态分布有了如此广阔的应用。在考虑随机因素总和的极限分布时,只要那些因素对总体的影响均匀的小,同时又是独立的,总和达到一定数量,则可认为其服从正态分布。

中心极限定理解读

1、样本均值约等于总体平均值;

2、不管总体是什么分布,任意一个总体的样本均值总会围绕在总体均值左右,呈现正态分布。

如何应用?

如上可知,我们不知道总体的数量和均值,有了中心极限定理我们就可以通过一个抽样得到的样本,来推断总体的特征,这为我们研究总体的特性指明了一条路。具体标准作业流程如下:

1、直接抽取样本,其容量为n

2、求出均值和标准差s

3、根据标准差s,求出标准误差SE= 

4、根据置信水平,如95%,查Z表,求出标准分

5、均值加减标准分个标准误差,即得出置信区间的上下限

至此我们会得出一个可信度为95%的区间,也就是说总体均值有95%的可能性落在这个区间里。这样我们仅通过一个样本的分析,就得到了不可能知晓的总体的均值的一个范围。

需要注意的是,大样本的估计本质上是,根据中心极限定理应用正态分布,求Z值,来计算置信区间。

ABTest实验结果举例

回到abtest的例子,假设通过上述步骤,我们得出A版本和B版本的总体均值和总体均值95%置信区间。

用图形画出版本A(sample1)和版本B(sample2)的总体均值置信区间如下(可以访问这个网站http://www.evanmiller.org/ab-testing/t-test.html自行尝试):

到这里,我们已经实现了对版本A和版本B 全量发布后的用户日均使用时长的估计。那么,这是否可以得出版本B比版本A好的结论呢?(其实图中difference of means部分已经给出答案)谜底我们留到下一节再讲解。


欢迎给测试窝投稿或参与内容翻译工作,请邮件至editors@testwo.com。也欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,并与我们的编辑和其他窝友交流。
138°|1385 人阅读|0 条评论

登录 后发表评论