2、AB测试统计学原理:假设检验基础、P值与显著性水平、第一类与第二类错误、统计功效

好,咱们进入AB测试最核心的部分——统计学原理。

说实话,很多做推荐系统的同学,算法调得飞起,模型精度涨了2个点,一上AB测试就翻车。为什么?因为不懂统计学。我见过太多人,看到P值小于0.05就欢呼“显著了”,结果上线后指标暴跌。嗯,这坑我踩过,今天咱们把它填平。

2.1 假设检验:你在跟谁较劲?

AB测试的本质,就是做一次假设检验。

你想想看,我们上线一个新推荐策略,心里其实有两个想法:

  • 原假设(H₀):新策略没效果,跟老策略一样烂(或者一样好)。
  • 备择假设(H₁):新策略有效果,比老策略强。

我们做实验,就是想找证据推翻H₀,证明H₁成立。这就像法庭审判——假设被告无罪(H₀),你要拿出足够证据才能判他有罪(H₁)。

核心要点:假设检验不是证明“新策略有效”,而是证明“旧策略无效”这个说法站不住脚。

我个人习惯,在项目开始前先写清楚H₀和H₁。别嫌麻烦,这一步能帮你理清思路。我曾经有个项目,团队争论了半天“到底什么算有效”,最后发现大家连H₀都没统一。

2.2 P值与显著性水平:0.05不是圣旨

P值是什么?说白了就是:在原假设为真的前提下,观察到当前结果(或更极端结果)的概率

举个例子。你抛一枚硬币10次,假设硬币是均匀的(H₀)。结果你抛出了9次正面。这个概率有多大?P值就是算这个。如果P值很小,说明“硬币均匀”这个假设不太靠谱,你就有理由怀疑它。

那多小算小?这就引出了显著性水平α

通常我们取α=0.05。意思是:如果P值小于0.05,我们就拒绝H₀,认为结果显著。

⚠️ 避坑指南:我曾经犯过一个错——看到P=0.049就欢呼,看到P=0.051就叹气。其实0.049和0.051差别不大,但很多人把它当成了“生死线”。记住,α只是一个阈值,不是真理。你设0.05还是0.01,取决于你对错误的容忍度。

为什么是0.05?这是统计学祖师爷Fisher定的。他当时觉得“1/20的概率挺小的”,于是就成了行业惯例。但如果你做的是医疗实验,人命关天,α可能得设到0.001。推荐系统里,我建议根据业务影响来定——影响面大的实验,α设严一点。

2.3 第一类与第二类错误:你永远在犯错

做假设检验,你不可能100%正确。错误分两种:

真实情况 我们拒绝H₀ 我们接受H₀
H₀为真(新策略无效) 第一类错误(α)
假阳性,误报
正确
H₁为真(新策略有效) 正确 第二类错误(β)
假阴性,漏报

第一类错误,就是你把一个没效果的策略当成了宝贝,上线后用户骂娘。第二类错误,是你把一个好策略给否了,错失增长机会。

你想想看,这两类错误是此消彼长的。你把α从0.05降到0.01,第一类错误少了,但β会变大,更容易漏掉好策略。怎么平衡?看业务。

💡 我的经验:在推荐系统里,我通常更怕第一类错误。因为上线一个坏策略,用户流失了很难挽回。而漏掉一个好策略,大不了下次再试。所以我会把α设得严一些,比如0.01。

2.4 统计功效:你的实验够“敏感”吗?

统计功效 = 1 - β。它表示:当新策略真的有效时,你能正确发现它的概率

说白了,就是你的实验“灵敏度”。功效越高,越不容易漏掉好策略。

影响统计功效的因素有四个:

  1. 样本量:样本越多,功效越高。这最直观。
  2. 效应量:新策略提升越大,越容易被检测到。
  3. 显著性水平α:α越小,功效越低(因为更难拒绝H₀)。
  4. 数据波动性:方差越小,功效越高。

我建议,做AB测试前先算一下功效。一般要求功效达到80%以上。如果达不到,要么加大样本量,要么延长实验时间。

实用公式:估算所需样本量(简化版)

n = (Z_α/2 + Z_β)² × 2σ² / δ²

其中:

  • Z_α/2:对应显著性水平的Z值(α=0.05时取1.96)
  • Z_β:对应功效的Z值(功效80%时取0.84)
  • σ²:指标方差
  • δ:最小可检测效应量

举个例子。假设你的CTR方差是0.01,你想检测0.5%的提升(δ=0.005),α=0.05,功效80%。代入公式:

n = (1.96 + 0.84)² × 2 × 0.01 / 0.005²
  = 7.84 × 0.02 / 0.000025
  = 6272

每组需要约6272个样本。如果每天只有1000用户,那就得跑6天以上。

⚠️ 我曾经踩过的坑:有个项目,我算出来需要跑两周,但老板说“先跑三天看看”。结果三天后P=0.08,不显著。我坚持继续跑,两周后P=0.003,显著了。为什么?因为样本量不够,功效太低,好策略被埋没了。所以,别急着看结果,先算好样本量。

2.5 总结:AB测试统计学的“三板斧”

好了,咱们捋一下:

  • 假设检验:明确H₀和H₁,别稀里糊涂就开始跑实验。
  • P值与α:P值不是真理,α不是圣旨。结合业务场景定阈值。
  • 两类错误:α和β是跷跷板,根据风险偏好做取舍。
  • 统计功效:实验前算样本量,别等跑完了才发现功效不够。

我个人习惯,每次上线AB测试前,都会写一份“实验设计文档”,把H₀、H₁、α、功效、所需样本量全列清楚。这看起来麻烦,但能省掉后面无数的扯皮。

下一章,咱们聊聊AB测试的实战流程——从分流到分析,每一步都有坑。你准备好了吗?