为什么需要多重比较校正
每做一次 α = 0.05 的检验,即使总体中没有差异,也有 5% 的机会得到“显著”。4 个 Banner 列两两比较有 6 次;若把它们粗略看作相互独立,至少出现一次假阳性的概率约为 1 − 0.95^6 = 26.5%。5 列时有 10 次比较,这个概率约为 40.1%;8 列时有 28 次,约为 76.2%。
这个概率称为族错误率(familywise error rate,FWER)。Bonferroni 不等式保证:把每次比较的阈值降到 α ÷ m,族错误率不超过 α,而且不要求各检验相互独立。
- 比较次数:m = k(k − 1) ÷ 2,k 为参与比较的列数。
- 校正后的阈值:α′ = α ÷ m;或校正 P 值 = min(1, m × P)。
- 族错误率 ≤ m × α′ = α。
示例:四个地区的购买意向(合成数据)
本站的合成零食品牌追踪数据(程序生成的示例数据,不是真实受访者)中,“松露”口味购买意向前两项(1–5 分中的 4–5 分)的占比按地区为:北区 41/132 = 31.1%,南区 33/165 = 20.0%,东区 24/131 = 18.3%,西区 33/168 = 19.6%。
北区看起来最高。未校正时,北区与其他三个地区的差异都达到 P < 0.05,共有 3 个列对“显著”;其中最明显的是北区(41/132 = 31.1%)对东区(24/131 = 18.3%),z = 2.39,P = .017。
但 4 列共 6 个列对,Bonferroni 阈值为 0.05 ÷ 6 = 0.0083。最小的那个 P 值乘以 6 后为 .0998,校正后在 95% 水平上显著的列对为 0 个,表中不会出现大写字母。它仍略低于 90% 宽松阈值 0.10,所以北区单元格只显示小写字母“c”(东区所在列)。Holm 法对最小 P 值的处理与 Bonferroni 相同(同样乘以 6),其余 P 值的乘数依次减小;在这个例子中,Holm 校正后 95% 水平上显著的列对也是 0 个。结论应写成“北区略高,但在多重比较校正后差异不显著”,而不是“北区显著更高”。
Bonferroni、Holm 与 Benjamini–Hochberg
Holm 法是逐步的 Bonferroni:把 P 值从小到大排序,依次与 α ÷ m、α ÷ (m − 1)……比较,遇到第一个不显著就停止。它同样控制族错误率,但从不比 Bonferroni 更保守,所以通常更值得使用。
Benjamini–Hochberg 控制的是错误发现率(FDR),即在所有判为显著的结果中假阳性所占的期望比例,比控制族错误率宽松。探索性地扫描大量表格、可以容忍少量假阳性时常用 FDR;需要对每个结论负责的确认性分析更适合 Bonferroni 或 Holm。
- Bonferroni:最简单,最保守,比较很多时检验效能明显下降。
- Holm:同样控制族错误率,效能不低于 Bonferroni。
- Benjamini–Hochberg:控制错误发现率,适合探索性筛选。
- 不适用:把校正当作补救;事先确定关键比较,比事后做大量比较再校正更可靠。
校正范围要写清楚
“比较次数”取决于你把哪些检验算作一族。Crosstabs 的显著性字母在每个结果行内校正:校正次数是这一行中合格 Banner 列的两两组合数,不会自动跨越其他行、其他题目、其他表格或你尝试过的筛选条件。如果一个结论依赖许多张表共同支持,应在分析计划中预先定义更大的检验族。
列基数低于 30 的列不参与检验,也不计入比较次数;没有字母不代表两列相同,只表示在当前阈值、校正和样本量下没有发现可靠差异。
报告多重比较结果
报告中注明检验方法(双比例 z 检验)、显著性阈值(例如 95% 用大写、90% 用小写)、校正方法和校正范围(每行内的列对),并保留列百分比和未加权样本基数。显著不等于重要:同时报告百分点差或置信区间,说明差异的实际大小。