python 检验两个样本均值是否相同_一文读懂AB测试原理及样本量计算的Python实现...

为了对比不同策略的效果,如新策略点击率的提升是否显著,常需要进行A/B测试。但测试是有成本的,样本量小时不能判断出差异是否是由抽样误差引起,样本量太大时如果效果不好则会造成难以挽回的损失。如何科学地选择样本量呢?需要了解A/B测试的统计学原理。

如果你不想了解统计学原理或者统计学原理对你来说就是无字天书,请直接跳至文末福利部分,用在线计算器计算样本量就可以。不过建议您了解一下原理部分,其实并没有那么晦涩难懂。

一、 A/B测试的统计学原理

(一)大数定律和中心极限定理

A/B 测试样本量的选取基于大数定律和中心极限定理。通俗地讲:

1. 大数定律:当试验条件不变时,随机试验重复多次以后,随机事件的频率近似等于随机事件的概率。

2. 中心极限定理:对独立同分布且有相同期望和方差的n个随机变量,当样本量很大时,随机变量

v2-f8667d83f0d46c7bd6de7db9eda1cb8b_b.jpg

近似服从标准正态分布N(0,1)。

根据大数定律和中心极限定理,当样本量较大(大于30)时,可以通过Z检验来检验测试组和对照组两个样本均值差异的显著性。

注:样本量小于30时,可进行t检验。

(二)假设检验

在进行假设检验时,我们有两个假设:原假设H0(两个样本没有显著性差异)和备择假设H1(两个样本有显著性差异)。相应地,我们可能会犯两类错误:

v2-d1ec216356b818d2d06eb5c8024d334f_b.jpg

第I类错误:H0为真,H1为假时,拒绝H0,犯第I类错误(即错误地拒绝H0)的概率记为alpha。

第II类错误:H0为假,H1为真时,接受H0,犯第II类错误(即错误地接受H0)的概率记为beta。

1. 犯第I类错误的概率alpha与置信水平1-alpha

通常,将犯第I类错误的概览alpha称为显著性,把没有1-alpha称为置信水平,即有1-alpha的概率正确接受了H0。

一般,alpha取值为0.05或更小的数值,即容忍犯第I类错误的概率最大为alpha。

2. 犯第II类错误的概率beta与统计功效power=1-beta

通常,将犯第II类错误的概率称为beta;将1-beta称为统计功效,即正确拒绝H0的概率。

一般,beta取10%~20%,则统计功效的取值为80%~90%。

v2-9850a29fd805a968e220361dece5180d_b.jpg

犯第一类错误的概览alpha与犯第二类错误的概览beta之间的关系如下图:

v2-36842d793f183e66941123d07e5aea82_b.jpg

3. 统计显著性p-value

当p-value<alpha时,即原假设成立的概率小于预设的显著性水平,可拒绝原假设。p-value只说明两个样本有没有显著性差异,并不说明差异的大小。

根据统计学原理计算样本量,需要根据显著性水平查正态分布表,工作中用到的比较少,这里省略。

工作中可用python中的已有的包和函数计算。

二、样本量计算的python实现

Python统计包statsmodels.stats.power中,有一个NormalIndPower工具,可以用其中的solve_power函数实现。

Solve_power函数中的参数如下:

(1)参数effect_size : 两个样本均值之差/标准差

(2)nobs1:样本1的样本量,样本2的样本量=样本1的样本量*ratio

(3)alpha:显著性水平,一般取0.05

(4)power:统计功效,一般去0.8

(5)ratio: 样本2的样本量/样本1的样本量,一般取1

(6)alternative:字符串str类型,默认为‘two-sided’,也可以为单边检验:’larger’ 或’small’

例:目前的点击率CTR是0.3,我们要想提升10%,将点击率提升到0.33,测试组和对照组的样本量相同。

计算如下:

v2-48cdea1fe4af1074aae87404a4759716_b.jpg

输出结果为:

3662.8015711721328

文末福利

A/B测试样本量在线计算器“

https://abtestguide.com/abtestsize/

如:想要提升的现有基准——转化率(conversion rate,可以为点击率、订阅率等)为10%;想要在此基础上提高10%(minimum detectable effect),即提高到11%;统计显著性为5%,统计功效选80%,则计算出结果为14751,即对照组和测试组需要的样本量均为14751。

v2-1b5f746b23a03df3fdab98f68806e403_b.jpg

检测效果变化值越小,需要的样本量越大;检测效果变化值越大,需要的样本量越小。因为,变化效果越小,越有可能是抽样误差引起的;为了避免抽样误差的影响,需要增大样本量。

v2-ecaa822acc61f016717fedf2f627c220_b.jpg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值