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

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

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

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

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

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

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

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

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

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

(二)假设检验

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

第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。

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

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

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

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

  1. 统计显著性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,测试组和对照组的样本量相同。

计算如下:

输出结果为:

3662.8015711721328

文末福利

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

https://abtestguide.com/abtestsize/

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

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

一文读懂AB测试原理及样本量计算的Python实现相关推荐

  1. python统计图原理_AB测试原理及样本量计算的Python实现

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

  2. 一文读懂贝叶斯原理(Bayes‘ theorem)

    一文读懂贝叶斯原理(Bayes' theorem) 前言:贝叶斯定理是18世纪英国数学家托马斯·贝叶斯(Thomas Bayes)提出得重要概率论理论.以下摘一段 wikipedia 上的简介: 一. ...

  3. 一文读懂CDN加速原理

    一文读懂CDN加速原理 什么是 CDN 工作原理 传统访问过程 CDN 访问过程 组成要素 智能调度 DNS 缓存功能服务 负载均衡设备 内容 Cache 服务器 共享存储 名词解释 CNAME记录( ...

  4. 一文读懂遗传算法工作原理(附Python实现)

    Datawhale干货 选自:AnalyticsVidhya,编译:机器之心 近日,Analyticsvidhya 上发表了一篇题为<Introduction to Genetic Algori ...

  5. 一文读懂扩散模型原理、推断加速和可控生成

    在刚刚过去的2022年,扩散模型(Diffusion Models)成为了深度生成模型中新的SOTA.近期,中国人民大学助理教授李崇轩和清华大学博士生鲍凡在由智源社区主办的"2022大模型创 ...

  6. 一文读懂语音识别技术原理

    https://www.toutiao.com/a6651440650308813319/ 2019-01-28 15:06:47 语音识别是十年来发展最快的技术之一,随着AI的不断发展,深度学习让语 ...

  7. 一文读懂网络通信技术原理

    一.网络的由来? 互联网的本质就是一系列的网络协议. 一台硬设有了操作系统,然后装上软件你就可以正常使用了,每个人都拥有一台自己的机器,然而彼此孤立. 如何能让大家一起玩耍,就有了初步的网络,其实两台 ...

  8. 一文读懂CPU工作原理、程序是如何在单片机内执行的、指令格式之操作码地址码

    文章较长,大家可选择性阅读,嘎嘎细 计算机结构 CPU的运行原理 CPU的控制单元在时序脉冲的作用下,将指令计数器里所指向的指令地址(这个地址是在内存里的)送到地址总线上去,然后CPU将这个地址里的指 ...

  9. 一文读懂chatGPT模型原理(无公式)

    每天给你送来NLP技术干货! 来自:JioNLP 点击这里进群->加入NLP交流群 (本文是chatGPT原理介绍,但没有任何数学公式,可以放心食用) 前言 这两天,chatGPT模型真可谓称得 ...

  10. 语音识别初探——一文读懂语音识别技术原理

    语音识别是十年来发展最快的技术之一,随着AI的不断发展,深度学习让语音识别技术得到了质的飞跃,开始从实验室走向市场,并逐步走到人们的生活中. 我们现在所用的语音输入法,以及以语音为智能交互入口的智能家 ...

最新文章

  1. linux常用运维工具uptime、iostat、vmstat、sar
  2. 博为峰JavaEE技术文章 ——MyBatis 注解
  3. 年月日_C++计算输入的年月日是这一年的第几天
  4. 2021中超1 1010 zoto
  5. 请解释一下TreeMap
  6. POJ 1811 Prime Test (Rabin-Miller强伪素数测试 和Pollard-rho 因数分解)
  7. 八类网线和七类网线的区别_什么是七类网线?七类网线水晶头如何制作?
  8. gulp编译css_如何用gulp缩小CSS
  9. Python3 爬虫学习笔记 C15【代理的基本使用】
  10. 创建ros的程序包--3
  11. 手机直播帧数测试软件,斗鱼直播伴侣帧数如何查看?帧数查看方法图文介绍
  12. 安科瑞ACY100油烟浓度在线监控仪在浙江省某市餐饮油烟监测治理项目中的应用
  13. HTTP状态码滑稽表情包
  14. date日期格式 yyyy-MM-dd HH:mm:ss 大小写区别
  15. freeswitch ws php,针对FreeSwitch的呼叫中心接口
  16. docker中 scp root远程至普通用户
  17. 神经元模型 Izhikevich Model
  18. SOUI总结之控件说明
  19. how to build sailfish-office(cmake mb2/sb2)
  20. oracle 老白,老白对oracle性能的io调优--(摘自老白-一个金牌DBA的故事)

热门文章

  1. php网站访问卡顿,网站反应慢,经常卡顿是什么原因?怎么解决?
  2. matlab两矩阵相似性,两个矩阵同时相似对角化MATLAB程序.docx
  3. db2实现两个数相减_DB2 日期相减
  4. ANSYS-SCDM二次开发(遍历获得structure和group下的部件名称)
  5. 360路由器v2刷第三方固件_不走弯路:小米路由器3G 刷Padavan固件简单教程
  6. 计算机会考题 荷花,小小量词我来填。一()车厢一()纠纷一()荷花一()谜语一()考试一()皮球...
  7. VS2017出现的神奇错误HRSULT:0x80041FE2
  8. 小森林顺序_电影:《小森林》两部
  9. 如何用饼状图显示数据
  10. 删除word空白页的6钟方法