SPSS 命令: SPSS NPAR TESTS /M-W

在浏览器中做 Mann-Whitney U 检验

Mann-Whitney U 检验把两个独立组的数值合并排秩,判断其中一组是否倾向于取更高的值。

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

能告诉你什么

Crosstabs 按 SPSS NPAR TESTS /M-W 的方式运行,给出经结校正的 Z、小样本精确显著性和效应量 r = |Z|/√N,并提供另外三种双样本检验。

  • 哪一组倾向于取更高的值:依据各组的秩平均值和秩的总和。
  • 该差异是否超出随机波动:U、Wilcoxon W、Z 以及渐近和精确双尾显著性。
  • 差异有多大:效应量 r = |Z|/√N(约 .1 为小、.3 为中、.5 为大)。
  • 两组分布是否存在任何形式的差异(双样本 Kolmogorov-Smirnov Z)、一组是否在两个方向上出现极端反应(Moses),以及两组数值是否随机交错(Wald-Wolfowitz 游程)。

适用场景

适合使用

  • 比较两个独立组在有序评分(1–5 分或 1–10 分)上的差异,且难以用平均值概括。
  • 结果为偏态的连续变量(消费、任务时长、计数),且组样本量小或存在明显离群值。
  • 两个版本的 A/B 测试,希望结论不依赖正态假设。

改用其他方法

  • 同一批人被测量两次:应使用配对数据的 Wilcoxon 符号秩检验。
  • 三个及以上组:使用 Kruskal-Wallis 检验,并可附带 Dunn 成对比较。
  • 数据近似正态且需要均值差的置信区间:独立样本 t 检验提供的信息更多。

在 Crosstabs 中如何操作

  1. 01

    选择“两个独立样本”

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

  2. 02

    勾选检验变量

    在“检验变量”中勾选一个或多个数值型结果变量,每个变量分别检验。

  3. 03

    定义两个组

    选择“分组变量”(2–50 个不同取值),再为“组 1”和“组 2”各选一个值。其他组的个案不参与分析。

  4. 04

    选择检验类型

    默认勾选“Mann-Whitney U”;可按需加选“Kolmogorov-Smirnov Z”“Moses 极端反应”(组 1 作为对照组)或“Wald-Wolfowitz 游程”。

  5. 05

    设置缺失值并运行

    选择“按检验排除个案”或“成列排除个案”,点击“运行检验”。工作区权重声明为频数权重后,会按权重复制个案。

计算示例

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

用示例数据试一试

数据

24 名模拟用户对新手引导流程打分(1–10 分):11 人看到版本 A,13 人看到版本 B。评分由两条中心不同的正态曲线抽样后取整,因此与真实评分量表一样包含大量结(同分)。

秩
variantN秩平均值秩的总和
A117.0577.50
B1317.12222.50
总计24
检验统计 — Mann-Whitney U
项目score
Mann-Whitney U11.5
Wilcoxon W77.5
Z−3.521
渐近显著性(双尾)<.001
精确显著性 [2*(单尾显著性)]<.001ᵇ
效应量 r = |Z|/√N0.719

分组变量:variant。b. 未针对结进行校正。Z 已针对结进行校正。

结果解读

版本 B 的秩平均值更高(B 为 17.12,A 为 7.05)。U = 11.5,Z = −3.52,精确 p < .001,效应量 r = 0.72(按 Cohen 标准属于大效应)。评分中同分很多,因此还应查看经过结校正的渐近 p(<.001):精确 p 未考虑结。

输出表格说明

秩
各组的 N、秩平均值和秩的总和。秩平均值较高的组倾向于取更高的值。
检验统计 — Mann-Whitney U
U、Wilcoxon W、经结校正的 Z、渐近双尾显著性;当 n₁·n₂ ≤ 400 且 n₁·n₂/2 + min(n₁, n₂) ≤ 220 时给出精确显著性 [2*(单尾显著性)],以及 r = |Z|/√N。
检验统计 — 双样本 Kolmogorov-Smirnov 检验
两组累积分布之间的最极端差值(绝对、正、负)、Kolmogorov-Smirnov Z 及其渐近显著性。
检验统计 — Moses 检验
对照组(组 1)在合并秩中的跨度,包括实测跨度和两端剪除离群值后的跨度,各附单尾显著性。
检验统计 — Wald-Wolfowitz 检验
游程数、Z 和单尾显著性(30 个个案以内为精确值)。组间存在结时,给出最小和最大可能游程数。

前提假设与注意事项

  • 两组相互独立,每个个案只属于一个组。
  • 结果变量至少为有序尺度。若要把结论解读为中位数差异,两组分布形状应大致相同。
  • 精确显著性未考虑结;评分中同分较多时,应与经结校正的渐近显著性对照。

结果如何验证

双样本引擎以参考值由独立的参考实现使用 SciPy 1.18.1、statsmodels 0.15.0、pingouin 0.7.0 与 scikit-posthocs 0.17.1 生成。Mann-Whitney U 及其精确与渐近 p 值与 scipy.stats.mannwhitneyu(无连续性校正)的误差在 1e-9 以内,|Z| 在 1e-7 以内;双样本 K-S 统计量与 scipy.stats.ks_2samp 一致,Smirnov 渐近 p 值容差为 2e-6;Moses 与 Wald-Wolfowitz 的显著性通过穷举合并样本的所有排列来核对。 验证证据(英文)

常见问题

Mann-Whitney 检验比较的是中位数吗?

严格来说,它检验的是一组的值是否倾向于大于另一组的值。只有两组分布形状相同时,才可视为中位数检验;因此应报告秩平均值,并另行描述中位数。

应报告精确 p 值还是渐近 p 值?

组样本量小且结较少时,报告精确显著性;结较多时,宜报告渐近值,因为其 Z 经过结校正,而精确值没有。

为什么同时显示 U 和 W?

两者等价:W 是其中一组的秩和,U = W − n(n + 1)/2。SPSS 报告较小的 U,Crosstabs 采用相同约定。

什么情况下 Kolmogorov-Smirnov Z 检验更合适?

当两组可能在离散程度或分布形状上不同,而非位置不同时。它对累积分布的任何差异都敏感,但对纯粹的位置平移,检验效能低于 Mann-Whitney。

能用“control”/“treatment”这样的字符串变量作为分组变量吗?

可以。任何具有 2–50 个不同非缺失值的变量都可以作为分组变量;只有检验变量必须是数值型。

用你自己的数据运行 Mann-Whitney U 检验

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

打开分析工作区

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