在R中使用模型平均和MuMln预测的误差

在R中使用模型平均和MuMln预测的误差,r,predict,R,Predict,我使用R中的MuMln包得到一个平均模型(),并从中进行预测。该包还包括一个专门针对model.avg()返回的对象的predict函数。我尝试使用列出的示例,代码如下: # Example from Burnham and Anderson (2002), page 100: fm1 <- lm(y ~ X1 + X2 + X3 + X4, data = Cement) ms1 <- dredge(fm1) # obtain model aver

我使用R中的MuMln包得到一个平均模型(),并从中进行预测。该包还包括一个专门针对
model.avg
()返回的对象的
predict
函数。我尝试使用列出的示例,代码如下:

   # Example from Burnham and Anderson (2002), page 100: 
     fm1 <- lm(y ~ X1 + X2 + X3 + X4, data = Cement)

     ms1 <- dredge(fm1)

  # obtain model average for AIC delta <2
    avgm <- model.avg(ms1, subset=delta<2)

  # predict from the averaged model
    averaged.full <- predict(avgm, full = TRUE)
#来自伯纳姆和安德森(2002)的示例,第100页:
fm1当您直接从
“模型选择”
对象创建
“平均化”
对象时,它不包含组件模型,组件模型是
预测
工作所必需的。您可以使用
model.avg(…,fit=TRUE)
,它将再次适合模型

为了避免两次拟合模型,可以首先创建一个包含所有模型的列表
lappy(疏通(…,evaluate=FALSE),eval)
以及之后 在其上使用
model.avg(…,subset=…)

当您直接从
“model.selection”
对象创建
“averaging”
对象时,它不包含
predict
工作所需的组件模型。您可以使用
model.avg(…,fit=TRUE)
,它将再次适合模型

为了避免两次拟合模型,可以首先创建一个包含所有模型的列表
lappy(疏通(…,evaluate=FALSE),eval)
以及之后
在上面使用
model.avg(…,subset=…)

Ah我明白了。为什么它必须是
evaluate=FALSE
?很抱歉,我不太熟悉基本的
eval
函数,它能代替它吗?基本上,使用
evaluate=FALSE
生成命令列表(
lm(…)
)并执行它们。否则,
droge
将运行一次模型,
get.models
model.avg(…,fit=TRUE)
将再次运行它们。如果有少量的小模型,那么计算时间就没有明显的差异。我遇到了不同的问题。函数运行,但预测估计值不正确<代码>我明白了。为什么它必须是
evaluate=FALSE
?很抱歉,我不太熟悉基本的
eval
函数,它能代替它吗?基本上,使用
evaluate=FALSE
生成命令列表(
lm(…)
)并执行它们。否则,
droge
将运行一次模型,
get.models
model.avg(…,fit=TRUE)
将再次运行它们。如果有少量的小模型,那么计算时间就没有明显的差异。我遇到了不同的问题。函数运行,但预测估计值不正确<代码>pred