SAS中给出了不针对不同类型的填补变量、协变量以及不同缺失模式下填补方法的汇总,具体可以参考SAS Help。填补的方法包括Monotone缺失模式下的Regression、Monotone和Non-monotone模式下都可以用的FCS和MCMC等。Regression方法用的较多,同时也比较好理解,FCS和MCMC则相对比较复杂一些。汇总了各个方法相应的填补过程及相关公式,可以帮助更好的理解方法。
1. Regression imputation
该填补方法只能在Monotone缺失模式下使用。
填补基于线性回归,待填补变量作为因变量,其余认为可能与缺失数据有关的变量作为自变量。模型的回归参数通过待填补变量完整的记录估计,因此该模型假设的是缺失受试者与不缺失的受试者具有相同的趋势。
如访视3缺失,在Monotone模式下,均有数据。
回归模型将基于均有数据的记录进行估计,即
i:第i个受试者, 通过不缺失的记录获得模型参数。
缺失的受试者将通过上述模型进行估计。 访视4、5、6、... ...、i 缺失的受试者,重复上述的过程,模型的自变量将包括对应的i-1个访视的结果。
实际填补时,由于需要随机产生数据,而每次填补将产生不同的数据,填补结果并不直接来源于上述的回归方程,而是通过该方程相关的参数产生一个多元正态分布,每次填补时从该分布中随机产生一组β用于填补。
公式帮助理解:
2. Full Conditional Specification
FCS可以同时用于Monotone和non-monotone两种缺失模式。该方法使用一系列单变量模型(每个待填补变量对应一个模型,变量填补顺序与Var中声明顺序相同),类似于前面提到的回归填补。填补包括Fill-in和Imputation两步:
1. Fill-in:缺失,则通过已观测到的产生条件概率分布,从贝叶斯后验分布中产生新的参数,填补值。填补完成后,再用已填补完的数据及已观测到的数据重复上述步骤,填补第2个缺失变量,,。直到所有变量填补完成。
2. Imputation:该步骤中进行填补。填补时,将未缺失的记录及其他变量均放入模型,从模型中获得新的参数,产生填补值。填补时,同样将已填补完的及未缺失的放入模型填补。t为迭代次数,t=0时即为第1步中产生的值,t>0时为第t次迭代的值。SAS中通过NBITER=控制迭代次数,FCS命令来实现。
公式帮助理解:
3. Joint modeling
该方法与FCS类似,可以同时用于monotone和non-monotone,但并不采用回归填补,而是通过MCMC(Markov Chain Monte Carlo)法从贝叶斯后验分布中抽样以产生每次填补值。
SAS中通过MCMC命令来实现。
当使用MCMC时,Class选项不能使用。分类变量需要以数值的形式进入模型,多分类变量以dummy code进入。