卡方检验 / Fisher 精确检验 Chi-Square Test / Fisher's Exact Test (Chi-square / Fisher)
比较两个独立治疗组的二分类结局比例,并按期望频数选择 Pearson 卡方或 Fisher 精确检验。
统计原理
Pearson 卡方检验比较每个格子的观测频数 与独立性假设下的期望频数 :
样本足够大时, 近似服从卡方分布。Fisher 精确检验则在行、列边际固定的条件下,直接用超几何分布计算当前表及同等或更极端表格的概率,不依赖大样本近似。
差距越大,独立性假设越不符合;小格频数低时用 Fisher。
什么时候用
终点是二分类(应答/未应答、发生/未发生),要比较两个独立治疗组的比例,且没有需要校正的分层因素或协变量时使用。样本量充足时通常报告 Pearson 卡方检验;稀疏小样本时按 SAP 预先规定的规则改用 Fisher 精确检验。
SAP 里长这样:
The response rates at Week 8 will be compared between treatment groups using a Pearson chi-square test. If any expected cell count is less than 5, a two-sided Fisher’s exact test will be used instead.
看到 chi-square / expected cell count / Fisher’s exact / two-sided 等词,即可定位到本页。
适用条件速查卡
| 项 | 条件 |
|---|---|
| 终点类型 | 二分类,每名受试者在目标访视只有一个结局 |
| 组数 | 本页代码和输出对照限定 2 个独立治疗组 |
| 输入范围 | 已按 SAP 限定分析集、目标参数和目标访视;缺失值处理规则已明确 |
| Pearson 前提 | 观测独立,且期望频数达到 SAP 规定阈值 |
| Fisher 场景 | 任一格期望频数过小,或 SAP 明确指定精确检验 |
| 有分层/协变量时 | 分层因素 → CMH;需要 OR 或连续协变量 → Logistic 回归 |
核心 SAS 代码
proc freq data=adeff order=data;
/* 输入须先限定分析集、目标 PARAMCD 与目标 AVISIT */
tables trt01p*avalc / chisq fisher; /* 行=治疗组,列=结局;输出 Pearson 与 Fisher */
exact fisher; /* 请求 Fisher 精确 p 值 */
run;
- 本页模拟数据先出现
Drug A和Y,因此order=data将它们显示为第一行、第一列。 - 卡方和 Fisher 会同时生成;最终填 shell 的哪一个 p 值,必须按 SAP 的预设切换规则选择,不能看结果后再挑。
- 该程序只检验比例是否不同,不直接校正中心、基线或其他协变量。
变量解释表
| 变量 | 含义 | 典型来源 |
|---|---|---|
| USUBJID | 受试者唯一标识 | ADSL.USUBJID |
| TRT01P | 计划治疗组;本页第一行是 Drug A | ADSL.TRT01P |
| AVALC | 二分类分析结局;Y=应答,N=未应答 | ADEFF.AVALC |
输出对照
以下数值由本页 12 例模拟数据在 SAS 9.4 TS1M8(SAS/STAT 15.3)实跑获得;表格样式为关键输出的精简展示。
Cross-Tabular Frequencies
| TRT01P | Y | N | Total |
|---|---|---|---|
| Drug A | 5 | 1 | 6 |
| Placebo | 1 | 5 | 6 |
Chi-Square Tests / Fisher’s Exact Test
| 检验 | Statistic | DF | Two-sided Pr |
|---|---|---|---|
| Pearson Chi-Square | 5.3333 ① | 1 | 0.0209 ② |
| Fisher’s Exact | — | — | 0.0801 ③ |
本例每格期望频数均为 3,小于 5;若 SAP 采用“任一格期望频数 <5 则 Fisher”的规则,shell 应填 Fisher 结果。
| Shell 行 | 填入 |
|---|---|
| Response, n/N (%) — Drug A | 5/6 (83.3%) ④ |
| Response, n/N (%) — Placebo | 1/6 (16.7%) ⑤ |
| Two-sided p-value | ③(按本例 SAP 切换规则) |
示例数据与程序
- example.csv — 12 例原创模拟受试者,刻意包含稀疏格
- example.sas — 读入数据并同时运行 Pearson 卡方与 Fisher 精确检验
常见坑
实战边界
- 检验切换必须预设:期望频数阈值、单双侧和精确算法以 SAP 为准,不能根据哪个 p 值显著再决定。
- 百分比分母:ITT、Safety Set、非缺失受试者或可评价集可能不同;表内 n/N 必须与 shell 定义一致。
- 重复记录:同一受试者若保留多个访视,会破坏独立性;分析前先限定目标记录。
- 方向不是本检验的结论:p 值只说明比例是否有差异,治疗方向应结合各组率或另报率差/OR。
相关方法
- Logistic 回归 对二分类应答概率建模,校正基线和中心等协变量,并输出治疗组调整后 OR、95% CI 与 p 值。
- Cochran-Mantel-Haenszel 检验 在预先规定的中心或随机分层因素内比较治疗组二分类结局,并给出分层校正检验与共同 OR。