一、前言

  • 背景:ABTester实验是具有一定前瞻性,统计性,科学性的特点。用好了就实现了在大数据时代的充分利用数据分析问题,解决问题,为决策提供强有力的依据,但是有时候用户在使用ABTester时候,会出现一些痛点和疑惑。

  • 痛点:

  • 每次实验需要多少流量

  • 实验时间开多长没有概念

  • 解决问题:

  • 为了验证某一个功能特性,一个实验需要开多少流量。

  • 一个实验需要开多长时间

二、基础概念

1、研究对象

总体X:研究问题某个数量指标。

2、入手点

个体:总体中的一个元素xi 样本:一部分个体Xi

3、工具--统计量

4、抽样分布

  • 标准正态分布N(0, 1)

  • Ka方分布

  • t-分布

  • F-分布

5、抽样定理

简单介绍几个

6、参数估计

通俗的说:样本参数去估计总体的参数。举个????:

  • 样本均值估计总体均值,

  • 用样本比例去估计总体比例,

  • 用样本方差估计总体方差

(1)分类:点估计和区间估计

  • 点估计通俗的说:用样本的统计量的值直接作为总体参数的估计值。

  • 区间估计通俗的说:在点估计的基础上,给出总体参数估计的一个区间范围。

(2)置信区间和置信水平 通俗的说:区间估计中,样本统计量构造的总体参数的估计区间,称为置信区间。举个????:

  • 100个样本,每一个样本构造一个置信区间,100个样本构造的总体参数的100个置信区间中,有95%的区间包含了总体参数的真值,5%则没有包含。

大样本下,样本均值的置信区间:

(3)总体均值的区间估计原理 大样本下,根据中心极限定理,可以得到的样本均值的抽样分布。

7、假设检验

我们来看一下一个简单的假设性检验的例子:根据水稻长势,估计平均亩产310kg,收割时,抽取10块地,测平均亩产320kg,如水稻产量服从正态分布N(u, 144),问所估计平均亩产是否正确?(a = 0.05,Z0.05 = 1.645,Z0.025 = 1.96) 分析:当方差已经的情况下,使用Z检验;未知的时候,使用t检验

三、一个简单并完整的ABTester例子

1、背景和设置

  • 背景:有个web应用,接入了咱们sdk,上报各种事件埋点。

  • 确认优化的目标:注册流程改版,从而提供注册转换率。

  • 注册流程的A/B测试:之前是使用了图片校验码的方式,但是注册转化率偏低。提出设想:图片校验码方式改成短信校验码方式,是因为降低了用户输入的难度从而可以提高注册转换率。

  • 我们设置

  • 核心指标:注册转化率

  • 设置版本:1个对照版本(图片校验码)。1个实验版本(短信验证码)。

  • 设置版本流量:总流量我们设置50%,各个版本均匀分配。

  • web应用引入我们客户端分流sdk的,然后将版本代码插入到项目中。

2、结果分析

分别为两个版本分配了25%的用户流量,通过2个自然周左右的实验观察,数据显示。结果:新版本(短信校验码)的注册转化率提升了接近10%,并且95%置信区间是[8%, 12%], 分析:说明这个实验版本推广到全量用户之后,95%的概率下至少会有8%到12%的提升。决策:基于这个实验结果,产品经理选择将新版本注册流程推送给全部用户,显著提升了注册转化率。

四、详细介绍样本量计算

1、注册流程改版例子????

实验运行后,用户开始进组。1天后数据统计

这就能说明:短信验证码的功能有效提高注册转换率?

2天后数据统计

这就能说明:图片验证码的功能有效提高注册转换率?

那么到底,注册流程改版对于提高注册转换率是否有显著性提高呢?暂时是不能给出结论的,因为数据样本还不够大,不能充分说明。

理论上:样本量越多越好。现实上:1、自身样本不够大;2、试错成本大。

选择样本数量是个技术活:样本量太小,有人骂娘;样本量太大,还是有人骂娘。那么问题来了:如何确定一个“最小”的样本数量,在保证实验“可靠性”的同时,不会浪费过多流量?

2、最小样本公式

统计学里有最小样本量计算的公式:

说明:1、n是每组所需样本量,因为A/B测试一般至少2组,所以实验所需样本量为2n;2、α和β分别称为第一类错误概率和第二类错误概率,一般分别取0.05和0.2;3、Z为正态分布的分位数函数;4、Δ为两组数值的差异,如注册转换率50%到60%,那么Δ就是10%;5、σ为标准差,是数值波动性的衡量,σ越大表示数值波动越厉害。

从而可知:实验两组数值差异Δ越大或者数值波动性σ越小,所需要的样本量就越小。

3、方法一:假设两个转换率方差相等

条件:假设两个转换率的方差(可变性)相等。上面公式转换为:

说明:1、e1和e2是真实的注册转换率。2、e 是合并方差估计量。3、α是显著性水平(通常α = 0.05) 4、β是期望功效(通常β = 0.8) 5、Zβ和Zα/2针对给定参数的临界值α和β 固定值:α = 0.05时,Zα/2 = 1.96。β = 0.8时,Zβ = 0.84。

【注册流程改版例子????】具体计算过程:(1)两个版本权重相等的情况 这里使用合并估计量作为方差。

如果我们不假设两个转换率的方差相等,则公式会略有不同,后边给出

代入公式,得到最终的样本的公式:

我们来真实计算一下:1、注册转换率e1为50%,e2为60% 2、假设最小标准值为0.8的期望功效 3、显著性水平α为0.05

因此。每组(对照组和实验组)的最小样本量为385。

(2)两个版本的注册转换率权重不等的情况 这种情况下,第一步,假设各组大小相等,计算总样本量;然后,可以根据两组实际比率k来调整此总样本量大小N,而修改后的总样本大小N ',可以通过下面公式来计算:

以上两组中,每个样本的样本大小分别为N '/(1 + k)和kN '/(1 + k)。

4、方法二:使用假设性检验

适用范围:

  • 假设性检验本身可以对单个总体参数或者两个总体参数进行。

  • 假设的内容可以是双侧检验。比如参数是否等于某个值,还可以参数是否大于或者小于某个值。

AB实验背景下,我们通常使用的是双总体双侧检验。具体实施 原假设:μ1=μ2 备择假设:μ1≠μ2

构造统计量 条件:两个样本间 相互独立 且样本量大 我们实际进行两总体均值差是否为0的双侧检验

实际计算中,总体方差可以用样本方差代替,原假设的背景下u1 - u2 = 0,所以计算统计量z,所需要的数据都可以依据样本得到。还有假设两组的总体方差相等的情况,实际上,AB实验中并不常见。

上图是概率密度曲线:

  • 黄色是AA实验的均值差的分布,蓝色是AB实验(以指标提升为例)的均值差的分布。

  • 两个红箭头分别标识 -1.96*指标标准差 +1.96指标标准差

  • power 即 蓝色曲线在红色(右)箭头右侧的面积。

  • delta是上图 蓝色的中轴位置,即 AB实验(以指标提升为例)的均值差的期望。

得出power的计算公式 power = 1 - norm.cdf( norm.ppf(1 - α / 2) - np.sqrt( sampleperversion * (delta * 2) / 2 * ( metric_variance * 2 ) ) )

其中:cdf 累积分布函数,是概率密度函数的积分,能完整描述一个实随机变量X的概率分布。ppf 分位点函数 metric_variance 指标方差 delta 均值的差

反推出样本量 sampleperversion = 2 * (norm.ppf(1 - α / 2) - norm.ppf(β)) * 2 * metric_variance / (delta * 2)

其中:ppf 分位点函数 norm.ppf正态分布的累计分布函数的逆函数,即下分位点。alpha 默认5%,其中norm.ppf(1 - α / 2) = 1.96,norm.ppf(β)为映射值。metric_variance 指标方差。delta 均值的差。

五、其他

字节跳动校招开启中

燃情9月,你要一起跳动吗?

简历投递方式 浏览器打开下方链接或者扫描下方二维码

内推码:WDBC8M7

投递链接:https://job.toutiao.com/s/JBJ3McU

全部校招职位:

字节跳动校招内推码: WDBC8M7

投递链接: https://job.toutiao.com/s/JBJW788

---------------

社招职位:打开链接或扫码

https://job.toutiao.com/s/JBmPxVS

AB实验背后的秘密:样本量计算相关推荐

  1. 五分钟掌握AB实验和样本量计算原理

    AB实验简介 什么是AB实验 将测试对象随机分成A,B两组,然后比较两组之间的差异 AB测试是为Web或App界面或流程制作两个(A/B)版本,在同一时间维度,分别让组成成分相同(相似)的访客群组(目 ...

  2. python配对t检验_置信度计算——t检验(配对样本t检验,AB实验置信度),T

    为什么计算置信度? 在推荐场景下,我们会研发一些策略,来提升业务指标,在做AB实验的时候,实验组跟base组的指标对标,并非稳定的胜利或者稳定的失败,观察7天或者14天的指标数据,会有正有负,那么怎么 ...

  3. 置信度计算——T检验(配对样本t检验、AB实验置信度)

    为什么计算置信度? 在推荐场景下,我们会研发一些策略,来提升业务指标,在做AB实验的时候,实验组跟base组的指标对标,并非稳定的胜利或者稳定的失败,观察7天或者14天的指标数据,会有正有负,那么怎么 ...

  4. 如何支持亿级用户分流实验?AB实验平台在爱奇艺的实践

    01 背景 随着互联网公司的产品和业务越来越多样,利用数据来驱动业务决策成为必然,而AB实验正是以数据指标来判断产品功能和运营策略迭代效果的方法和工具,其可以在保证样本同时性和同质性基础上,对比两个或 ...

  5. 假设检验中两类错误及最小样本量计算

    ​ 脚注: 以下内容均为个人总结,便于日后查阅.如有不对地方,还请及时指正. 案例:   在互联网等行业中,大家会对产品.排序模型.机制策略等模块不断迭代/创新,来提升整个App的用户体验.那么,怎样 ...

  6. 【数分】7. AB实验篇

    文章目录 0. 常考问题 1. A/B测试的基础知识 1.1 总体流程 1.2 数据准备 1.3 aa实验 1.4 ab实验 1.5 独立样本t检验 1.6 简单的ab实验代码 2. A/B测试的进阶 ...

  7. AB实验平台:为什么AB实验平台必不可少?

    1.概述 1.1 为什么AB实验平台必不可少? 1.1.1 依据统计数据做决策 当面对众多选择时,我们应该怎么选才能最大化我们的收益(或者说最小化我们的开销)呢?举例来说,怎么选择最优的上班的路线才能 ...

  8. AB实验你真的了解嘛

    1 为什么要做A/B实验? A/B实验,是一种验证假设的方法,其核心方法及原理分别是对照实验及假设检验. 在实际实验时会从总体抽取部分个体组成样本单位,并从个体实验结果推断总体结果. 1-1.实验原因 ...

  9. 一文带你学会AB实验最佳流程

    如果你对数据分析感兴趣,希望学习更多的方法论,希望听听经验分享, 欢迎移步公众号「小火龙说数据」,更多精彩原创文章与你分享! 「经验」带你掌握AB实验最佳流程https://mp.weixin.qq. ...

最新文章

  1. 帮助你更好理解javascript中easing功能的网站 - Easings.net
  2. Spring data jpa 条件查询-按时间段查询
  3. php rss xml,php 一个完全面向对象的RSS/XML类的简单示例
  4. Redis(四):Spring + JedisCluster操作Redis(集群)
  5. 这家武汉工厂如果停工,全球都不答应
  6. android多个拖动控件,Android使用WindowManager制作一个可拖动的控件
  7. vue-transition过渡动画
  8. python计算出nan_学习笔记0522:Tensorflow训练模型出现loss是nan的问题排查
  9. 测试用例之黑盒测试方法
  10. 教程系列 - 用模板快速上线一个HR 服务中心
  11. Python :文本数据挖掘并绘制词云图
  12. java subject类的作用_RxJava2 系列-3:使用 Subject
  13. 1741. Communication Fiend(dp)
  14. Android 360度全景照片展示
  15. 计算机视觉(ComputerVision, CV)相关领域的网站链接
  16. authorization权限控制_授权(Authorization)
  17. sql同一张表统计数据生成多个统计列
  18. 刷脸支付是顺应时代和科技发展趋势的创新
  19. 洗料系列-杂谈篇-麻将自动化---第一章、麻将基础入门
  20. 思科-ASA-OSPF-ACL--ARP综合网络搭建

热门文章

  1. QML_滑块Slider
  2. 牛客网刷题-合并两个有序数组
  3. ActiveMQ 原理分析—消息持久化篇
  4. 什么是拷贝构造函数?拷贝构造函数何时被调用
  5. 用VsCode打开文件或文件夹
  6. 【求助】Windows安全中心弹窗如何关闭
  7. Linux中soft nproc 、soft nofile和hard nproc以及hard nofile配置
  8. kafka sasl java_使用SASL_PLAINTEXT进行Kafka用户身份验证
  9. fastboot工具使用说明-海思hi3531文档 《Fastboot工具使用说明 Application Notes》补充
  10. google-web浏览器域名和公网ip下服务 无法访问局域网ip服务