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

多重插补 Multiple Imputation (MI)

在明确缺失机制和插补模型后生成多套完整数据,逐套执行同一分析,再用 Rubin 规则合并估计和不确定性。

统计原理

多重插补不会把每个缺失值替换成一个“最可能值”,而是从预测分布中生成 MM 套不同的合理完整数据。每套数据用完全相同的分析模型得到估计 θ^m\hat\theta_m 和方差 UmU_m。Rubin 规则先求

θˉ=1Mm=1Mθ^m,Uˉ=1Mm=1MUm,\bar\theta=\frac{1}{M}\sum_{m=1}^{M}\hat\theta_m, \qquad \bar U=\frac{1}{M}\sum_{m=1}^{M}U_m,

再计算插补间方差

B=1M1m=1M(θ^mθˉ)2,B=\frac{1}{M-1}\sum_{m=1}^{M}(\hat\theta_m-\bar\theta)^2,

总方差为

T=Uˉ+(1+1M)B.T=\bar U+\left(1+\frac{1}{M}\right)B.

因此标准误同时反映每套完整数据内的不确定性和“缺失值可能是什么”的不确定性。

多份完整数据合并不确定性

每份插补数据单独分析,再按 Rubin 规则合并组内与组间方差。

本页 FCS 回归模型假设:在治疗组和基线已知后,缺失 AVAL 与其未观察值相互独立,即 MAR 条件可接受。MAR 不是数据可以证实的事实;需要以同一 estimand 为目标的 MNAR 敏感性分析(例如 tipping-point)评估结论稳健性。

什么时候用

连续终点有缺失,SAP 规定用 multiple imputation 生成多套完整数据,并要求每套数据按同一 ANCOVA/回归模型分析、最后用 Rubin 规则合并时使用。

SAP 里长这样:

Missing Week 8 values will be multiply imputed under a missing-at-random assumption using fully conditional specification with treatment and baseline included in the imputation model. Twenty imputed data sets will be analyzed using the prespecified ANCOVA model, and results will be combined using Rubin’s rules.

看到 MI / FCS / MICE / MAR / imputation model / Rubin’s rules,要同时确认插补变量、预测变量、插补次数、随机种子、分析模型和 complete-data DF。

适用条件速查卡

条件
本页终点单一目标访视连续 AVAL;CHG=AVAL−BASE
缺失模式AVAL 可缺失,TRTAN 与 BASE 完整
插补方法FCS regression,AVAL = TRTAN + BASE
缺失假设条件于治疗与基线的 MAR
分析模型每套数据 CHG = TRTAN + BASE
合并规则PROC MIANALYZE / Rubin 规则
关键一致性插补模型至少应包含分析模型中的结局、治疗和协变量,并与 estimand/缺失处理策略相容

核心 SAS 代码

proc mi data=adeff seed=314159 nimpute=20 out=miout;
  fcs reg(aval = trtan base);
  var trtan base aval;
run;

data miout;
  set miout;
  chg=aval-base;
run;

proc sort data=miout;
  by _imputation_;
run;

proc reg data=miout outest=regest covout noprint;
  model chg=trtan base;
  by _imputation_;
run;

proc mianalyze data=regest edf=27;
  modeleffects intercept trtan base;
run;
  • _IMPUTATION_ 标识每套完整数据;分析过程必须按它分组,不能把 M×NM\times N 行当成一个超大样本。
  • OUTEST=... COVOUT 同时保存每套回归系数和协方差,供 PROC MIANALYZE DATA= 读取。
  • 示例 EDF=27 来自 30 例减去 3 个回归系数;正式分析应按目标模型和分析集确定 complete-data DF。

变量解释表

变量含义典型来源
USUBJID受试者唯一标识ADSL.USUBJID
TRT01P计划治疗的显示标签ADSL.TRT01P
TRTAN数值治疗指示;Drug A=1,Placebo=0ADSL.TRT01PN
BASE基线值,完整预测变量ADEFF.BASE
AVAL目标访视分析值,部分缺失ADEFF.AVAL
CHG插补后计算的 AVAL−BASE分析程序派生
IMPUTATION插补编号 1…20PROC MI

输出对照

以下数值由本页 20 套插补在 SAS 9.4 TS1M8 / SAS/STAT 15.3 以固定 seed 实跑获得。先检查插补诊断,再读取合并治疗系数。

SAS 输出实跑值对应 shell / QC
Missing Data PatternsAVAL 缺失 6/30缺失模式 QC
Number of Imputations / Seed20 / 314159可重复性记录
MIANALYZE / TRTAN Estimate6.9038Drug A − Placebo 调整后 CHG 差
TRTAN Std Error0.3273Rubin 合并 SE
TRTAN 95% CI(6.2130, 7.5945)治疗差 95% CI
TRTAN DF / p-value16.914 / <.0001合并自由度和治疗 p-value

正式 shell 的脚注应写明 20 imputations, MAR, FCS regression 以及插补模型和分析模型。诊断表用于 QC,不应把任一单套插补结果抄成正式治疗效应。

示例数据与程序

  • example.csv — 30 例、两组且 AVAL 部分缺失的原创模拟数据
  • example.sas — FCS 插补、逐套回归与 Rubin 合并完整程序

常见坑

插补模型、分析模型和 estimand 要对齐

  • 只插补一次:单次插补没有插补间方差,会低估标准误。
  • 把插补数据堆叠后直接分析:样本量被虚增;必须按 _IMPUTATION_ 分析并用 MIANALYZE 合并。
  • 漏掉治疗或重要预测变量:可能削弱治疗效应或使 MAR 条件更难成立。
  • 插补出量表范围外数值:普通正态回归可能越界;是否采用 PMM、截断或变换必须预设并评估其影响。
  • 把 MAR 写成已验证:缺失机制包含不可检验部分,应以 MNAR 敏感性分析考察结论。
  • 用固定种子代替 Monte Carlo 检查:种子保证复现,不保证插补次数足够;正式分析还要评估 Monte Carlo 误差。

SAS 语法依据:PROC MI FCS 官方示例PROC MIANALYZE 官方示例。方法学边界依据:ICH E9(R1)EMA Missing Data Guideline

相关方法

  • 重复测量混合模型 联合分析多个访视的连续终点,建模受试者内相关性并估计目标访视的组间差。
  • Tipping-point 敏感性分析 对试验组缺失连续结局施加一系列 MNAR delta shift,寻找主结论首次翻转所需的缺失值偏离程度。