跳过正文

AB测试系列 - AB测试里的统计学 PART 2

·2670 字·
AB测试 统计 数据分析
EZ
作者
EZ
Take it EZ!
目录
AB-Testing - 这篇文章属于一个选集。
§ 4: 本文

AB测试里的统计学 PART 2
#

统计学在A/B测试中至关重要,它提供了评估测试结果可信度、确定显著性、计算样本量以及分析和解释数据的方法,从而帮助决策者做出基于数据的明智决策。本文将聚焦于出现在A/B测试中的统计学,为科学的实验过程,可靠的实验结论打下基础。


1. 样本大小计算
#

这里的样本计算出来是每组最少需要的样本量。如果比较两组,那么需要的最少样本量就是 \(N = 2 \times n\)。

1.1 公式计算
#

$$ 双尾实验:n = (Z_{1-\frac{\alpha}{2}} + Z_{1-\beta})^2 \frac{\sigma^2_{pooled}}{\triangle^2} $$

$$ 单尾实验:n = (Z_{1-\alpha} + Z_{1-\beta})^2 \frac{\sigma^2_{pooled}}{\triangle^2} $$

其中:

  • 一般情况下会使用双尾实验

  • \(Z_{1-\frac{0.05}{2}} = 1.96\), \(Z_{1-0.2} = 0.84\) (\(\alpha = 0.05,\beta=0.2\) )

  • pooled 的意思是两个 variance 相加,\(\sigma^2_{pooled} = \sigma^2_B + \sigma^2_A\)

  • 均值类:\(\triangle^2 = (\bar{X}_B-\bar{X}_A)^2\);比率类:\(\triangle^2 = (\hat{P}_B-\hat{P}_A)^2\)

  • Estimate of variance:

    比率类(Proportion) 均值类(Mean)
    one-sample \(\sigma^2 = P(1-P)\) \(S^2=\frac{\sum{(x_i-\bar{X})^2}}{n-1}\)
    two-sample \(\sigma^2_{pooled} = P_B(1-P_B)+P_A(1-P_A)\) \(S^2_{pooled} = 2*S^2_A\)
    • n-1: unbiased estimation of the variance
    • \(2*S^2_A\) 是因为在开始实验前,并不知道实验组的 variance
  • 例子:

    • 已知 \(MDE = 10 \% \), \(\bar{X}_A=10\), \(\sigma^2_A=20\), 求最小样本大小是多少?
    • 假设\(\alpha = 0.05, \beta = 0.2\)
    • \(\bar{X}_B=\bar{X}_A \times (1 + MDE/100) = 10(1+0.1) = 11\)
    • \(n = (1.96+0.84)^2\times \frac{2\times 20}{(11-10)^2} \approx 314\)
    • 由此可推算出一组最少需要314个样本,两组则最少需要618个样本。
\(\alpha\) \(Z_{1-\frac{\alpha}{2}}\) \(Z_{1-\alpha}\) · \(1-\beta\) \(Z_{1-\beta}\)
0.01 2.58 2.33 · 0.8 0.84
0.025 2.24 1.96 · 0.9 1.28
0.05 1.96 1.64 · 0.95 1.64
0.10 1.64 1.28 · 0.99 2.33

1.2 简化版公式
#

$$ n \approx 16 \times \frac{\sigma_A^2}{\triangle^2} $$

其中:\(16 \approx (Z_{1-\frac{\alpha}{2}} + Z_{1-\beta})^2 \times 2\), (当 \(\alpha=0.05\) & \(\beta=0.2\)时)

1.3 在线计算器
#

可以通过在线计算器,计算出最小样本的大小 https://www.evanmiller.org/ab-testing/sample-size.html

相关参数的解释:

  • Baseline conversion rate:对照组的次日留存率、点击率、渗透率等等比例值;
  • MDE可以参考 上篇文章
  • Power 和 \(\alpha\) 大部分情况会分别设置为:\(80\%\) 和 \(5\%\)

2. 实验时间计算
#

$$ 实验时间 = \frac{N}{每天总流量 \times 划分给实验的流量占比(\%)} $$

  • 其中N=所有组的样本大小总和
  • 如何选择我们需要观察的用户?
    • 比如我们观察的指标是每天级别的,第一天选中了用户A,第一天观察完后,接下来就不能再观察A了
    • 第二天需重新选择用户,并且要把第一天的排除掉
    • 以此类推,以满足样本的独立性
  • 时间不能短于7天,要包含工作日和周末
  • 考虑到时间成本,也最好不要长于两周,除非流量太小了
  • 最好控制在1-2周,这是比较常见的时间范围去做AB测试

3. 其他相关的统计知识点
#

3.1 验证数据的正态分布
#

  1. 直方图:查看直方图是否形成一个钟形的曲线

  2. Q-Q图:判断点和线是否在同一条线上

  3. 相关的统计检验方法:

    1. Shapiro-Wilk
    2. Kolmogorov-Smirnov
    • 这两个实验的原假设:数据集是来自于正态分布,备择假设:数据集不来自于正太分布
    • 如果P-value小于\(\alpha\),则拒绝原假设认为它大概率不是正态分布;但是如果P-value大于\(\alpha\),则不能拒绝原假设,并结合其他的办法去判断数据是否是正态分布。
  4. 其他描述性统计方法:

    • 正太分布有两个特性:
      1. 均值 = 中位数 = 众数
      2. ‘68-95-99.7规则’ 或者叫 ‘三\(\sigma\)原则’
        • 68%的数据落在平均值加减一个标准差内
        • 95%的数据落在平均值加减两个标准差内
        • 99.7%的数据落在平均值加减三个标准差内

    可以通过这个方法做一个初步的判断

3.2 盒须图(Box Plot)
#

  • 盒子中间的线是中位数,盒子的底部和顶部分别是25%分位和75%分位,晶须底部和顶部分别是最小值和最大值
  • 盒须图可以帮助我们理解数据的范围和分布情况,并且在比较不同组之间的数据时提供了一些参考
  • 盒须快照: 指在某个特定时间点或条件下画出盒须图。
    • 中位数:比较每组数据的集中程度
    • 四分位数:比较每组的分散程度
    • 盒须范围(Interquartile Range,IQR):即Q3 和 Q1 之间的距离。IQR 提供了数据集中 50% 观察值的范围,是衡量数据分布的一个重要指标。
    • 最大值和最小值:了解每组数据的整体范围
    • 异常值:出现的一些极端情况或者异常情况,需要进一步关注和分析

3.3 二项分布
#

  • 单个的二元事件(Binary Event)是伯努利分布,多个伯努利分布就服从二项分布(Binomial Distribution)
  • 正态近似:
    • 对任何p值,如果p值不变而n(试验次数,或样本容量)增大,得到的均值为np和方差为npq的二项分布在形状上越来越近似一个的正态分布。
    • 根据统计学的经验:当np或者nq大于等于5时,才可以使用二项分布的正态近似。更严格一点就是np>5且nq>5。(想要p接近0.5,或者n越大)

3.4 中心极限定理
#

对于独立同样分布随机变量,即使原始变量本身不是正态分布,随着样本量的增加,标准化样本均值的抽样分布也会趋向于标准正态分布.

  • 在样本量足够大的前提下并满足前提条件时,变量的均值分布会趋向于正态分布,而与该变量所在总体的分布无关。
  • 在AB实验中,我们的样本量通常会大于30,当满足独立、来源于同一个分布、以及随机性时,可以通过样本符合正态分布来进行统计学检验。

3.5 大数定理
#

样本数量越多,样本均值会越来越接近总体均值;样本数量越多,样本计算出的频率会越来越接近事件发生的概率。

  1. 伯努利大数定理:从定义概率的角度,揭示了概率与频率的关系,当N很大的时候,事件A发生的概率等于A发生的频率
  2. 辛钦大数定理:揭示了算术平均值和数学期望的关系
  3. 切比雪夫大数定律:揭示了样本均值和真实期望的关系

3.6 辛普森悖论
#

几组不同的数据中均存在一种趋势,但当这些数据组合在一起后,这种趋势消失或反转。

其产生的原因主要是数据中存在多个变量。这些变量通常难以识别,被称为“潜伏变量”。潜伏变量可能是由于采样错误造成的。

辛普森悖论是一个统计学中的悖论,描述了一个看似矛盾的现象:在对数据进行分组分析时,观察到的总体趋势与分组后趋势相反或者完全不同

例子:

某大学由两个学院组成。1号学院的男生录取率是75%,女生录取率49%,男生录取率高于女生;2号学院男生录取率10%,女生录取率5%,男生录取率同样高于女生。问:综合两个学院来看,这所大学的总体录取率是否男生高于女生?

从上表可以看出,尽管两个学院男生录取率都高于女生,但综合考虑两个学院的情况时,男生的总体录取率却要低于女生。这种现象在统计学中被称为辛普森悖论。在A/B实验中,如果实验组和对照组的样本流量分布不一致,就可能产生辛普森悖论,得到不可靠的实验结果。

常见的错误分流:

  • 实验中,在不同的渠道/应用市场中,发布不同版本的APP/页面,并把用户数据进行对比;
  • 简单地从总体流量中抽取n%用于实验,不考虑流量分布,不做分流处理(例如:简单地从总体流量中任意取出n%,按照ID尾号单双号把用户分成两组)。

参考资料
#

AB-Testing - 这篇文章属于一个选集。
§ 4: 本文

相关文章

AB测试系列 - AB测试里的统计学 PART 1
·3793 字
AB测试 统计 数据分析
本文主要讨论在AB测试中遇到的统计学知识点,主要包括:效应大小、MDE、置信区间、假设检验等等。
AB测试系列 - 理清业务问题
·3940 字
AB测试 统计 数据分析
在做AB测试前,我们必须要理清业务相关的问题。这方面会涉及到公司层面、产品层面、功能层面等相关重要的内容及指标,本文会对这方面做出详细的介绍。
AB测试系列 - 如何提升测试的可靠性
·4400 字
AB测试 统计 数据分析
本文主要讨论如何去确保AB测试的有效性,简单地开启AB测试无法保证其实验结果是否有效,需要结合具体的业务场景及一些科学的方法进行验证。
SQL系列 - 查询语句
··3747 字
SQL 数据库 数据分析
本文主要描述如何对 SQL 里的数据进行查询。
SQL系列 - 操作语句(增、删、改)
·1373 字
SQL 数据库 数据分析
本文主要描述如何对 SQL 里的数据进行操作,例如:增加数据、删除数据、修改数据等等。
SQL系列 - 创建数据库与数据表
·2896 字
SQL 数据库 数据分析
本文主要描述如何创建数据库、数据表、以及相关的约束和数据类型。