一句话定义:多重比较校正(multiple comparison correction)是指当你一次性做了很多次统计检验时,对“显著性”的门槛做相应收紧,避免把运气当成结论的方法。最常见的两种口味:Bonferroni 校正和 FDR(false discovery rate,错误发现率)。
为什么需要它:设想 50 个人各抛一次硬币,几乎必然有人抛出正面。如果这时你向他道贺“你的抛硬币技术最强”,显然很荒唐——但同样的错误,在模型横评里每天都在发生。
每次检验都设 5% 的显著水平,等于允许 5% 的“纯运气事件”被当成真发现。做 50 次互相独立的比较,至少出现一次误报的概率是 1 − 0.95⁵⁰ ≈ 92%。也就是说,“50 个模型里 A 比 B 高一点点”这种结论,如果不做校正,基本就是抛硬币大赛的冠军。
Bonferroni 的做法:把每个检验的门槛除以比较次数。做 50 次比较,原本 0.05 的门槛就变成 0.001。它控制的是“家族错误率”(FWER),即“至少犯一次误报”的概率。优点是简单、直观、结论硬;代价是过于保守,本来真实存在的小差距会被一刀切掉,尤其在模型之间咬得很紧的时候。
FDR 的做法:不再要求一次都不误报,而是把“被判为显著的发现里,假货所占比例”控制在某个水平(比如 5%)。常见流程是先把 p 值排序,再逐个与 (i/m)·q 比较(具体公式和实现以官方文档或原始论文为准)。门槛更宽松,因此在探索阶段——几十个模型大混战、只想先捞出“值得深看”的候选——往往比 Bonferroni 更好用。
| 维度 | Bonferroni | FDR |
|---|---|---|
| 控制目标 | 至少一次误报的概率(FWER) | 误报在所有发现中的占比 |
| 严格程度 | 很保守 | 相对宽松 |
| 适合场景 | 结论要拍板、错了代价大 | 海量候选里做筛选 |
| 主要代价 | 真差异容易被漏掉 | 允许少量假阳性进入名单 |
和相邻概念的区别:多重比较校正修的是“做了很多次检验”带来的统计错觉;而重复实验、换随机种子、交叉验证修的是“单次结果方差太大”。两者都要做,才算真正把运气按在地上。
实际意义:对 AI 从业者来说,横评模型、做消融实验、扫超参、比较多个 prompt 变体,全是典型的多重比较场景。写报告时至少交代清楚:一共比了多少组、有没有校正、用的哪种方法。对普通职场人,看到“某产品在 20 项指标中 15 项领先”这类宣传,也可以先问一句:这些指标是各自独立算分的吗,赢的那几项会不会本来就是抛硬币抛出来的?
校正不会让弱模型变强,它只是让“看起来赢了”的证据,配得上它真正的分量。
