教程 ·

非参数检验完整教程 — Mann-Whitney/Wilcoxon/Kruskal-Wallis 用 AI 一句话完成

数据不正态、有序变量、小样本时的统计出路。Mann-Whitney U 检验、Wilcoxon 符号秩检验、Kruskal-Wallis 检验、Friedman 检验四种非参数方法全覆盖,附 APA 格式报告句式、效应量 r 计算与 Dunn 事后比较,论文可直接使用。

数据不正态、样本量只有十几个、测量是有序等级?这篇教程专门解决"参数检验用不了"的困境,给出四种非参数方法的选择逻辑、AI 一句话指令、输出解读与 APA 报告句式。

痛点:这三类数据让参数检验失效

做完 Shapiro-Wilk 正态性检验,结果 p < .05,数据明显偏态——这时候很多人陷入困境:

  • 用独立样本 t 检验或单因素 ANOVA,但数据根本不满足正态性假设
  • 导师说"数据有序,不能当连续变量处理,不能用 t 检验"
  • 样本量只有每组 8-12 个,中心极限定理帮不了忙
  • 量表是 5 点 Likert,审稿人要求用非参数方法分析

**非参数检验(Non-parametric Tests)**正是为这三类场景设计的:

  1. 数据不正态:分布严重偏态、有极端值、小样本无法验证正态性
  2. 数据为有序变量:Likert 量表分、等级评分、排名数据
  3. 小样本:每组人数少于 20,中心极限定理不能保证稳健性

非参数检验的核心思想是把原始数据转换为秩次(rank),用秩次的分布而非数值分布进行推断,因此不依赖正态分布假设。


选哪种非参数检验?对照表

研究设计对应的参数检验非参数替代方法核心统计量
独立两组比较独立样本 t 检验Mann-Whitney U 检验U 统计量
配对两组/前后测比较配对样本 t 检验Wilcoxon 符号秩检验W 统计量
独立多组比较(3 组及以上)单因素 ANOVAKruskal-Wallis 检验H 统计量
同一组人多个时间点/条件重复测量 ANOVAFriedman 检验chi-squared 统计量

快速判断流程:

  1. 两组还是多组?
    • 两组 -> 第二步
    • 三组及以上 -> Kruskal-Wallis 或 Friedman
  2. 两组数据是否来自同一批被试(前后测、配对设计)?
    • 是 -> Wilcoxon 符号秩检验(配对)
    • 否 -> Mann-Whitney U 检验(独立)
  3. 多组是否来自同一批被试(同一组人接受多种条件)?
    • 是 -> Friedman 检验
    • 否 -> Kruskal-Wallis 检验

案例数据:医学研究中的疼痛评分

以下内容以临床研究场景展开。研究者比较三种术后镇痛方案对患者疼痛程度的影响,以及同一患者在不同时间点的疼痛变化。

pain_score      疼痛视觉模拟评分(VAS,0-10 分,有序/非正态)
group           镇痛方案:方案 A / 方案 B / 对照组
time            测量时间点:术后 2h / 6h / 24h / 48h
patient_id      患者编号
satisfaction    护理满意度(5 点 Likert 量表)

正态性检验结果:Shapiro-Wilk p < .001,数据右偏,不满足参数检验假设;每组样本量 n = 18,样本量偏小。这是非参数检验的典型适用场景。


用 AI 一句话完成非参数检验

打开 chatsrs.com,上传数据后,按检验类型输入指令:

场景一:Mann-Whitney U 检验(独立两组)

"比较方案 A 和对照组的术后 2h 疼痛评分(pain_score)差异,数据不正态,请用 Mann-Whitney U 检验。输出 U 统计量、Z 值、p 值、两组中位数和四分位距(Mdn 和 IQR)、效应量 r(rank-biserial correlation),并写 APA 格式文字描述。"

场景二:Wilcoxon 符号秩检验(配对两组)

"对方案 A 组患者,比较术后 2h 和 24h 的疼痛评分(pain_score)是否有显著变化,数据不正态,用 Wilcoxon 符号秩检验(配对)。输出 W 统计量、Z 值、p 值、两个时间点的中位数和 IQR、效应量 r,以及 APA 报告格式文字。"

场景三:Kruskal-Wallis 检验(独立多组)

"比较三种镇痛方案(方案 A、方案 B、对照组)的术后 2h 疼痛评分是否有显著差异,数据不正态,用 Kruskal-Wallis 检验。输出 H 统计量、df、p 值、各组中位数和 IQR、效应量 eta-squared(epsilon-squared),并做 Dunn 事后比较(Bonferroni 校正)。"

场景四:Friedman 检验(重复多组)

"对方案 A 组患者在四个时间点(术后 2h、6h、24h、48h)的疼痛评分做 Friedman 检验,数据不正态。输出卡方统计量、df、p 值、各时间点中位数和 IQR、效应量 Kendall's W,并做 Wilcoxon 配对事后比较(Bonferroni 校正)。"


输出结果怎么读

Mann-Whitney U 检验输出示例

表 1  方案 A 与对照组术后 2h 疼痛评分 Mann-Whitney U 检验

组别         n     Mdn    IQR           秩均值
方案 A       18    4.5    [3.0, 5.5]    15.3
对照组       18    6.5    [5.5, 7.5]    21.7

U = 98.0, Z = -2.47, p = .014
效应量 r = -0.41(中等效应)

注:r = Z / sqrt(N),Cohen 阈值:|r| = 0.10 小效应,0.30 中效应,0.50 大效应。

各指标解读:

指标含义如何看
U 统计量Mann-Whitney U 值,基于秩次计算U 越小(或 U 越大),两组差异越大
Z 值U 的标准化近似正态统计量样本量较大时使用,用于计算 p 值
p 值在零假设成立时观察到如此或更极端差异的概率p < .05 表示两组差异显著
Mdn中位数(Median),非参数检验的核心描述量非参数方法报告中位数,而非均值
IQR四分位距(Interquartile Range),= Q3 - Q1代替标准差,描述数据散布
效应量 rrank-biserial correlation,= Z / sqrt(N)0.10 小,0.30 中,0.50 大;有方向性

Kruskal-Wallis 检验输出示例

表 2  三种镇痛方案术后 2h 疼痛评分 Kruskal-Wallis 检验

组别         n     Mdn    IQR           秩均值
方案 A       18    4.5    [3.0, 5.5]    20.1
方案 B       18    5.2    [4.0, 6.2]    25.4
对照组       18    6.5    [5.5, 7.5]    31.0

H(2) = 8.74, p = .013
效应量 epsilon-squared = 0.166(中等偏大效应)

Dunn 事后比较(Bonferroni 校正):
  方案 A vs 对照组:Z = -2.74, p_adj = .018 *
  方案 B vs 对照组:Z = -1.62, p_adj = .315
  方案 A vs 方案 B:Z = -1.12, p_adj = .786

注:* p_adj < .05;方案 A 显著优于对照组,方案 B 与对照组无显著差异。

**H 统计量的解读:**Kruskal-Wallis 的 H 统计量在零假设成立时近似服从卡方分布,自由度 = 组数 - 1。H(2) = 8.74, p = .013 表示三组疼痛评分的秩次分布存在显著差异。

**效应量 epsilon-squared(epsilon-sq)**的计算公式为 epsilon-sq = (H - k + 1) / (N - k),其中 k 为组数,N 为总样本量。解读参照 Cohen 阈值:.01 小效应,.06 中效应,.14 大效应。

Friedman 检验输出示例

表 3  方案 A 组患者四个时间点疼痛评分 Friedman 检验

时间点     Mdn    IQR
2h         4.5    [3.0, 5.5]
6h         3.8    [2.5, 4.8]
24h        3.0    [2.0, 4.0]
48h        2.2    [1.5, 3.2]

chi-squared(3) = 32.14, p < .001
Kendall's W = 0.596(强一致性)

事后比较(Wilcoxon + Bonferroni 校正):
  2h vs 6h:W = 28, p_adj = .042 *
  2h vs 24h:W = 14, p_adj < .001 ***
  2h vs 48h:W = 8, p_adj < .001 ***
  6h vs 24h:W = 21, p_adj = .028 *
  6h vs 48h:W = 11, p_adj < .001 ***
  24h vs 48h:W = 30, p_adj = .086

Kendall's W 是 Friedman 检验的效应量,取值 0-1,表示被试在不同条件下排名的一致性程度。W = 0.596 表示患者在各时间点的疼痛排名存在较强的一致性趋势(随时间递减)。


论文里怎么报告(APA 7th)

非参数检验的 APA 报告与参数检验有几处关键差异:报告中位数和 IQR 而非均值和 SD,报告对应统计量(U/W/H),效应量用 r 或 epsilon-squared 而非 d 或 eta-squared。

Mann-Whitney U 检验 APA 报告模板

Mann-Whitney U 检验结果显示,方案 A 组术后 2h 疼痛评分(Mdn = 4.5, IQR = [3.0, 5.5])显著低于对照组(Mdn = 6.5, IQR = [5.5, 7.5]),U = 98.0, Z = -2.47, p = .014, r = -.41,为中等效应。

句式模板:

Mann-Whitney U 检验结果显示,[组1](Mdn = XX, IQR = [XX, XX])
[显著高于/低于/不显著差异于] [组2](Mdn = XX, IQR = [XX, XX]),
U = XX, Z = XX, p [值], r = XX,为[小/中/大]效应。

Wilcoxon 符号秩检验 APA 报告模板

Wilcoxon 符号秩检验结果显示,方案 A 组患者术后 24h 疼痛评分(Mdn = 3.0, IQR = [2.0, 4.0])显著低于术后 2h(Mdn = 4.5, IQR = [3.0, 5.5]),W = 14, Z = -3.12, p < .001, r = -.52,为大效应,提示该镇痛方案在 24h 内持续有效。

句式模板:

Wilcoxon 符号秩检验结果显示,[时间点2/条件2](Mdn = XX, IQR = [XX, XX])
[显著高于/低于] [时间点1/条件1](Mdn = XX, IQR = [XX, XX]),
W = XX, Z = XX, p [值], r = XX,
提示 [干预/处理] 对 [结果变量] 具有显著[正向/负向]效应。

Kruskal-Wallis 检验 APA 报告模板

Kruskal-Wallis 检验结果显示,三种镇痛方案的术后 2h 疼痛评分存在显著差异,H(2) = 8.74, p = .013, epsilon-squared = .166。Dunn 事后检验(Bonferroni 校正)显示,方案 A(Mdn = 4.5, IQR = [3.0, 5.5])疼痛评分显著低于对照组(Mdn = 6.5, IQR = [5.5, 7.5]),Z = -2.74, p = .018,方案 B 与对照组差异未达显著水平,p = .315。

句式模板:

Kruskal-Wallis 检验结果显示,[因素]各[组/条件]在[因变量]上存在显著差异,
H([df]) = XX, p [值], epsilon-squared = XX。
Dunn 事后检验(Bonferroni 校正)显示,[显著对比描述],
[组1](Mdn = XX, IQR = [XX, XX])[高于/低于] [组2](Mdn = XX, IQR = [XX, XX]),Z = XX, p = XX。

Friedman 检验 APA 报告模板

Friedman 检验结果显示,方案 A 组患者在术后四个时间点(2h、6h、24h、48h)的疼痛评分存在显著差异,chi-squared(3) = 32.14, p < .001, Kendall's W = .596。Wilcoxon 配对事后检验(Bonferroni 校正)显示,除 24h 与 48h 之间(p = .086)外,其余各时间点两两比较均达显著水平(p < .05),提示疼痛评分随时间显著递减。

报告要点(APA 7th):

  • 非参数检验必须报告中位数(Mdn)和四分位距(IQR),而非均值和标准差
  • p 值格式与参数检验相同:精确到三位小数,p < .001 时写 p < .001
  • H 统计量写为 H([df]) = XX,chi-squared 写为 chi-squared([df]) = XX
  • 效应量 r 需注明 = Z / sqrt(N) 的来源;epsilon-squared 和 Kendall's W 需在方法节说明计算公式
  • 事后比较必须注明校正方法(Bonferroni、Holm 或 BH 法)

常见问题 FAQ

Q:什么情况下必须用非参数检验?

A:满足以下任一条件即应考虑:(1) 每组 n < 20 且 Shapiro-Wilk p < .05,数据明显偏态;(2) 因变量是有序变量(Likert 量表分、等级评分),而非真正的连续变量;(3) 数据中有极端离群值且不能删除(如临床疼痛评分 0-10 的天花板/地板效应);(4) 原始分布被截断或堆积在某端。每组 n > 30 时,中心极限定理通常能保证 t 检验和 ANOVA 的稳健性,此时可以继续使用参数检验。

Q:非参数检验更"弱"吗?是不是要尽量避免用?

A:这是常见误解。非参数检验在数据不满足正态假设时,统计功效(power)往往高于参数检验——因为参数检验的假设被违背时,p 值不可靠,结果会失真。非参数检验"弱"的说法来自:当数据确实正态分布时,参数检验的功效略高(约 95% vs 100%),差距很小。总结:数据该用参数检验时用参数,该用非参数时用非参数,别强行套用

Q:怎么判断数据是否正态?用什么检验?

A:常用三种方式结合判断:(1) Shapiro-Wilk 检验(小样本,n < 50 时最推荐),p < .05 拒绝正态性;(2) Q-Q 图,点落在对角线上表示正态;(3) 直方图+偏度/峰度(偏度绝对值 > 2 或峰度绝对值 > 7 提示偏态)。注意:大样本(n > 200)时 Shapiro-Wilk 极其敏感,一点点偏态就显著,此时应结合效应量(偏度/峰度数值)和 Q-Q 图做综合判断,不应单靠 p 值决定。在 ChatSRS 中输入"请对数据做正态性检验并给出分析建议"即可获得三种诊断的综合报告。

Q:Kruskal-Wallis 显著后,事后比较用什么方法?

A:最常用的是 Dunn 检验(Dunn's test),它专门为 Kruskal-Wallis 的事后比较设计,基于秩次计算两两对比的 Z 统计量,再配合多重比较校正(Bonferroni 最保守,Holm 或 BH 法功效稍高)。Dunn 检验报告调整后 p 值(p_adj)。另一个选项是两两做 Mann-Whitney U 检验再 Bonferroni 校正,结果类似。ChatSRS 在 Kruskal-Wallis 显著时会自动提供 Dunn 检验,只需在指令中注明"做 Dunn 事后比较"即可。

Q:Friedman 检验显著后事后比较怎么做?

A:Friedman 的事后比较通常用成对 Wilcoxon 符号秩检验,对所有时间点/条件两两比较,再做 Bonferroni 或 Holm 校正。若时间点较多(如 4 个时间点 = 6 对),Holm 校正比 Bonferroni 功效更高。在 ChatSRS 中指令:" Friedman 显著,做 Wilcoxon 配对事后比较,Bonferroni 校正,报告各对的 W、Z、p_adj。"

Q:非参数检验有没有"置信区间"?

A:有,但不常报告。Mann-Whitney 检验可以给出两组中位数差(Hodges-Lehmann 估计量)的置信区间;Wilcoxon 符号秩检验可给出配对差中位数的 CI。但在实际论文报告中,非参数检验通常报告中位数、IQR 和效应量 r,而非置信区间,这也是 APA 7th 的主流做法。如需 CI,在 ChatSRS 中注明"输出 Hodges-Lehmann 估计量和 95% CI"。

Q:有序 Likert 量表数据,到底该不该用参数检验?

A:学术界存在争议。实践中,5 点或 7 点 Likert 量表数据在许多心理学和社会科学期刊中被当作连续变量用参数检验(均值+SD,t 检验/ANOVA),前提是分布不严重偏态。严格的立场认为有序变量必须用非参数方法(中位数+IQR,Mann-Whitney/Kruskal-Wallis)。建议:查阅你投稿目标期刊的惯例;若数据分布接近正态(偏度 |S| < 1),参数检验可接受;若明显偏态或存在天花板/地板效应,用非参数更稳妥。两种分析都做、对比结论是否一致,也是加分的稳健性检验做法。


小结

非参数检验不是"参数检验的低配版",而是数据违反正态假设时的专业选择。选对检验类型,报告中位数和 IQR,计算效应量 r 或 epsilon-squared,按 APA 格式呈现——这四步做到位,非参数检验结果同样能通过审稿人和导师的审核。

chatsrs.com 输入一句自然语言指令,即可获得:

  • 自动判断并执行正确的非参数检验类型
  • 各组中位数和 IQR 描述统计三线表
  • U/W/H 统计量、Z 值、p 值完整输出
  • 效应量 r 或 epsilon-squared 自动计算并解读
  • Dunn / Wilcoxon 事后比较(Bonferroni 校正)
  • 可直接粘贴进论文的 APA 7th 文字段落

相关阅读


本文首发于 ChatSRS 官方博客。如有问题或反馈,欢迎在 ChatSRS 站内 [用户中心 -> 帮助与反馈] 联系我们。