在R中使用模型平均和MuMln预测的误差
我使用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
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