您正确地记下了汇总估计量:
U¯=1m∑i=1mUi
其中个估算数据集的分析结果。通常,分析结果具有一些正态近似分布,我们可以从中得出推断或创建置信区间。这主要是使用平均值 ( ) 及其标准误差来完成的。T 检验、线性回归、逻辑回归和基本上大多数分析都可以根据值及其标准误差进行充分总结。UiiUiUise(Ui)
鲁宾规则使用总方差定律将方差记为插补方差之间和内部的总和:
var(U¯)=E[var(U¯|Ui)]+var(E[U¯|Ui])
第一项是内方差,使得其中是方差来自第个完整或估算数据集的分析结果。后一项是插补间方差:。我从来没有完全掌握这里的 DF 校正,但这基本上是公认的方法。E[var(U¯|Ui)=1m∑mi=1ViViivar(E[U¯|Ui])=M+1M−1∑mi=1(Ui−U¯)2
无论如何,由于推荐的插补数量很小(Rubin 建议少至 5 个),通常可以通过手动拟合每个分析来计算这个数字。下面列出了一个手动示例:
require(mice)
set.seed(123)
nhimp <- mice(nhanes)
sapply(1:5, function(i) {
fit <- lm(chl ~ bmi, data=complete(nhimp, i))
print(c('coef'=coef(fit)[2], 'var'=vcov(fit)[2, 2]))
})
给出以下输出:
coef.bmi var
2.123417 4.542842
3.295818 3.801829
2.866338 3.034773
1.994418 4.124130
3.153911 3.531536
因此,内部方差是插补特定点估计方差的平均值:3.8(第二列的平均值)。之间的方差是第一列的 0.35 方差)。使用 DF 校正,我们得到方差 4.23。pool
这与包中给出的命令一致mice
。
> fit <- with(data=nhimp,exp=lm(chl~bmi))
> summary(pool(fit))
est se t df Pr(>|t|) lo 95 hi 95 nmis fmi lambda
(Intercept) 119.03466 54.716451 2.175482 19.12944 0.04233303 4.564233 233.505080 NA 0.1580941 0.07444487
bmi 2.68678 2.057294 1.305978 18.21792 0.20781073 -1.631731 7.005291 9 0.1853028 0.10051760
其中显示模型系数的 SE = 2.057,(方差 = SE**2 = 4.23)。
我看不出增加估算数据集的数量是如何产生任何特定问题的。如果您无法提供错误示例,我不知道如何提供更多帮助。但手工组合一定能适应多种造型策略。
本文讨论了总方差定律可以推导出合并估计方差的其他估计的其他方法。特别是,作者指出(正确地)鲁宾规则的必要假设不是点估计的正态性,而是称为投机性的东西。WRT 正态性,来自回归模型的大多数点估计在中心极限定理下都具有快速收敛性,而 bootstrap 可以向您展示这一点。