2

我在网上冲浪并没有找到满意的答案。

如何为测试数据集中的每个观察结果从 lmer 对象生成预测区间?

train_ind <- sample(seq(1:nrow(iris)), size = nrow(iris)/2, replace = F)
TRAIN <- iris[train_ind,]
TEST <- iris[-train_ind,]

m1 <- lmer(Sepal.Length ~ Sepal.Width + Petal.Length + (1|Species), data = TRAIN)

interval与 predict 没有任何争论。sim显然不起作用,所以我需要使用 LMER 附带的 mcmc 函数并从分位数中提取?

4

1 回答 1

1

我们刚刚发布了一个名为merTools简化此过程的软件包。它不提供完整的预测区间,因为它跳过了模拟 中的theta项的步骤merMod,但它确实产生了一个区间,该区间说明了模型中固定效应系数、随机效应系数和残差的变化。它也非常快。

library(merTools)
preds <- predictInterval(m1, n.sims = 500, level = 0.9, stat = 'median')
head(preds)

就这么简单,你可以改变你想要返回的值,返回yhat的所有模拟值,你还可以调整你有兴趣获得的预测区间的宽度。

于 2015-08-13T14:29:04.913 回答