2. 实验设计基础:假设检验、显著性水平、统计功效与样本量计算
在启动模型 A/B 测试之前,必须建立严谨的实验设计框架。本章聚焦于假设检验的数学基础、显著性水平与统计功效的权衡,以及样本量计算的核心公式。这些概念是后续 SQL 数据准备与结果判定的理论基石。
2.1 假设检验:原假设与备择假设
假设检验是 A/B 测试的决策引擎。每次实验都涉及两个互斥的统计假设:
| 假设类型 | 符号 | 含义 | A/B 测试中的典型表述 |
|---|---|---|---|
| 原假设(零假设) | H₀ | 无差异、无效果、无变化 | 新模型与旧模型的转化率相同(μ新 = μ旧) |
| 备择假设(对立假设) | H₁ 或 Hₐ | 存在差异、有效果、有变化 | 新模型的转化率高于旧模型(μ新 > μ旧) |
关键原则:原假设是“保守”立场,除非数据提供充分证据,否则不轻易拒绝。A/B 测试的目标就是收集数据,判断是否有足够统计证据推翻 H₀。
2.2 显著性水平 α:控制第一类错误
显著性水平 α 是拒绝原假设时犯第一类错误(假阳性)的概率——即实际无差异,但误判为有差异。α 通常设定为 0.05 或 0.01。
- α = 0.05:每进行 20 次无差异的实验,平均会有 1 次错误地宣称有效果。
- α 越小,结论越保守,但需要更大的样本量才能检测到真实效果。
- 常见误区:α 不是“模型有效的概率”,而是“原假设为真时拒绝它的概率”。
行业惯例:大多数模型 A/B 测试采用 α = 0.05(双侧)或 α = 0.025(单侧)。在风险较高的场景(如金融风控模型),建议使用 α = 0.01。
2.3 统计功效(Power):控制第二类错误
统计功效 = 1 - β,其中 β 是第二类错误(假阴性)的概率——即实际存在差异,但未能检测出来。功效衡量实验发现真实效果的能力。
| 错误类型 | 通俗名称 | 概率 | 后果 |
|---|---|---|---|
| 第一类错误(Type I) | 假阳性 | α | 错误上线无效模型,浪费资源 |
| 第二类错误(Type II) | 假阴性 | β | 错过真正有效的模型,失去业务增益 |
统计功效的典型目标值为 0.80(β = 0.20)或 0.90(β = 0.10)。功效越高,实验所需的样本量越大。
常见陷阱:样本量不足时,即使模型真实效果显著,实验也可能因功效过低而得出“无显著差异”的错误结论。务必在实验前完成功效分析。
2.4 假设检验与错误类型关系图
下图展示了假设检验的四种可能结果,以及 α 与 β 在决策空间中的位置:
2.5 样本量计算:核心公式与影响因素
样本量计算是实验设计的关键步骤。对于两样本比例检验(最常见的 A/B 测试场景),样本量公式为:
n = ( (Z_α/2 + Z_β)² × (p₁(1-p₁) + p₂(1-p₂)) ) / (p₂ - p₁)²
其中:
- n:每组所需样本量
- Z_α/2:对应显著性水平 α 的双侧 Z 值(α=0.05 时 Z=1.96)
- Z_β:对应功效 1-β 的 Z 值(功效=0.80 时 Z=0.84)
- p₁:对照组基准转化率
- p₂:实验组预期转化率
- p₂ - p₁:最小可检测效果(MDE,Minimum Detectable Effect)
样本量计算三要素:
- 显著性水平 α:α 越小,所需样本越大。
- 统计功效 1-β:功效越高,所需样本越大。
- 最小可检测效果 MDE:效果越小,所需样本越大(呈平方反比关系)。
2.6 样本量计算流程与参数关系
下图展示了样本量计算的核心流程,以及各参数之间的权衡关系:
2.7 实际案例:SQL 中的样本量估算
在 SQL 环境中,我们可以通过查询历史数据来估算基准转化率,进而代入样本量公式。以下示例基于用户行为表计算对照组基准率:
-- 计算历史基准转化率(用于样本量估算)
WITH historical_data AS (
SELECT
COUNT(DISTINCT user_id) AS total_users,
SUM(CASE WHEN converted = 1 THEN 1 ELSE 0 END) AS converted_users
FROM user_behavior
WHERE experiment_date BETWEEN '2024-01-01' AND '2024-03-31'
)
SELECT
total_users,
converted_users,
ROUND(converted_users * 1.0 / total_users, 4) AS baseline_rate
FROM historical_data;
实操建议:
- 使用历史数据估算基准率时,确保时间窗口足够长(至少 1-3 个月)以消除季节性波动。
- MDE 通常设定为基准率的 5%-20%,具体取决于业务预期提升幅度。
- 在 SQL 中实现完整样本量计算时,建议使用 Python 或 R 的统计库,或预先计算好 Z 值查表。
2.8 常见误区与避坑指南
| 误区 | 正确理解 |
|---|---|
| α = 0.05 意味着模型有 95% 概率有效 | α 是原假设为真时拒绝它的概率,不是模型有效的后验概率 |
| 功效越高越好,直接设 0.99 | 功效过高会导致样本量需求激增,需在成本和精度间平衡 |
| 样本量越大越好,无需提前计算 | 样本量过大会浪费资源,且可能检测到统计显著但业务无意义的微小差异 |
| MDE 可以事后根据结果调整 | MDE 必须在实验前设定,事后调整会导致 p-hacking 和数据窥探偏差 |
核心原则:实验设计阶段的假设检验参数(α、功效、MDE)必须在数据收集前确定并记录在实验文档中。任何事后修改都需要重新计算样本量并重启实验,否则结论不可信。