多重比较与选择偏差
层级:C|深入
1. 尝试越多,偶然“最好”越容易出现
同时检验 100 个无效特征、训练 500 个超参数组合或反复切数据,至少一个看起来显著/优秀的概率远大于单次错误率。选择过程必须算入不确定性。
2. Family-wise error rate
FWER 是一组检验中至少一个第一类错误概率:
为假拒绝数。若 个独立真原假设各用 :
时约 0.642,而非 0.05。
3. Bonferroni 与 Holm
Bonferroni:每项用 ,由 union bound 保证 FWER,无需独立,但可能保守。
Holm step-down:排序 p 值,从最小开始与 比较,控制 FWER 且不比 Bonferroni 差。
相关检验或特定结构还有 Hochberg、Westfall–Young 等。
4. False discovery rate
是拒绝总数。Benjamini–Hochberg(BH)在独立/某些正依赖条件下控制 FDR:排序 ,找最大 满足
拒绝前 项。FDR 适合大规模发现,不等同“每个被发现项有 概率错误”。
5. 置信区间与多重性
每个参数 95% 区间不保证所有区间同时 95% 覆盖。Bonferroni simultaneous interval 可用单项置信水平 ;回归曲线可用 confidence band。
只报告筛选后显著项的普通区间会过窄并远离零,称 winner's curse。
6. 模型/超参数选择偏差
在同一验证集比较 个模型,取最好者:
即使每个验证误差近似无偏,最小值因选择而向下偏。候选越多、验证噪声越大,偏差越强。
解决:独立测试集、嵌套 CV、减少无原则搜索、报告搜索空间与所有试验、重复评估。
7. 数据窥探与 researcher degrees of freedom
选择指标、子群、时间窗、异常规则、模型、特征、种子、停止时点中的任何一步若由结果驱动,都增加隐性多重性。只对最终 p 值做三项校正,无法修复未记录的数百次探索。
预注册、不可变实验配置、完整日志与 exploratory/confirmatory 分离能降低风险。
8. 特征筛选泄漏
先用全数据筛选与标签相关的特征,再做 CV,会让验证折标签影响特征集合。正确做法:在每个训练折内部重新执行所有监督筛选与预处理,再应用到该验证折。
无监督预处理如标准化也应在训练折拟合,以避免分布信息泄漏。
9. 排名与赢家诅咒
观测分数
选择最大 的对象通常同时有较大真实值和正噪声,所以后续复测会回落。体育、基金、模型榜单和特征效应都如此。
层级收缩、empirical Bayes 和独立复现可缓解。
10. 子群分析
大量人群切片必然发现某些极端差异。应:
- 预设关键子群;
- 考虑交互检验而非各组分别显著与否;
- 校正多重性;
- 保证每组样本与隐私;
- 独立复现;
- 避免把探索发现当因果结论。
“A 组显著、B 组不显著”不等于两组效果显著不同。
11. 早停与 checkpoint 选择
用验证集每 epoch 选最好 checkpoint 也是多次选择。通常必要,但最终泛化评估应在未参与早停的测试集。模型越大、训练越久、查看越频繁,验证集也可能被逐步过拟合。
12. 多随机种子
只报告最好种子是选择偏差。应预设种子数,报告均值、标准差/区间和配对差异;调参所用种子与最终评估种子应区分。对随机性大的方法,单次 seed 结论很脆弱。
易错点
- 单项 不控制一组实验 FWER。
- FDR 不是单个发现错误概率。
- 搜索后最佳验证分数有乐观偏差。
- 全数据特征筛选后 CV 是泄漏。
- “一组显著一组不显著”不证明组间差异。
常见问答
Q1:超参数优化是否需要 p 值校正?
通常不直接做经典 p 值校正,而用嵌套验证/独立测试估计完整选择流程;原理仍是把搜索纳入评估。
Q2:Bonferroni 太保守怎么办?
根据目标选 Holm、BH、置换 max-T、层级检验或预设主指标。不能因保守就完全忽略多重性。
Q3:公开榜单为何容易被过拟合?
参赛者反复根据榜单反馈修改,相当于对固定测试子集进行适应性查询,最终排名误差乐观。
练习
- 20 个独立真原假设各 0.05,FWER 约多少?
- Bonferroni 每项阈值是什么?
- FWER 与 FDR 区别?
- 嵌套 CV 外层和内层分别做什么?
- 为什么最好 seed 不能代表方法?
答案与提示
- 。
- 。
- 前者控至少一个假阳性,后者控发现中假发现比例的期望。
- 内层选模型/超参,外层评估整个选择流程。
- 它同时选择了有利随机噪声,产生 winner's curse。