关于前端:字节跳动AB实验背后的秘密样本量计算

3次阅读

共计 4212 个字符,预计需要花费 11 分钟才能阅读完成。

更多技术交换、求职机会,欢送关注字节跳动数据平台微信公众号,回复【1】进入官网交换群

一、前言

  • 背景:
    AB 试验具备肯定前瞻性,统计性,科学性的个性。用好了就实现了在大数据时代的充分利用数据分析问题,解决问题,为决策提供强有力的根据,然而有时候用户在应用 AB 试验时候,会呈现一些痛点和纳闷。
  • 痛点:

    • 每次试验须要多少流量
    • 试验工夫开多长没有概念
  • 解决问题:

    • 为了验证某一个性能个性,一个试验须要开多少流量。
    • 一个试验须要开多长时间

二、统计根底概念

1、钻研对象

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

2、动手点

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

3、统计量(工具)

常见统计量:
(1)样本均值反映出总体 X 数学冀望。

(2)样本方差方差
是各数据偏离平均值 差值的平方和 的平均数。反映的是总体 X 方差。

样本修改

得出

(3)样本均方差均方差就是标准差,标准差就是均方差。

对下面公式开平方。
(4)样本 K 阶矩

(5)样本 K 阶中心矩

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 测验

三、一个简略并残缺的 AB 试验例子

1、背景和设置

  • 背景:有个 web 利用,接入火山引擎的 AB 测试客户端 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)σ 为标准差,是数值波动性的掂量,σ 越大示意数值稳定越厉害。从而可知:试验两组数值差别 Δ 越大或者数值波动性 σ 越小,所须要的样本量就越小。其中很多同学可能对于「第一类谬误」和「第二类谬误」不是很分明。咱们来简略解释一下:
(1)第一类谬误:H0 为真,回绝 H0。“自身没晋升,但误判为有晋升”
(2)第二类谬误:H1 为真,承受 H0。“自身有晋升,但没有觉察晋升”

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、注册转换率 e1 为 50%,e2 为 60%2、假如最小标准值为 0.8 的冀望效用 3、显著性程度 α 为 0.05

因而。每组(对照组和实验组)的最小样本量为 385。两个版本的注册转换率权重不等的状况这种状况下,第一步,假如各组大小相等,计算总样本量;而后,能够依据两组理论比率 k 来调整此总样本量大小 N,而批改后的总样本大小 N ‘,能够通过上面公式来计算:

以上两组中,每个样本的样本大小别离为 N ‘/(1 + k)和 kN ‘/(1 + k)。小结假设两组的总体方差相等,在方差的计算形式上有区别,这类公式不举荐,因为该假如在 AB 试验利用中并不常见。

4、办法二:应用假设性测验

适用范围
假设性测验自身能够对单个总体参数或者两个总体参数进行。
假如的内容能够是双侧测验。比方参数是否等于某个值,还能够参数是否大于或者小于某个值。

具体检测和推算
原假如 H0:μ1=μ2
备择假如 H1:μ1≠μ2

结构统计量条件:两个样本间,互相独立,且样本量大。
咱们理论进行两总体均值差是否为 0 的双侧测验

理论计算中,总体方差能够用样本方差代替,原假如的背景下 u1 – u2 = 0,所以计算统计量 z,所须要的数据都能够根据样本失去。

计算原理
下图是概率密度曲线:
1、黄色是 AA 试验的均值差的散布,蓝色是 AB 试验(以指标晋升为例)的均值差的散布。
2、两个红箭头别离标示 -1.96指标标准差 +1.96指标标准差

power 即 蓝色曲线在红色(右)箭头右侧的面积,即显著试验的概率。
delta 是上图 蓝色的中轴地位,即 AB 试验(以指标晋升为例)的均值差的冀望。
其中很多同学可能「power」和「delta」不是很分明。咱们来简略解释一下:
power:统计效用,原假如为假,回绝愿假如的概率,等于(1 减第二类谬误的概率)。
delta:均值差的冀望。

具体推算
依据下面的概率密度曲线和 power 定义利用规范正态分布的散布函数能够计算 power,蕴含了 delta,指标方差,样本量;而后依据 power 公式反推每个版本的样本量。
效用(power):正确回绝原假如的概率,记作 1 -β, 即 power = 1- β(二类谬误)

公式:

其中:
σ 是标准差
Φ 是规范正态分布下某个 X 值对应的概率面积
α 是一类谬误概率,叫它 alpha
β 是二类谬误概率,1- β 是统计效用,叫它 beta

假设检验的效用受以下三个因素影响:
样本量 (n):其余条件放弃不变,样本量越大,效用就越大。
显著性程度 (α):其余条件放弃不变,显著性程度越低,效用就越小。
两总体之间的差别:其余条件放弃不变,总体参数的实在值和估计值之间的差别越大,效用就越大。也能够说,效应量(effect size)越大,效用就越大。

代入理论计算变量:
power = 1 – norm.cdf(norm.ppf(1 – α / 2) – np.sqrt(sample_per_version (delta 2) / 2 (metric_variance 2) ) )
其中:

  • cdf 累积散布函数,是概率密度函数的积分,能残缺形容一个实随机变量 X 的概率分布。
  • ppf 分位点函数
  • sample_per_version 样本每个版本样本量
  • metric_variance 指标方差
  • delta 均值的差

依据 power,反推出样本量:公式:

代入理论计算变量:
sample_per_version = 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 均值的差。

对上述公式做更简略的说,咱们只须要晓得如下值就能够计算样本量。
(1)心愿辨认的最小差别,相对差别(即 delta)还是绝对差别。
(2)指标方差,方差会依据指标值估算。
(3)alpha 默认是 5%(4)power 默认是 50%、80%、90%、99%、99.99% 能够应用火山引擎 AB 测试的流量样本倡议工具。

五、最初

其实样本量计算在不同的场景下有不同的计算形式,然而咱们针对于次要 AB 场景下针对能够科学计算置信度的指标,采纳的一种计算样本量,从而领导 AB 试验的流量应用多少和领导试验开启多久。

跳转火山引擎 A / B 测试 DataTester 官网理解详情!

正文完
 0