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

Cochran-Mantel-Haenszel 检验 Cochran-Mantel-Haenszel Test (CMH)

在预先规定的中心或随机分层因素内比较治疗组二分类结局,并给出分层校正检验与共同 OR。

统计原理

CMH 先在每个层 kk 内比较治疗与结局的关联,再把“观察到的 Drug A 应答数”与无关联假设下的期望值合并:

QCMH=[k{akE(ak)}]2kVar(ak)H0χ12.Q_{CMH}= \frac{\left[\sum_k\{a_k-E(a_k)\}\right]^2} {\sum_k\operatorname{Var}(a_k)} \overset{H_0}{\approx}\chi^2_1.

对于分层 2×2 表,共同优势比的 Mantel-Haenszel 估计为:

OR^MH=kakdk/nkkbkck/nk.\widehat{OR}_{MH}= \frac{\sum_k a_kd_k/n_k}{\sum_k b_kc_k/n_k}.

它回答的是“控制分层因素后,治疗与结局是否仍有关联”,而不是把层变量当作连续协变量拟合一条回归线。

在各分层内比较

先得到层内关联,再组合为分层校正后的总体证据。

什么时候用

终点是二分类或有序分类,试验设计或 SAP 指定了中心、基线严重程度等分层因素,需要在这些层内比较治疗组,再合并得到分层校正结论时使用 CMH。

SAP 里长这样:

The response rates at Week 8 will be compared between treatment groups using a Cochran-Mantel-Haenszel test, stratified by pooled site. The general association statistic and the Mantel-Haenszel common odds ratio will be presented.

看到 CMH / stratified by / pooled site / general association 等词,即可定位到本页。

适用条件速查卡

条件
终点类型本页主例为二分类;有序分类需按 SAP 选 Row Mean Scores 等统计量
组数本页代码和 OR 方向说明限定 2 个治疗组
分层因素层在分析前定义,各受试者只属于一个层;层内必须能形成治疗×结局表
输入范围已限定分析集、目标参数和目标访视,每名受试者一条记录
关键假设各层治疗效应可用一个共同方向概括;极稀疏层的处理规则由 SAP 规定
不适用时需要连续协变量或多个协变量 → Logistic;无分层因素 → 卡方/Fisher

核心 SAS 代码

proc freq data=adeff order=data;
  /* 三维表顺序必须是:层 * 治疗组(行) * 结局(列) */
  tables sitegr1*trt01p*avalc / cmh;
run;
  • SITEGR1*TRT01P*AVALC 的顺序不可随意交换:第一维是层,第二维是行变量,第三维是列变量。
  • 本页数据让 Drug A 和应答 Y 首先出现;order=data 因而使共同 OR 大于 1 表示 Drug A 的应答优势。
  • 二分类主例读取 General Association 行;有序终点是否读取 Row Mean Scores,必须以 SAP 的评分和统计量定义为准。

变量解释表

变量含义典型来源
USUBJID受试者唯一标识ADSL.USUBJID
SITEGR1预先定义的合并中心/分层因素ADSL.SITEGR1
TRT01P计划治疗组;本页第一行是 Drug AADSL.TRT01P
AVALC二分类结局;Y=应答,N=未应答ADEFF.AVALC

输出对照

以下数值由本页 40 例模拟数据在 SAS 9.4 TS1M8(SAS/STAT 15.3)实跑获得;表格样式为关键输出的精简展示。

各层应答计数

SITEGR1Drug A, Y/NPlacebo, Y/N
S018/10 (80.0%) ①4/10 (40.0%) ②
S026/10 (60.0%) ①3/10 (30.0%) ②

CMH Statistics / Common Odds Ratio

输出行Value95% CIPr > ChiSq
General Association4.7744 ③0.0289 ④
Mantel-Haenszel Common Odds Ratio4.5000 ⑤(1.1635, 17.4045) ⑥
Shell 行填入
Response, n/N (%) — 各治疗组从层合并后的治疗组频数表填写
Stratified CMH p-value
Common odds ratio(若 shell 要求)⑤,95% CI 为 ⑥;按输出标签确认 Drug A vs Placebo 的方向

示例数据与程序

  • example.csv — 40 例原创模拟受试者,两个合并中心
  • example.sas — 读入数据并运行分层 CMH 分析

常见坑

实战边界

  • tables 顺序:必须核对“层×行×列”;交换治疗和结局会改变 OR 标签与解释。
  • 层定义不能事后改:中心合并阈值、随机分层变量和缺失层的处理必须来自 SAP/ADaM 规范。
  • 共同效应不是自动成立:若各层 OR 方向明显冲突,应检查数据和异质性,不能只报一个合并 OR。
  • 统计量选择:General Association、Row Mean Scores 等并非可互换;按终点尺度和 SAP 指定行取值。

相关方法