merTools :: predictInterval中组件的含义

时间:2017-06-15 14:23:35

标签: r predict lme4

merTools::predictInterval选项设置为which时,我并不完全清楚which = 'all'函数对每个组件的确切预测。例如,

library(lme4)
library(merTools)
fm1 <- lmer(Reaction ~ Days + (1 | Subject), sleepstudy)
pred <- predictInterval(fm1, which = 'all')
pred[pred$obs == 1,]

返回

      effect      fit      upr        lwr obs
1   combined 293.6893 335.0569 249.310016   1
181  Subject  40.6980  82.8388  -4.490277   1
361    fixed 251.2517 292.0853 212.230277   1

我认为固定效果的适合度和随机效果主体的拟合将加起来适合组合效果。但是,我得到了:

> sum(pred[pred$obs == 1 & pred$effect %in% c('fixed','Subject'),]$fit)
[1] 291.9497

我在这里错误地解释了什么?

1 个答案:

答案 0 :(得分:0)

关键是predictInterval通过从后验分​​布中抽取来模拟预测区间。它呈现组件的方式是随机,固定和组合效果的独立绘制的结果。因此,从逻辑上讲,它们应该加上测量误差和效果本身的方差,并且通过有限数量的模拟,这些分布的均值或中位数不会与总和效果相加。

您可以将n.sims增加到一个非常大的数字(~5000,10,000),这个差距会更小。

但关键问题是这些行中的每一行都是后验独立抽取的结果。