打开导航
打开分析工作区

交叉表显著性检验

交叉表多重比较:Bonferroni 校正怎么做

Banner 表中每一行都要做多次两两列比较。比较越多,偶然“显著”的机会越大;Bonferroni 校正把这个风险控制在设定的显著性水平以内。

当前产品边界

在工作区生成校正后的显著性字母

建立交叉表并开启显著性字母后,Crosstabs 在每个结果行内,对所有列基数不低于 30 的 Banner 列两两运行合并方差双比例 z 检验,并按该行的合格列对数做 Bonferroni 校正;大写字母对应 95% 阈值,小写字母对应 90% 阈值。已保存项目的表格设计器还可以把校正方法改为 Holm、Benjamini–Hochberg 或不校正。

生成显著性字母
01

为什么需要多重比较校正

每做一次 α = 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 × α′ = α。
02

示例:四个地区的购买意向(合成数据)

本站的合成零食品牌追踪数据(程序生成的示例数据,不是真实受访者)中,“松露”口味购买意向前两项(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 个。结论应写成“北区略高,但在多重比较校正后差异不显著”,而不是“北区显著更高”。

03

Bonferroni、Holm 与 Benjamini–Hochberg

Holm 法是逐步的 Bonferroni:把 P 值从小到大排序,依次与 α ÷ m、α ÷ (m − 1)……比较,遇到第一个不显著就停止。它同样控制族错误率,但从不比 Bonferroni 更保守,所以通常更值得使用。

Benjamini–Hochberg 控制的是错误发现率(FDR),即在所有判为显著的结果中假阳性所占的期望比例,比控制族错误率宽松。探索性地扫描大量表格、可以容忍少量假阳性时常用 FDR;需要对每个结论负责的确认性分析更适合 Bonferroni 或 Holm。

  • Bonferroni:最简单,最保守,比较很多时检验效能明显下降。
  • Holm:同样控制族错误率,效能不低于 Bonferroni。
  • Benjamini–Hochberg:控制错误发现率,适合探索性筛选。
  • 不适用:把校正当作补救;事先确定关键比较,比事后做大量比较再校正更可靠。
04

校正范围要写清楚

“比较次数”取决于你把哪些检验算作一族。Crosstabs 的显著性字母在每个结果行内校正:校正次数是这一行中合格 Banner 列的两两组合数,不会自动跨越其他行、其他题目、其他表格或你尝试过的筛选条件。如果一个结论依赖许多张表共同支持,应在分析计划中预先定义更大的检验族。

列基数低于 30 的列不参与检验,也不计入比较次数;没有字母不代表两列相同,只表示在当前阈值、校正和样本量下没有发现可靠差异。

05

报告多重比较结果

报告中注明检验方法(双比例 z 检验)、显著性阈值(例如 95% 用大写、90% 用小写)、校正方法和校正范围(每行内的列对),并保留列百分比和未加权样本基数。显著不等于重要:同时报告百分点差或置信区间,说明差异的实际大小。

方法来源

参考资料与复核入口

  • Dunn, O. J. (1961). Multiple comparisons among means. Journal of the American Statistical Association, 56(293), 52–64.

  • Holm, S. (1979). A simple sequentially rejective multiple test procedure. Scandinavian Journal of Statistics, 6(2), 65–70.

  • Benjamini, Y., & Hochberg, Y. (1995). Controlling the false discovery rate: a practical and powerful approach to multiple testing. Journal of the Royal Statistical Society: Series B, 57(1), 289–300.

  • IBM SPSS — 比较列比例

常见问题

先确认方法,再解释结果。

Bonferroni 校正后的显著性水平怎么算?

用 α 除以比较次数。4 个 Banner 列两两比较共 6 次,α = 0.05 时每次比较的阈值为 0.05 ÷ 6 ≈ 0.0083。

Bonferroni 校正太保守怎么办?

可以改用 Holm 法,它同样控制族错误率而效能更高;探索性分析可以考虑控制错误发现率的 Benjamini–Hochberg。更根本的做法是事先限定关键比较的数量。

Crosstabs 的显著性字母用了哪种校正?

默认在每个结果行内,按合格列对数做 Bonferroni 校正。已保存项目的表格设计器可以改为 Holm、Benjamini–Hochberg 或不校正。

卡方检验显著,但两两比较都不显著,怎么解释?

卡方检验评估整张表的总体关联,两两比较在校正后更严格,两者可能不一致。可以报告总体关联显著,同时说明没有哪一对列在校正后达到显著。

只比较两列还需要校正吗?

同一行内只有两列时只有 1 次比较,不需要校正。但如果对许多行或许多题目都做了比较并据此下结论,仍应考虑更大范围的多重比较问题。

在完整数据上运行同样的分析。

源文件在浏览器本地处理,无需注册。基础交叉分析支持中文;部分专业功能和文档导出说明仍为英文。

打开工作区