多重插补及其后分析推荐的过程是:1)创建m个插补集;2)分析每个插补集;3)合并汇总m个结果,R里的pool{mice}函数可以实现很多分析方法的汇总。堆叠加权其实并不是推荐的方法。所谓堆叠数据加权,是指将多个插补的数据集堆叠到单个数据集中,为每个记录分配固定权重1/m,然后直接对堆叠数据集进行加权分析。堆叠加权和将多重插补后每个数据集的结果进行平均一样,一般不建议使用,根本原因在于这种方法忽略了插补集之间的变异性,因此具有单一插补的所有缺点。m个插补集的估计值(回归系数)的方差应包括两部分,一部分是m个插补数据集组内方差的平均值,还有一部分是m个数据集之间的组间方差。很显然单一回归插补(不论是条件均值还是随机回归)、堆叠数据分析、插补集结果平均都忽略了组间方差,没有考虑插补集间的变异性。
当然如果你的分析目的在于点估计,在数据满足模型适用条件的前提下,堆叠数据的加权分析可以获得回归系数的无偏估计,常用于变量选择、模型预测。但要特别注意的是此时的检验统计量、置信区间、P值这些指标提供的结果可能是无效的。
不过既然有这么多人感兴趣,我们还是可以操作一下。
示例同《多重插补后应该用哪一次的插补结果进行最终的数据分析》。
##载入数据
##多重插补的简单分析过程
以上是推荐的分析过程,具体解读可参见《多重插补后应该用哪一次的插补结果进行最终的数据分析》。如果采用堆叠数据加权分析,需要首先在mice()后提取插补的堆叠数据集,这一步complete()函数就可以轻松实现。
##创建堆叠数据集
##数据加权
##二分类logistic加权回归
对比pool函数的合并结果,我们可以发现,堆叠数据加权分析的参数估计值同pool函数的合并结果差别不大,但堆叠加权分析的标准误相对偏小,这是因为堆叠加权分析没有考虑插补集之间的变异。
lm、glm、cph{rms}、coxph{survival}、glmnet{glmnet}等大量回归函数(线性、logistic、cox、poisson、lasso…)都带有加权的参数(weights),可以直接使用。
联系客服