假设检验和ABTEST(二)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了假设检验和ABTEST(二)相关的知识,希望对你有一定的参考价值。

参考技术A

参考:
从假设检验到AB实验——面试前你要准备什么?
一文入门A/B测试(含流程、原理及示例)
A/B testing(一):随机分配(Random Assignment)里的Why and How

我们都或多或少听说过A/B测试,即便没有听过其实也被动的参与过——作为受试者。AB实验是数据分析、产品运营、算法开发在工作中都时常接触到的工作。在网站和APP的设计、产品的运营中,经常会面临多个设计/运营方案的选择。小到按钮的位置、文案的内容、主题的颜色,再到注册表单的设计、不同的运营方案,都有不同的选择。A/B test可以帮助我们做出选择,消除客户体验(UX)设计中不同意见的争执。按钮颜色、广告算法、标签排序,这些互联网产品里常见的功能与展示都是在一次次AB实验中得到优化。

所谓A/B test,其实类似于初中生物说的 对照试验 。对用户分组,每个组使用一个方案(方案应遵从单变量前提),在相同的时间维度上去观察用户的反应(体现在业务数据和用户体验数据上)。需要注意的是各个用户群组的组成成分应当尽量相似,譬如新老用户很有可能表现出较大的偏好差异。最后根据假设检验的结果,判断哪些版本较之原版有统计意义上的差异,并根据效应量选出其中表现最好的版本。

注意点

理由:

A/B test不是只能A方案和B方案,实际上一个测试可以包含A/B/C/D/E/……多个版本,但是要 保证单变量 ,比如按钮的颜色赤/橙/黄/绿/青/蓝/紫,那么这七个方案是可以做A/B测试的;但如果某方案在旁边新增了另一个按钮,即便实验结果产生了显著差异,我们也无法判断这种差异的成因究竟是谁。

比如一个test抽取总体20%的流量做按钮颜色的实验,另一个test也抽取总体20%的流量做布局样式的实验。是否可行?

我认为是可行的。但要求多个方案 并行测试 同层互斥 。如果从总体里,先后两次随机抽取20%流量,则很有可能会有重叠的用户,既无法满足控制单变量,又影响了用户的使用体验。

数据:对web新旧页面的A/B测试结果,来自Udacity的示例案例

1.给出零假设和备择假设:
记旧页面的转化率为 ,新页面的转化率为
我们的目标是为了说明 , 因此作出如下假设:

方法一、直接根据公式计算检验统计量Z

, 拒绝域为 。
z=-2.15落入拒绝域。在显著性水平 时,拒绝零假设。

假设检验并不能真正的衡量差异的大小,它只能判断差异是否比随机造成的更大 。 cohen-s-d ,因此,我们在报告假设检验结果的同时,给出效应的大小。对比平均值时,衡量效应大小的常见标准之一是 Cohen\'s d ,中文一般译作科恩d值:

statsmodels.stats.proportion.proportions_ztest
第一个参数为两个概率的分子
第二个参数为两个概率的分母
第三个参数 alternative [‘two-sided’, ‘smaller’, ‘larger’]分别代表[双侧,左尾,右尾]

可以同时得到检验统计量和P值,得到的z值和前面计算的完全相同,落在拒绝域,故拒绝零假设。同时我们也得到了p值,用p值判断与用检验统计量z判断是等效的,这里p值约等于0.016, ,同样也拒绝零假设。

在python中一般的z检验是这样做的 statsmodels.stats.weightstats.ztest
直接输入两组的具体数值即可,同样有 alternative 参数控制检验方向。

蒙特卡罗法其实就是计算机模拟多次抽样,不过感觉好强啊,结果直观又容易理解,能够很好的帮助初学者理解分布、p值、显著性 、分位数等概念。

在零假设成立的前提下( 即 ), 为临界情况(零假设中最接近备择假设的情况)。如果连临界的情况都可以拒绝,那么剩下的部分更可以拒绝( )。

可以利用样本数据求得整体的总转化率 ,下面考察临界情况,以 为新旧版共同的转化率,即取 ,分别进行n_old次和n_new次二项分布的抽样。

重复抽样多次,每次抽样之后,都可以得到:旧版本与新版本之间的转化率差值 。而此数据的转化率差值为:-0.0026。

可以观测模拟得到转化率差值的分布(由于概率相等,应该接近于正态分布)和此数据的转化率差值的位置关系。

在diffs列表的数值中,有多大比例小于ab_data.csv中观察到的转化率差值?此次模拟的结果为0.0155,每次模拟的结果都不太相同,但都在p值(0.016)上下浮动,且随着样本量的增大,更加接近p值。

上图的含义是,在 时进行的10000次随机模拟得到的差值中,只有1.55%比数据集中的差值更极端,说明我们这个数据集在 的前提下是小概率事件。如果 则得到的差值的分布仍然近似于正态分布但是其均值会右移,此时数据中的差值会更加极端。因此,此数据的结果是零假设中的极端情况,零假设很有可能是不成立的。

p值到底要多小才算真的小

这需要我们自己给定一个标准,这个标准其实就是 ,是犯第一类错误的 上界, 常见的取值有0.1、0.05、0.01。

所谓第一类错误,即拒真错误,也就是零假设为真,我们却拒绝了。在这个例子里就是——新旧版转化率明明相等,只不过我们很非酋,得到的样本正好比较极端,以至于我们错误地认为新旧版转化率不等。所以要取定一个 时,认为原假设在该显著性水平下被拒绝。(如果我们取的是0.01而不是0.05,则这个例子里就拒绝不了零假设了。)

并不是越小越好,这与第二类错误的概率有关, 越小,则 就越大,而第二类错误的概率也需要控制在一定的范围,因此不能一味地取极小的 。

3分钟,看懂假设检验

  \'3分钟,看懂假设检验_数据分析\'

 

大家好,我是爱学习的小xiong熊妹。

 

今天来说说假设检验。这是个古老的方法,近年ABtest大行其道,使假设检验方法迎来了新一波文艺复兴,搞得很多小伙伴都在问:如何做假设检验?那一堆似懂非懂的统计符号啥意思?

 

今天小熊妹帮大家整理了一个懒人攻略,大家抄起来用即可。可能有描述不准确的地方,大神们勿喷哦。

 

一、假设检验是干什么的?

假设检验最常见的场景有两个:

 

\'3分钟,看懂假设检验_数据分析_02\'

 

总之是吵架必备,怼人利器。

 

二、什么时候适合用假设检验?

当错误很明显的时候,不需要做假设检验。比如销售、运营的表现不好,可以直接取过往X天的销售业绩、运营指标来看。如果销售业绩一直下滑,还有啥好说的,这时候不需要假设检验,直接开怼。

 

有些问题不那么明显,比如上边吐槽的产品寿命问题。除非产品用到烂,否则不知道寿命是多少。而当用户遇到产品寿命很短的问题的时候,他们只会默默换牌子,也很少投诉“不耐用”。此时必须做抽样检测,就得用到假设检验方法。

 

在论证新点子很好的时候,也需要先把新点子做出来,再做小范围测试。此时也要用假设检验方法。总之,假设检验方法适合于抽样检验/小范围测试的场景。

 

三、假设检验是怎么验的?

众所周知:证伪比证真容易多了。证真要穷尽各种可能,证伪只要找到反例即可。假设检验的基本思路也是如此,它利用了“小概率事件,不可能在一次小范围抽样中发生”的朴素原理,先提一个假设,之后看能否用小概率事件推翻它。能推翻的,就说明假设不成立;不能推翻,就至少说明不能推翻(是否接受假设,可以再验证)。

 

基于这个原理,我们一般把要怼翻的结论,作为原假设。然后试着去怼翻它!(如下图)

 

\'3分钟,看懂假设检验_统计学_03\'

 

很多小伙伴在这里犯迷糊:到底原假设是啥?最简单的判断方法,就是:想怼翻什么,就把什么放原假设(记得带等号的一定在原假设)。不过实践的时候,还是经常会写错,这里需要多加练习才行。

 

设定原假设以后,还要设定“小概率事件”到底有多小。一般用显著性水平α来表示。α是一个人工给定的数,一般给0.10,0.05,0,01看起来够小就行。

 

四、得到假设以后怎么操作?

得到假设后,需要选择合适的检验统计量,代入参数,计算是否属于小概率事件。

 

检验统计量,和要检验的假设有关系。比如上述产品使用寿命问题,是一个典型的单总体(只有一个产品要检验)+均值(使用寿命,指的是待检测产品的平均寿命)检验问题,因此可以选用t检验。如果是比例检验问题(比如检验产品的合格率,合格率=问题样本/全部抽检样本),则可以使用Z统计量(如下图)

 

\'3分钟,看懂假设检验_数据分析_04\'

 

有了统计量以后,可以检验是否属于小概率事件。不同的假设,拒绝不同

 

\'3分钟,看懂假设检验_数据分析_05\'

 

关于拒绝区域,有个简单的记忆方法,就是:

  1. 如果假设是等号,拒绝区域就是左右两侧。潜台词就是:既然咱俩相等,那检验值应该不大不小才对。
  2. 如果假设是小于号,拒绝区域就是右侧。潜台词就是:既然你比我小,那检验值肯定不太大呀
  3. 如果假设是大于号,拒绝区域就是左侧。潜台词就是:既然你比我大,那检验值肯定不能太小呀

这样就容易区分了

 

当然,有很多统计软件/算法直接给了P值,大家记得:P值小于0.05就拒绝原假设即可。

 

五、看个简单的例子

某产品经理宣称,目标用户80%都是年轻人(25岁以下),现随机抽样200人,发现146名年龄在25岁以下,问:我们能怼翻产品经理的结论不?

 

解答过程如下:

 

\'3分钟,看懂假设检验_数据分析_06\'

 

原假设被拒绝掉了,我们可以认为产品经理在吹逼,打完收工!

 

六、从假设检验到ABtest

实际上,假设检验的类型很丰富。为了小伙伴们理解方便,上边举的是最简单的单总体问题。单总体问题,常见于已经有了一个预设结论,之后推翻这个结论的情况。比如证明新版本A比老版本的数据好看。

 

我们常说的ABtest,如果是真的是设计两个版本A版和B版,之后再检验AB版的区别,则涉及2个总体的均值/比例检验,需要用到不同的统计量。

 

以上检验均值/比例的方法,统称参数检验,还有非参数检验,比如检验身高和体重之间是否有关系。这些方法在实际工作中有不同的应用场景,之后再慢慢介绍吧。

 

今天的分享就到这里,如果没听懂也没关系,后续小熊妹还是会努力讲清楚的。喜欢的话,记得转发+在看+点赞,支持下小熊妹哦,谢谢大家。

 

以上是关于假设检验和ABTEST(二)的主要内容,如果未能解决你的问题,请参考以下文章

ABtest显著性校验(配对T检验)

AB测试原理(二)假设检验(参数方法)

3分钟,看懂多版本ABtest怎么做

统计学基础之假设检验

数理知识:虚无假设显著性检验统计推断P值法

统计学-假设检验