差异性分析-非参数检验
Kruskal-Wallis 检验
单因素方差分析的非参数替代方案,用于检验多组(≥3组)独立样本之间是否存在差异。
这篇能回答什么
Kruskal-Wallis H 检验回答的是「一个定类因素的三个及以上独立组,在定量或定序指标上的分布位置是否相同」。它把全部观测混合排秩,比较各组平均秩,是单因素 ANOVA 的非参数对应物。H 在原假设下近似 χ²(自由度=组数−1);效应量 ε² 把 H 换成 0–1 左右的强度。
适合:年级、剂量组、学历等多分类分组,因变量为等级分、偏态连续或明显离群。各组近似正态、方差齐且关心均值时,单因素方差分析更直接。恰好两类时用Mann-Whitney U 检验。同一受试者重复测量用重复测量方差分析,而不是把多次测量当成独立组。
什么时候不该用
H 显著只说明「至少两组的位置不同」,不能指出是哪两组。不要用未校正的多次 Mann-Whitney 代替整体检验。配对 / 重复测量设计不要用 Kruskal-Wallis。无序定类因变量应改用卡方检验。
如何选择方法
按分组个数与假定选择:多组 + 均值 + 齐性 → ANOVA;多组 + 等级 / 偏态 → Kruskal-Wallis;两组 → t 或 Mann-Whitney。ANOVA 显著后用事后多重比较定位组别;Kruskal-Wallis 显著后应对应地做校正的两两秩和比较,而不是直接抄参数事后表。
Kruskal-Wallis 检验:1 个多分类定类分组(至少 3 类),1–10 个定量或定序检验变量;输出 H、p、ε² 与组中位数。
单因素方差分析:同样的多组设计,比较均值。
Mann-Whitney U 检验:分组恰好两类时的秩和检验。
事后多重比较:参数 ANOVA 显著后的两两定位(本案例整体不显著,无需进行)。
输入、输出与限制
输入
分组变量为定类,通常至少 3 个水平;检验变量为定量或定序。
分组变量:最少 1 个,最多 1 个;定类。
检验变量:最少 1 个,最多 10 个定量或定序变量。
输出
结果表按检验变量列出各组 n 与中位数;在第一组行给出 H(近似卡方)、p 与 ε²。另有组位置对比图与文字洞察。
产品限制
只允许 1 个分组因素。
H、p、ε² 写在每个分析项的第一组行,其余行的「-」不是检验失败。
各检验变量按列删除缺失,因此语文与数学的各组 n 可能不同。
整体不显著时,不要把中位数略高的一组写成「该年级更好」。
案例
研究问题。 定量成绩表按年级(高一、高二、高三)分成三组,想在不依赖正态均值模型的前提下,比较语文、数学成绩的中位数位置是否不同。
教学示例来自定量成绩表,工作表为「Sheet1」。语文成绩高一 262、高三 265、高二 263,合计 790。数学成绩各组 n 为 259、266、265。下载后可在工作台按同样变量复现本页表格。
在 StatsX 中操作
步骤 1 · 上传表格
打开工作台,将 Excel / CSV / JSON 拖入上传区。本案例使用定量成绩 xlsx,确认工作表为「Sheet1」。单文件不超过 20 MB。
步骤 2 · 查看画像与质量
确认「年级」为定类且有三个水平,语文、数学成绩为定量。不要把编号列当作分组。
步骤 3 · 选择「Kruskal-Wallis 检验」
在算法目录搜索「Kruskal」或「H 检验」,点选 Kruskal-Wallis检验。
步骤 4 · 指定变量并运行
分组变量指定年级。检验变量勾选语文成绩、数学成绩(最多 10 个)。点击运行分析。
步骤 5 · 阅读结果
先看各组 n 与中位数,再读 H 与 p,最后看 ε²。不显著时停止对「哪一年级更高」做过度推断。




如何阅读输出
下表由同一份教学示例运行 Kruskal-Wallis H 检验得到。语文中位数:高一 74.2、高三 74.3、高二 76.9;H=0.449,p=0.799,ε²=0.001。数学 H=0.603,p=0.740,ε²=0.001。
| 分析项 | 分组 (年级) | 样本量(N) | 中位数 | H 统计量(卡方) | P 值 | 效应量(ε²) |
|---|---|---|---|---|---|---|
| 语文成绩 | 高一 | 262 | 74.2 | 0.449 | 0.799 | 0.001 |
| 语文成绩 | 高三 | 265 | 74.3 | - | - | - |
| 语文成绩 | 高二 | 263 | 76.9 | - | - | - |
| 数学成绩 | 高一 | 259 | 76.1 | 0.603 | 0.740 | 0.001 |
| 数学成绩 | 高三 | 266 | 74.2 | - | - | - |
| 数学成绩 | 高二 | 265 | 74.8 | - | - | - |
左右滑动可查看完整表格


【Kruskal-Wallis·年级→语文成绩】H=0.449,统计不显著(p=0.799, α=0.05),结论:多组中位数不存在显著差异。
解读顺序建议:各组 n → 中位数 → H 与 p → ε²。按 α=0.05,语文 p=0.799、数学 p=0.740 均不能拒绝「多组位置相同」;ε²=0.001 表示年级几乎解释不了秩次变异。同一份数据上单因素 ANOVA 的语文 p=0.883、数学 p=0.909,结论方向一致。此时做两两比较没有统计依据。
理论与公式
将 k 组共 N 个观测混合赋秩,第 g 组容量 n_g、秩和 R_g。Kruskal-Wallis 统计量为
有并列时应使用并列校正。原假设成立且各组不太小时,H 近似 χ²_{k−1}。效应量可用
ε² 接近 0 表示分组几乎不解释秩次变异。本例语文 H=0.449,若 N=790,则 0.449/(790−1)≈0.0006,与表中 0.001 的小数位一致。它不是偏 η²,写论文时不要混用名称。
注意事项
H 检验的是多组位置,不是「哪一组均值最高」。
整体不显著时不要挑选中位数最高的年级做故事。
各组 n 过小会使 χ² 近似变差。
形状差异很大时,显著更难解释成单纯的中位数平移。
一次检验多个因变量会抬高假阳性。
常见问题
参考文献
吴喜之. 非参数统计[M]. 中国统计出版社.
Kruskal, W. H., Wallis, W. A. Use of ranks in one-criterion variance analysis. Journal of the American Statistical Association, 1952, 47(260): 583–621.
Cohen, J. Statistical Power Analysis for the Behavioral Sciences. Routledge.
Hollander, M., Wolfe, D. A., Chicken, E. Nonparametric Statistical Methods. Wiley.