SPSS 命令: SPSS NPAR TESTS /K-W

在浏览器中做 Kruskal-Wallis 检验

Kruskal-Wallis H 检验是单因素方差分析的秩检验替代方法:判断三个及以上独立组是否来自同一分布。

免费 · 无需注册 · 文件留在本机 · 更新于 2026年10月18日

能告诉你什么

Crosstabs 运行与 SPSS NPAR TESTS /K-W 对应的过程,给出经结校正的 H、ε² 效应量和 Dunn 成对比较,并提供 k 样本中位数检验以及针对有序分组的 Jonckheere-Terpstra 检验。

  • 是否至少有一组的取值倾向于高于或低于其他组(H、自由度与渐近显著性)。
  • 组别能解释多少排序差异:ε² = H/(N − 1)。
  • 具体哪些组之间有差异:依据 Dunn 秩均值差及 Bonferroni 校正后的显著性。
  • 数值是否按设定的组顺序单调上升或下降(Jonckheere-Terpstra),以及各组高于合并中位数的个案比例是否不同(中位数检验)。

适用场景

适合使用

  • 比较三个及以上独立组在有序或偏态结果上的差异,例如各地区的满意度评分、各团队的处理天数。
  • 各组样本量小或不等,难以支持正态假设。
  • 各组有自然顺序(剂量水平、年龄段、套餐档位)且预期存在单调趋势:使用 Jonckheere-Terpstra 检验。

改用其他方法

  • 只有两组:使用 Mann-Whitney U 检验,小样本时还能给出精确显著性。
  • 同一批个案在每种条件下都被测量:使用相关样本的 Friedman 检验。
  • 结果近似正态且需要均值差及置信区间:使用带 Welch 与 Games-Howell 的单因素方差分析。
  • 同时有两个及以上分组因素:这里的秩检验只处理单个因素。

在 Crosstabs 中如何操作

  1. 01

    选择“K 个独立样本”

    在“统计”模式中打开“非参数检验”→“K 个独立样本”(NPAR TESTS /K-W)。

  2. 02

    选择检验变量和分组变量

    在“检验变量”中勾选数值型结果变量,再选择“分组变量”,默认包含其全部取值。

  3. 03

    选择并排列各组

    在“包含的组(Jonckheere-Terpstra 按此顺序)”中取消勾选可排除某组。显示顺序即 Jonckheere-Terpstra 检验所用顺序,请保持各组的自然顺序。

  4. 04

    选择检验

    在“检验类型”中勾选“Kruskal-Wallis H”“中位数”和/或“Jonckheere-Terpstra”。保持勾选“成对比较(Dunn,Bonferroni 调整)”即可获得事后比较表。

  5. 05

    运行

    选择“按检验排除个案”或“成列排除个案”后点击“运行检验”。表格下方的解读会列出校正后存在差异的配对。

计算示例

以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。

用示例数据试一试

数据

来自三个地区的 33 条模拟投诉(北区 10 条、中区 12 条、南区 11 条),结果变量为解决所需的整天数,由固定种子的右偏对数正态分布生成。

秩
regionN秩平均值
North108.05
Central1216.21
South1126.00
总计33
检验统计 — Kruskal-Wallis 检验
项目days
Kruskal-Wallis H18.324
df2
渐近显著性<.001
效应量 ε² = H/(N − 1)0.573

H 已针对结(同秩)进行校正。

成对比较:days
样本 1-样本 2检验统计标准误标准检验统计显著性调整后显著性
North-Central−8.1584.124−1.978.048.144
North-South−17.9504.208−4.266<.001<.001
Central-South−9.7924.020−2.436.015.045

Dunn (1964) 秩均值差;显著性已按 Bonferroni 校正调整。

结果解读

整体检验结果为 H(2) = 18.32,p < .001,ε² = 0.573。经 Bonferroni 调整后存在差异的配对为 North–South、Central–South。报告具体配对时应引用调整后显著性,而非未调整的 p 值。

输出表格说明

秩
每个纳入组的 N 和秩平均值,以及总 N。
检验统计 — Kruskal-Wallis 检验
经结校正的 Kruskal-Wallis H、自由度(组数 − 1)、基于卡方分布的渐近显著性以及 ε² = H/(N − 1)。
成对比较
每对组的秩均值差、标准误、标准化检验统计量、未调整显著性及 Bonferroni 调整后显著性(Dunn, 1964)。应以调整后的一列为准。
检验统计 — 中位数检验
合并中位数,以及对各组高于和不高于中位数的个案数所做的卡方检验(频数见“频率 — 中位数检验”)。只有两组且 N ≤ 30 时采用 Fisher 精确检验。
检验统计 — Jonckheere-Terpstra 检验
J-T 统计量的观察值、平均值与标准差,标准化 J-T 及其双尾渐近显著性。标准化值为正表示数值按所列顺序递增。

前提假设与注意事项

  • 各组相互独立,每个个案只属于一个组。
  • 结果变量至少为有序尺度;若要把 H 解读为中位数差异,各组分布形状应相近。
  • 显著性为渐近值(卡方分布)。各组样本很小(每组少于约 5 个)时,对临界 p 值需谨慎。

结果如何验证

k 样本引擎以参考值由独立的参考实现使用 SciPy 1.18.1、statsmodels 0.15.0、pingouin 0.7.0 与 scikit-posthocs 0.17.1 生成:Kruskal-Wallis H 与 p 值对照 scipy.stats.kruskal,Dunn 成对比较 p 值与 Bonferroni 调整对照 scikit-posthocs 的 posthoc_dunn,中位数检验对照 scipy.stats.median_test 与 fisher_exact,Jonckheere-Terpstra 通过逐对穷举计数核对。所有结果误差均在 1e-9 以内(相对于 1 与参考值中较大者)。 验证证据(英文)

常见问题

Kruskal-Wallis 结果显著后应做什么事后检验?

对秩平均值做 Dunn 检验,它使用整体检验中的合并秩。Crosstabs 按 Bonferroni 方法调整 p 值(p × 配对数,最高为 1),与 SPSS 成对比较的做法一致。

效应量应如何报告?

报告检验表中的 ε² = H/(N − 1)。其取值在 0 到 1 之间,约 .01、.08、.26 通常分别视为小、中、大效应。

能否改为分别做多次 Mann-Whitney 检验,而不用 Dunn 比较?

逐对单独检验每次都会重新排秩,而且需要自行做多重比较校正。Dunn 比较沿用同一套秩并自动校正,是更常用的后续分析。

什么情况下 Jonckheere-Terpstra 比 Kruskal-Wallis 更合适?

当你在看到数据前就预期有序分组间存在方向性变化(例如结果随剂量改善)时。它把检验效能集中在单调趋势上。

Kruskal-Wallis 有精确 p 值吗?

本面板不提供:H、中位数检验卡方和 Jonckheere-Terpstra 都只报告渐近显著性。

用你自己的数据运行 Kruskal-Wallis 检验

打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。

打开分析工作区

SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。