AB实验的统计学内核(五):样本同质性、选择偏差与SRM

在之前的章节中,我们讨论了正态分布和中心极限定理,那是解决"怎么算 P 值"的问题。

但在工业界实战中,毁掉一个实验的往往不是 P 值算错了,而是数据源头就错了

你以为你写了一行 hash(uid) % 2,实验组和对照组就天生平等了吗?

你以为配置了 50% vs 50% 的流量,回收的数据就一定是这个比例吗?

今天我们要聊的是 AB 实验的物理根基------随机化 (Randomization) ,以及当这个根基出现裂痕时,那个最可怕的幽灵------SRM (Sample Ratio Mismatch)


1. 为什么我们需要随机化?------寻找平行宇宙

做 AB 实验的终极目标是因果推断 (Causal Inference)

我们想知道:"如果用户 A 没有用这个策略,他的表现会怎样?"

这是一个反事实 (Counterfactual) 问题。现实中我们无法把用户 A 劈成两半,一半去 A 组,一半去 B 组。

所以,我们退而求其次,试图构建两个平行宇宙

  • 宇宙 A (实验组):一群用户接受策略。
  • 宇宙 B (对照组):另一群用户不接受策略。

### 核心概念:同质性 (Homogeneity) 为了让宇宙 B 能完美代表"没接受策略时的宇宙 A",这两个组必须满足**同质性**(学术上称为 **Covariate Balance**)。

这意味着:除了策略 (Treatment) 不同,A 组和 B 组在其他所有特征上必须是分布一致的。

  • A 组有 30% 的 iOS 用户,B 组也得有 30%。
  • A 组平均活跃度是 50,B 组也得是 50。
  • A 组有多少"早起的鸟儿",B 组也得有多少。

随机化 (Randomization) 是上帝赐予我们打破混淆变量 (Confounders) 的唯一物理手段。它保证了在样本量足够大时,所有已知的(如机型)和未知的(如用户心情)特征,在两组间自动平衡。


2. 当随机失效时:选择偏差 (Selection Bias)

如果同质性被破坏,实验结果就是垃圾。这就是选择偏差

经典案例:早起的鸟儿

假设你的分流算法写的有问题,跟时间戳耦合了:

  • 早上 8:00 - 12:00 来的用户更容易分到 A 组。
  • 晚上 20:00 - 24:00 来的用户更容易分到 B 组。

结果 A 组转化率大涨。
是策略有效吗? 不一定。可能是因为早上来的用户本身就是"高意向用户"(早起抢购),而晚上来的都是"闲逛党"。

在这里,"进入时间"成了一个混淆变量,它既影响了分组,又影响了转化率。你的策略效果被偏差 (Bias) 污染了。


3. 工业界最大杀手:SRM (Sample Ratio Mismatch)

在教科书里,随机化通常是完美的。但在复杂的分布式系统中,随机化极其脆弱。

最典型的症状就是 SRM

3.1 什么是 SRM?

  • 预期 :你配置的分流比例是 50:50
  • 实际 :实验跑完,你统计样本量发现是 40:60

很多新手会觉得:"哎呀,可能是随机波动吧,或者 A 组人少点也没事,反正算的是人均值 (Mean)。"
大错特错。

3.2 为什么 SRM 意味着实验报废?

SRM 几乎总是意味着非随机的样本丢失 (Non-random Attrition) ,也就是幸存者偏差

恐怖故事:Crash 的 A 组

  • 策略:A 组上线了一个高清视频功能。
  • Bug:这个功能在低端安卓机上会导致 App 闪退 (Crash)。
  • 现象
    1. 低端安卓用户分到了 A 组。
    2. App 启动 -> 触发实验 -> 闪退
    3. 关键点:因为闪退了,埋点日志没有发送成功,或者根本没来得及上报曝光。
    4. 结果:A 组的数据里,低端用户"消失"了。A 组剩下的全是高端机用户(幸存者)。
  • 数据表现
    • 样本量:A 组比 B 组少了 10% (SRM 出现)。
    • 人均时长:A 组暴涨(因为剩下的都是高端用户)。
    • 结论:你以为策略大获全胜,实际上你刚刚制造了一个重大事故。

3.3 为什么"加权修复"救不了?

有人问:"既然 A 组少了低端用户,那我给 A 组现有的低端用户加权 (IPW, Inverse Probability Weighting) 不行吗?"

不行。

因为你丢失的数据是 MNAR (Missing Not At Random)

你丢失的不是随机的低端用户,而是**"由于使用了你的策略而崩溃"**的那批特定用户。这部分信息永久丢失了,任何数学补救都是自欺欺人。


4. 检测手段:卡方检验 (Chi-Square Test)

在看任何业务指标(GMV、转化率)之前,第一眼必须看样本量比例。这是实验的"看门狗"。

我们要检验的是:实际观察到的样本分布 (OOO) 与理论预期分布 (EEE) 是否存在显著差异?

核心公式

χ2=∑(Oi−Ei)2Ei \chi^2 = \sum \frac{(O_i - E_i)^2}{E_i} χ2=∑Ei(Oi−Ei)2

  • OiO_iOi (Observed):实际观测到的 A/B 组样本量。
  • EiE_iEi (Expected):理论上应该有的样本量(总样本量 ×\times× 配置比例)。

判罚标准

  • 计算出的 P 值 (P-value of Chi-Square)。
  • 铁律 :如果 P<0.001P < 0.001P<0.001 (极度显著),说明样本比例严重失调。
    • 动作立刻停止实验。不要看任何业务指标(看了也是错的)。
    • 归因:排查分流服务 Bug、客户端日志上报丢失、策略引起的崩溃或阻断。

总结

  1. 随机化是因果推断的灵魂:它确保了 A/B 两组互为"平行宇宙"。
  2. SRM 是矿井里的金丝雀:一旦样本比例不对(SRM),往往预示着严重的系统性偏差(如 Crash、性能问题)。
  3. 先看比例,再看指标 :如果样本量本身都不平,后续所有的 T 检验、P 值、置信区间统统作废。不要试图在错误的样本上通过数学技巧找回真理。

如果这篇文章帮你理清了思路,不妨点个关注。我会持续分享 AB 实验、因果推断的硬核实战笔记,拒绝水文,只讲干货。

相关推荐
木非哲8 小时前
AB实验的统计学内核(六):最小样本量与MDE的博弈
概率论·abtest
木非哲1 天前
AB实验的统计学内核(一):容易混淆的各种“误差”
概率论·abtest
木非哲1 天前
AB实验的统计学内核(三):一类错误与二类错误的生死结
概率论·abtest
木非哲1 天前
AB实验的统计学内核(二):从P值、置信区间到T检验的工业级解构
概率论·abtest
星火开发设计2 天前
从公式到应用:卷积公式全面解析与实战指南
学习·算法·机器学习·概率论·知识·期末考试·卷积公式
张祥6422889044 天前
误差理论与测量平差基础笔记三
概率论
张祥6422889044 天前
误差理论与测量平差基础四
人工智能·机器学习·概率论
万行5 天前
机器学习&第三章
人工智能·python·机器学习·数学建模·概率论
AI科技星5 天前
光速飞行器动力学方程的第一性原理推导、验证与范式革命
数据结构·人工智能·线性代数·算法·机器学习·概率论