方差分析 Analysis of Variance (ANOVA)
比较三个及以上独立治疗组的连续终点均值,并给出总体 F 检验和按计划的两两比较。
统计原理
ANOVA 把总变异拆成组间变异和组内变异:
若各组均值接近,组间均方不会明显大于组内均方,F 值接近 1;若治疗组均值相对组内波动明显分离,F 值增大。总体 F 检验控制一次总体假设,但后续多次两两比较仍需单独控制多重性。
F 统计量比较组间变异和组内变异。
什么时候用
终点是连续型、治疗组有三个及以上,且目标是先检验是否存在总体组间差异时使用单因素 ANOVA。总体检验显著并不自动说明哪两组不同;两两比较和多重性处理须按 SAP 预先规定。
SAP 里长这样:
Change from baseline at Week 8 will be analyzed using a one-way analysis of variance (ANOVA) with treatment group as a fixed effect. The overall treatment effect will be assessed by an F-test, followed by prespecified pairwise comparisons of each active dose versus placebo.
看到 one-way ANOVA / F-test / overall treatment effect / pairwise comparisons,即可定位到本页。
适用条件速查卡
| 项 | 条件 |
|---|---|
| 终点类型 | 连续型 |
| 组数 | 通常 3 组及以上独立样本 |
| 分析数据范围 | 示例限定 PARAMCD='SBP'、AVISIT='Week 8'、ANL01FL='Y',每名受试者一行 |
| 主要假设 | 观察独立、组内残差近似正态、组间方差齐性 |
| 不满足时 | 明显偏态 → Kruskal-Wallis;需校正基线 → ANCOVA;多访视 → MMRM |
核心 SAS 代码
proc import datafile="example.csv" out=adeff_raw dbms=csv replace;
guessingrows=max;
run;
data adeff;
set adeff_raw;
where paramcd='SBP' and avisit='Week 8' and anl01fl='Y';
run;
proc glm data=adeff;
class trt01p;
model chg = trt01p;
means trt01p / hovtest=levene; /* 方差齐性诊断 */
quit;
/* 同一个一因素固定效应模型;直接输出组间差、95% CI 和 p 值 */
proc mixed data=adeff;
class trt01p;
model chg = trt01p;
lsmeans trt01p / diff=all cl;
run;
MODEL的治疗效应 F 检验回答“至少有一组均值不同”。- 非平衡设计应读取 Type III SS;本例只有单一治疗效应,Type I 与 Type III 结论通常一致。
PROC GLM提供总体 F 检验和 Levene 诊断;随后相同的一因素固定效应模型用PROC MIXED的DIFF CL直接输出差值、95% CI 与 p 值。DIFF=ALL会产生所有两两比较;正式输出只保留 SAP 指定的对比,并按方案处理多重性。
变量解释表
| 变量 | 含义 | 典型来源 |
|---|---|---|
| USUBJID | 受试者唯一标识 | ADSL.USUBJID |
| TRT01P | 计划治疗组/剂量组 | ADSL.TRT01P |
| PARAMCD | 分析参数代码 | ADEFF.PARAMCD |
| AVISIT | 分析访视 | ADEFF.AVISIT |
| ANL01FL | 主分析记录标志 | ADEFF.ANL01FL |
| CHG | 目标访视较基线变化 | ADEFF.CHG |
输出对照
以下为字段定位,不预填未经 SAS 9.4 核验的数值。
| SAS 输出 | 编号 | 对应 shell |
|---|---|---|
| Type III SS 表的 F Value | ① | Overall treatment effect 的 F statistic |
| Type III SS 表的 Pr > F | ② | Overall treatment effect 的 p-value |
| Least Squares Means 的 LSMean | ③ | 各组 LS Mean |
| Least Squares Means 的 Standard Error | ④ | 各组 SE |
| Differences of Least Squares Means 的 Estimate | ⑤ | 计划的组间差;按 TRT01P / _TRT01P 两列确认方向 |
| Differences of Least Squares Means 的 Lower / Upper | ⑥ | 组间差 95% CI |
| Differences of Least Squares Means 的 Pr > |t| | ⑦ | 两两比较 p-value |
典型剂量探索 shell 中,总体检验行填写 ① / ②,每个预设剂量与 Placebo 的比较行填写 ⑤ (⑥) 和 ⑦;是否展示调整后 p 值由 SAP 决定。
示例数据与程序
- example.csv — Placebo、Low Dose、High Dose 三组共 24 例原创模拟数据
- example.sas — 数据限定、Levene 诊断、总体检验和两两比较程序
常见坑
常见坑
- 总体显著就宣称所有组均不同:F 检验只说明至少一组不同,具体差异来自预设对比。
- 忽略多重性:多个剂量与对照、全部两两比较会增加假阳性,调整规则必须按 SAP。
- 非平衡设计读错平方和:存在不等样本量或其他效应时,应使用方案指定的 Type III 结果。
- 混入重复访视:单因素 ANOVA 假设观察独立,多访视记录应改用 MMRM。
相关方法
- 协方差分析 校正基线值后的组间连续终点比较,输出 LS Mean 及组间差(95% CI)。
- 重复测量混合模型 联合分析多个访视的连续终点,建模受试者内相关性并估计目标访视的组间差。
- t 检验(两样本/配对) 比较两个独立组的均值,或比较同一受试者两个时点的配对均值差。