2. A/B测试基础:假设检验、控制变量法、随机化分组原理
A/B测试并非简单的“改版对比”,其背后是一套严谨的统计推断框架。在特征回放对比场景中,我们需要通过假设检验判断新特征是否显著优于旧版本,通过控制变量法隔离单一变量,通过随机化分组保证实验组与对照组在统计上等价。本节将拆解这三个核心支柱。
2.1 假设检验:从“感觉”到“证据”
假设检验是A/B测试的决策引擎。它帮助我们回答:观察到的指标差异,究竟是真实效果,还是随机波动?
- 原假设(H₀):新特征与旧版本效果无差异(μ新 = μ旧)。
- 备择假设(H₁):新特征效果显著优于旧版本(μ新 > μ旧,单侧)或存在差异(μ新 ≠ μ旧,双侧)。
- 显著性水平(α):通常设为0.05,表示允许犯“假阳性”错误的概率不超过5%。
- p值:在原假设为真的前提下,观察到当前结果(或更极端结果)的概率。若p < α,则拒绝H₀,认为差异显著。
特征回放场景提示: 在回放对比中,p值小于0.05并不代表“效果巨大”,只代表“效果不太可能是偶然”。务必结合效应量(如Cohen's d)评估实际业务价值。
下表总结了假设检验中的四种可能结果:
| 决策 \ 真实情况 | H₀为真(无差异) | H₁为真(有差异) |
|---|---|---|
| 接受H₀ | 正确(1-α) | 第二类错误(β) |
| 拒绝H₀ | 第一类错误(α) | 正确(1-β,即统计功效) |
2.2 控制变量法:隔离单一特征的影响
在特征回放对比中,控制变量法的核心原则是:一次只改变一个变量。实验组与对照组之间,除了被测试的特征(如推荐算法中的召回策略)不同外,其余所有条件(如用户画像、流量分配、数据管道、评估指标)必须完全一致。
常见的控制变量清单:
- 用户层面:同一时间段、同一地域、同一设备类型。
- 系统层面:相同的后端服务版本、相同的缓存策略、相同的特征工程流水线。
- 指标层面:相同的埋点定义、相同的计算口径、相同的聚合周期。
- 环境层面:避免在节假日、大促活动或系统故障期间进行对比实验。
常见陷阱: 若实验组使用了新的特征工程代码,而对照组仍沿用旧代码,但两组的数据清洗逻辑不同,这就引入了“混杂变量”。此时观察到的差异可能来自数据清洗,而非特征本身。
2.3 随机化分组原理:保证统计等价性
随机化分组是A/B测试的基石。其目标是将用户(或样本)随机分配到实验组和对照组,使得两组在实验开始前,在所有可观测和不可观测的特征上,分布都近似相同。
随机化分组的关键步骤:
- 确定随机化单元:在特征回放中,通常以“用户ID”或“设备ID”为单元,保证同一用户始终在同一组。
- 生成随机数:使用哈希函数(如MD5取模)或伪随机数生成器,将用户ID映射到组别。
- 分层随机化(可选):当某些特征(如新老用户、付费用户)对指标影响较大时,可先分层再随机,减少组间差异。
- 验证分组均衡性:实验开始前,检查两组在关键指标(如历史活跃天数、历史转化率)上的均值差异是否在可接受范围内。
下图展示了随机化分组的完整流程:
2.4 三者的协同关系
在特征回放对比中,三个基础概念并非孤立存在,而是形成一个闭环:
- 随机化分组 保证了实验组与对照组在实验前的统计等价性,为后续推断提供干净的起点。
- 控制变量法 确保了实验期间只有“特征”这一个变量在变化,排除了其他因素的干扰。
- 假设检验 在实验结束后,基于两组数据的差异,给出是否拒绝原假设的统计结论。
下图展示了三者如何协同工作:
核心记忆点: 没有随机化,分组就有偏;没有控制变量,结果就混杂;没有假设检验,结论就靠猜。三者构成A/B测试的“铁三角”。