统计百科 ·
Bonferroni 还是 FDR?多重比较校正怎么选与 APA 报告
统计百科:系统对比 Bonferroni(控 FWER)与 Benjamini-Hochberg FDR(控错误发现率),从比较次数、样本量、研究类型三个维度给出选用决策框架,并附可直接套进论文的 APA 7th 规范报告句式与 ChatSRS 一句话获取结果的真实指令。
跑完 ANOVA 发现组间差异显著,做事后多重比较时却遇到选择难题:导师说用 Bonferroni,师兄说用 FDR,期刊要求是 Benjamini-Hochberg……它们究竟有什么区别?这篇文章从"你在控制什么错误"这个根本问题出发,帮你弄清两类方法的适用边界,给出决策框架,并提供可直接抄进论文的 APA 7th 报告句式。
一、为什么多重比较必须校正
多重比较膨胀了第一类错误
当你只做一次假设检验,误判概率 alpha = .05,意味着 100 次检验中平均有 5 次会把"本无差异"判为显著,这是可接受的。
但当你同时做 k 次独立检验,至少出现一次误判的概率急剧升高:
$P(\text{至少一次误判}) = 1 - (1 - \alpha)^k$
| 同时比较次数 k | 整体错误率(alpha = .05) |
|---|---|
| 1 | .050 |
| 5 | .226 |
| 10 | .401 |
| 20 | .642 |
| 50 | .923 |
做 20 次比较时,哪怕每次都用 p < .05,整体出现误判的概率已经超过 64%。这就是多重比较问题的核心。
两种错误控制目标
解决多重比较问题有两条根本不同的路:
| 控制目标 | 全称 | 代表方法 |
|---|---|---|
| FWER(家族误判率) | Family-Wise Error Rate | Bonferroni、Sidak、Holm |
| FDR(错误发现率) | False Discovery Rate | Benjamini-Hochberg、Benjamini-Yekutieli |
选哪条路,取决于你更不能忍受哪种错误。
二、Bonferroni 校正:控 FWER 的经典方法
原理
Bonferroni 是最直接的方案:把显著性标准除以比较次数 k,使整体 alpha 不超过目标水平。
$\alpha_{Bonferroni} = \frac{\alpha}{k}$
做 5 次比较,每次的检验标准变为 .05/5 = .010;做 20 次比较,标准变为 .05/20 = .0025。
只有调整后 p 值(校正后 p 值,常记为 p_adj 或 p_bonf = min(p × k, 1))低于 .05,才认为该比较显著。
保证了什么
Bonferroni 保证:在所有被检验的假设均为真(零假设均成立)时,至少出现一次误判的概率 <= alpha。这是最严格的 FWER 控制。
换句话说,如果你用 Bonferroni 在 alpha = .05 水平宣布某个比较显著,整体误判风险被严格压住了。
代价:保守性
严格带来代价——Bonferroni 非常保守:
- 比较次数 k 越大,每次比较的阈值越低,越难达到显著
- 在高维场景(k = 100、500、10000 次),Bonferroni 会把几乎所有真实效应都压到"不显著"
- 统计功效(Power)随 k 线性下降
Holm-Bonferroni(逐步 Bonferroni)是改进版:按 p 值从小到大排序后逐步调整,比普通 Bonferroni 功效略高但仍控 FWER,是许多教材推荐的替代方案。
三、FDR 校正:Benjamini-Hochberg 方法
换一个控制目标
FDR 的出发点是:大规模比较中,我们不可能把每次误判都消灭——允许一定比例的误判,但要控制这个比例。
$FDR = E\left[\frac{V}{R}\right] = E\left[\frac{\text{被错误拒绝的假设数}}{\text{总共被拒绝的假设数}}\right]$
- V = 被错误拒绝(误判为显著)的数量
- R = 所有被拒绝(判为显著)的数量
- FDR 是 V/R 的期望值
FDR = .05 意味着:在所有你宣布"显著"的结论中,预期有 5% 是误判。
Benjamini-Hochberg(BH)步骤
BH 方法(Benjamini & Hochberg, 1995)是最常用的 FDR 控制方案,步骤如下:
- 将 m 个检验的 p 值从小到大排序:p_(1) <= p_(2) <= ... <= p_(m)
- 找到最大的 k,满足 p_(k) <= (k/m) * q*(q* 为目标 FDR 水平,通常 .05)
- 拒绝所有 p_(i),i = 1, 2, ..., k
BH 方法在假设检验独立或正相关时,保证 FDR <= q*。
FDR 的优势
相比 Bonferroni,FDR 在 k 较大时功效更高,更多真实效应能被检出,适合探索性、大规模比较的研究场景。
四、决策框架:什么情况用哪种
核心问题:你更不能忍受哪种错误?
你的研究是"确认性"(confirmatory)还是"探索性"(exploratory)?
|
|-- 确认性(少数几个预设假设,每个错误代价极高)
| --> 用 Bonferroni / Holm-Bonferroni
|
|-- 探索性(大量比较,错误代价相对可接受,关注整体发现率)
--> 用 Benjamini-Hochberg (FDR)
三维决策矩阵
| 维度 | 选 Bonferroni / Holm | 选 FDR (BH) |
|---|---|---|
| 比较次数 k | k 较小(< 10-20) | k 较大(> 20,基因组/问卷多维度/神经影像) |
| 研究阶段 | 确认性研究、临床试验 | 探索性研究、发现阶段 |
| 单次误判代价 | 高(如安全性相关) | 相对可接受 |
| 假设间独立性 | 依赖结构未知或任意相关 | 假设间独立或正相关 |
| 期刊/领域惯例 | 心理学 ANOVA 事后比较 | 生物信息、神经科学、基因组学 |
常见场景建议
用 Bonferroni / Holm-Bonferroni:
- ANOVA 后 Tukey 补充校正(一般组数 <= 6)
- 同一实验中少量子组比较(k = 3-10)
- 临床疗效比较,误判代价高
- 心理学、教育学、社会学论文(审稿人期望 Bonferroni 或 Tukey)
用 FDR (Benjamini-Hochberg):
- 基因组学(同时比较数千个基因)
- 神经影像(大量体素级别检验)
- 问卷多量表多维度同时比较(k > 20)
- 探索性 EEG/fMRI 分析
- 机器学习特征选择后的统计校验
不建议:Bonferroni 用于 k > 50 的场景(功效损失过大,真实效应被大量压制);FDR 用于确认性临床研究(监管机构不认可)。
五、APA 7th 报告格式
Bonferroni 校正报告句式
单独陈述校正方法(方法章节):
采用 Bonferroni 方法对多重比较进行校正,
调整后显著性水平为 alpha_adj = .05/k = .XXX。
结果段落(含具体比较):
[整体 F 检验显著后] Bonferroni 校正后的成对比较显示,
[组 A](M = XX, SD = XX)显著[高于/低于][组 B](M = XX, SD = XX),
均值差 = X.XX(95% CI [XX, XX]),p_bonf = .XXX。
[组 C] 与 [组 D] 之间的差异经 Bonferroni 校正后未达显著,
p_bonf = .XXX(> .05)。
填入数值示例:
单因素方差分析显示,教学方法的主效应显著,F(3, 196) = 23.78,p < .001,partial eta^2 = .267。Bonferroni 校正后的成对比较(调整后 alpha = .0083)显示,项目式教学(M = 88.9,SD = 8.4)显著优于传统讲授(M = 76.4,SD = 8.2),均值差 = 12.5,p_bonf < .001;翻转课堂(M = 85.4,SD = 7.8)亦显著优于传统讲授,均值差 = 9.0,p_bonf < .001。项目式教学与翻转课堂之间的差异经 Bonferroni 校正后未达显著,p_bonf = .420。
FDR(Benjamini-Hochberg)报告句式
方法章节:
采用 Benjamini-Hochberg(1995)方法控制错误发现率(FDR),
目标 FDR 水平设为 q* = .05。
结果段落:
经 Benjamini-Hochberg FDR 校正后,[X] 项比较达到显著(p_adj < .05),
其中 [比较项目] 的校正后 p 值为 p_adj = .XXX。
[未达显著的比较] 在 FDR 校正后未达显著(p_adj = .XXX > .05)。
填入数值示例:
对 30 个量表维度间的差异同时进行 Benjamini-Hochberg FDR 校正(目标 FDR = .05)。校正后,共 18 项比较达到显著(p_adj < .05),其中焦虑维度(M = 3.42,SD = 0.87)与抑郁维度(M = 3.18,SD = 0.91)的差异最为突出,p_adj = .003;社交支持维度与幸福感维度差异的校正后 p 值为 p_adj = .041,亦达显著。其余 12 项比较在 FDR 校正后未达显著(p_adj 范围为 .063 至 .892)。
方法章节说明两种方法差异
当论文中同时使用或需要说明选择依据时:
对于 [预设的少量核心比较],采用 Bonferroni 方法控制家族误判率(FWER <= .05);
对于 [探索性的大量次级比较],采用 Benjamini-Hochberg 方法控制错误发现率(FDR <= .05),
以在保留统计功效的同时限制整体误判比例(Benjamini & Hochberg,1995)。
六、在 ChatSRS 一句话获取校正结果
打开 chatsrs.com,上传数据后输入:
"对以下 20 个组间均值比较进行多重检验校正:同时输出 Bonferroni 校正、Holm-Bonferroni 校正和 Benjamini-Hochberg FDR 校正(目标 q* = .05)的调整后 p 值,并标注哪些比较在各方法下显著;给出符合 APA 7th 格式的结果段落,说明各校正方法的控制目标差异。"
ChatSRS 会自动并排输出三种校正方案的 p_adj 值表格、显著性标注和可复制的 APA 报告段落,无需手动计算 p × k。
如果只需要 ANOVA 后的事后比较,可输入:
"对单因素 ANOVA 的事后比较采用 Bonferroni 校正,输出每对组间的调整后 p 值、均值差及 95% CI,并格式化为 APA 7th 报告段落。"
七、常见错误与注意事项
| 错误做法 | 正确做法 |
|---|---|
| Bonferroni 用于 k = 100 次比较 | 改用 FDR;Bonferroni 在大规模比较中功效接近零 |
| 报告"经校正后 p = .000" | 应写 p_bonf < .001 或 p_adj < .001 |
| FDR 校正后仍与 alpha = .05 比较未调整的 p 值 | 应与调整后 p_adj 比较,或用 BH 步骤判断 |
| 方法章节不说明用了哪种校正 | 必须写明方法名称(Bonferroni / Holm / BH)及目标水平 |
| 混用多种校正方法而不解释 | 如同时用需说明分别用于哪类比较及理由 |
| 把 Tukey HSD 和 Bonferroni 混为一谈 | Tukey 是 ANOVA 特定事后方法;Bonferroni 是通用 p 值调整方法 |
常见 FAQ
Q:Bonferroni 和 Holm-Bonferroni 有什么区别?实际用哪个?
A:两者都控制 FWER,但 Holm-Bonferroni 是逐步方法(按 p 值排序后依次调整),功效始终高于或等于普通 Bonferroni,且同样保证 FWER <= alpha。原则上 Holm-Bonferroni 严格优于普通 Bonferroni,APA 7th 和大多数统计教材都接受。唯一让普通 Bonferroni 仍被广泛使用的原因是"简单直观"——调整后 alpha = alpha/k,计算一目了然,向不熟悉逐步方法的读者解释更容易。若计算工具支持(如 R 中的 p.adjust(method = "holm")),建议优先用 Holm-Bonferroni。
Q:FDR = .05 意味着 5% 的显著结论是错误的,这可以接受吗?
A:在探索性研究中,这是明确的取舍:你接受 5% 误判率,换取更高功效发现真实效应。这在基因组学、神经影像等领域是标准做法。确认性研究(如 III 期临床试验)则不接受——此类研究通常要求 FWER 控制,有时甚至要求 alpha = .001。关键是:选用方法前明确研究目标,并在方法章节如实说明选择理由,审稿人关注的是逻辑自洽性。
Q:ANOVA 后用 Tukey HSD,还需要额外做 Bonferroni 校正吗?
A:不需要——Tukey HSD 本身已经控制了 FWER,是专为所有可能的成对比较设计的多重比较方法。Tukey HSD 的 q 统计量(Studentized Range)已经内置了校正,报告时只需说明"采用 Tukey HSD 事后多重比较"即可。在 Tukey HSD 之外再做 Bonferroni 会导致过度保守(double correction)。
Q:做了多个因变量的 MANOVA,需要对每个因变量的 ANOVA 做 Bonferroni 校正吗?
A:MANOVA 本身的设计目的之一就是控制多个因变量检验带来的 FWER 膨胀——整体 Wilks' lambda 检验已经联合处理了所有因变量。若 MANOVA 显著后再对每个因变量单独做 ANOVA(单变量后续检验),通常需要 Bonferroni 校正(用目标 alpha 除以因变量个数)。APA 7th 推荐在方法章节明确说明这一步的校正方式。
相关阅读
- APA 多重比较完整报告写法 — Tukey、Bonferroni、Games-Howell 模板
- F 值的 APA 7th 报告写法 — F(df1,df2)格式、效应量 eta 平方、报告模板全解
- 方差分析 ANOVA 完整教程 — 单因素/双因素/重复测量 AI 实操
- ANOVA APA 报告格式完整指南
本文首发于 ChatSRS 官方博客。如有问题或反馈,欢迎在 ChatSRS 站内 [用户中心 -> 帮助与反馈] 联系我们。