跳到主要内容
临床统计方法速查站
方法分类

Wilcoxon 秩和 / 符号秩检验 Wilcoxon Rank-Sum / Signed-Rank Test (Wilcoxon)

用秩而非原始数值比较两组独立样本,或检验配对差值的位置变化。

统计原理

把两组观测合并后从小到大赋秩,再比较一组的秩和。没有并列值时,组 1 的 Mann-Whitney 统计量可写为:

U1=R1−n1(n1+1)2U_1=R_1-\frac{n_1(n_1+1)}{2}

其中 R1R_1 是组 1 的秩和。检验利用相对次序,因此对单调变换不敏感,也比均值检验更不受极端值影响;但它检验的是分布位置,而不自动等同于“中位数之差”。

示例数据驱动
原始 CHG 如何变成合并平均秩

上排保留原值,下排显示把两组合并排序后的秩;同色连线追踪同一名受试者,并列值共享平均秩。

↔ 小屏可横向滑动;键盘聚焦后用左右方向键 Wilcoxon 原始变化值到合并平均秩的映射 每条连线追踪同一受试者;青色圆点为 Drug A,琥珀色圆点为 Placebo,并列原值获得相同平均秩。 05-001 · Drug A · CHG -6 05-001 · Drug A · 平均秩 3.5 05-002 · Drug A · CHG -5 05-002 · Drug A · 平均秩 6 05-003 · Drug A · CHG -5 05-003 · Drug A · 平均秩 6 05-004 · Drug A · CHG -4 05-004 · Drug A · 平均秩 9 05-005 · Drug A · CHG -7 05-005 · Drug A · 平均秩 2 05-006 · Drug A · CHG -3 05-006 · Drug A · 平均秩 12 05-007 · Drug A · CHG -6 05-007 · Drug A · 平均秩 3.5 05-008 · Drug A · CHG -4 05-008 · Drug A · 平均秩 9 05-009 · Drug A · CHG -5 05-009 · Drug A · 平均秩 6 05-010 · Drug A · CHG -8 05-010 · Drug A · 平均秩 1 05-011 · Placebo · CHG -2 05-011 · Placebo · 平均秩 15 05-012 · Placebo · CHG -1 05-012 · Placebo · 平均秩 18 05-013 · Placebo · CHG -3 05-013 · Placebo · 平均秩 12 05-014 · Placebo · CHG -2 05-014 · Placebo · 平均秩 15 05-015 · Placebo · CHG 0 05-015 · Placebo · 平均秩 20 05-016 · Placebo · CHG -1 05-016 · Placebo · 平均秩 18 05-017 · Placebo · CHG -4 05-017 · Placebo · 平均秩 9 05-018 · Placebo · CHG -2 05-018 · Placebo · 平均秩 15 05-019 · Placebo · CHG -1 05-019 · Placebo · 平均秩 18 05-020 · Placebo · CHG -3 05-020 · Placebo · 平均秩 12 Drug A:R₁ = 58 U₁ = 58 − 55 = 3

口径example.csv:20 个 Week 8 CHG;Drug A 秩和 R=58,按本页定义 U=3。

什么时候用

当 estimand 事前定义为分布/秩位置比较,或终点本质上是有序评分且不适合均值模型时,可按 SAP 使用非参数检验。两独立组用 Wilcoxon rank-sum(Mann-Whitney U);成对数据用 Wilcoxon signed-rank。不能只因正态性检验不显著或数据看起来偏态,就在运行后把预设的均值 estimand 换成秩比较。

SAP 里长这样:

Change from baseline in the pain score at Week 8 will be compared between treatment groups using the Wilcoxon rank-sum test (Mann-Whitney U test). For small samples, an exact or Monte Carlo p-value will be reported. Within-subject paired changes may be assessed using the Wilcoxon signed-rank test.

看到 Wilcoxon rank-sum / Mann-Whitney U / signed-rank / non-parametric / exact p-value,即可定位到本页。

适用条件速查卡

项条件
终点类型连续型或有序型,可排序
组数本页核心代码为 2 个独立组;配对版本要求真实成对观测
分析数据范围示例限定 PARAMCD='PAINNRS'、AVISIT='Week 8'、ANL01FL='Y',每名受试者一行
解释前提若解释为位置/中位数差,两组分布形状应大致相似
备选方法近似正态且关注均值 → t 检验;有协变量的非参数分析需按 SAP 另行指定

核心 SAS 代码

proc import datafile="example.csv" out=adeff_raw dbms=csv replace;
  guessingrows=max;
run;

data adeff;
  set adeff_raw;
  where paramcd='PAINNRS' and avisit='Week 8' and anl01fl='Y';
run;

/* Shell 中位数与四分位数的描述部分 */
proc univariate data=adeff noprint;
  class trt01p;
  var chg;
  output out=summary n=n median=median q1=q1 q3=q3;
run;

/* 两独立组 Wilcoxon 秩和检验 */
proc npar1way data=adeff wilcoxon;
  class trt01p;
  var chg;
  exact wilcoxon;
run;

/* 配对示例:同一受试者的基线与 Week 8,只演示 Drug A 组内差值 */
data paired_druga;
  set adeff(where=(trt01p='Drug A'));
  paired_diff=aval-base;
run;

ods output TestsForLocation=paired_location_tests;
proc univariate data=paired_druga mu0=0;
  var paired_diff;
run;
ods output close;

data paired_signed_rank;
  set paired_location_tests;
  where upcase(test)='SIGNED RANK';
run;

proc print data=paired_signed_rank noobs;
run;
  • PROC NPAR1WAY 的 CLASS 变量在本例必须只有 Drug A 和 Placebo 两个水平。
  • 本页只有 20 例,EXACT WILCOXON 直接枚举精确分布,不使用 Monte Carlo,因而没有随机种子和重复运行波动。数据较大而必须用 MC 时,应在 SAP/程序中显式固定 N= 和正整数 SEED=,并报告 Monte Carlo 误差。
  • 配对 signed-rank 不是把 CLASS 改名即可,需要以稳定的 pair/USUBJID 对齐两次测量,先构造每对差值,再对差值做单样本符号秩分析。本 CSV 每人同时有 BASE 和 AVAL,因此示例用 PAIRED_DIFF=AVAL-BASE。
  • PROC UNIVARIATE MU0=0 中 TestsForLocation 的 Signed Rank 行回答 Drug A 组内 Week 8 相对基线的差值位置是否为 0。它不是 Drug A 与 Placebo 的治疗间对比,不能冒充随机化比较的主效应。

变量解释表

变量含义典型来源
USUBJID受试者唯一标识ADSL.USUBJID
TRT01P计划治疗组ADSL.TRT01P
PARAMCD分析参数代码ADEFF.PARAMCD
AVISIT分析访视ADEFF.AVISIT
ANL01FL主分析记录标志ADEFF.ANL01FL
BASE / AVAL / CHG基线值、分析值及较基线变化ADEFF

输出对照

以下为字段定位,不预填未经 SAS 9.4 核验的数值。

SAS 输出编号对应 shell
UNIVARIATE 输出 N①每组 n
Median②每组 Median
Q1 / Q3③每组 Q1, Q3 或 IQR
Wilcoxon Two-Sample Test 的 Z④正态近似检验统计量(若 shell 要求)
Pr > |Z|⑤正态近似双侧 p-value
Exact 双侧 p-value⑥小样本方案指定的直接 exact p-value
PAIRED_SIGNED_RANK / Signed Rank⑦Drug A 组内 AVAL-BASE 相对 0 的符号秩统计量和 p-value(配对教学示例)

典型非参数 shell 的描述行填写 ①、② (③);独立两组检验行按 SAP 在 ⑤ 与 ⑥ 中选择,只有预设的组内配对问题才读取 ⑦。Hodges-Lehmann 位置差及其 CI 若被要求,需使用经验证的独立估计步骤,不能由本表字段臆算。

示例数据与程序

  • example.csv — 含并列秩的 20 例原创模拟疼痛评分数据
  • example.sas — 中位数汇总、独立秩和的直接 exact,以及 Drug A 组内配对 signed-rank 教学示例

常见坑

常见坑

  • 把 p 值解释成中位数差检验:只有分布形状相近时,位置差才可近似用中位数描述。
  • 并列值很多仍忽略校正:量表数据常有大量 ties,应核对正态近似的并列秩修正或方案指定的 exact 结果。
  • MC 结果不可复现:如果指定 / MC 却留下默认 10,000 次且不设 SEED=,p 值会随运行改变。小样本可直接 exact;必须 MC 时同时固定抽样数和 seed。
  • rank-sum 与 signed-rank 混用:前者用于独立组,后者用于成对差值。
  • 自行补报 Hodges-Lehmann CI:估计方法和 CI 算法必须预先规定并独立验证。

原始方法与 SAS 实现依据:Wilcoxon (1945), Individual Comparisons by Ranking Methods;SAS/STAT 15.3 PROC NPAR1WAY 官方文档。

相关方法