【发布时间】:2017-06-28 06:08:57
【问题描述】:
我发现predict 函数目前未在使用ordinal R 包中的clmm 函数拟合的累积链接混合模型中实现。虽然predict 是在同一个包中为clmm2 实现的,但我选择应用clmm,因为后者允许多个随机效果。此外,我还安装了几个clmm 模型,并使用MuMIn 包中的model.avg 函数执行模型平均。理想情况下,我想使用平均模型来预测概率。然而,虽然MuMIn 支持clmm 模型,但predict 也不适用于普通模型。
有没有办法破解predict 函数,以便该函数不仅可以预测来自clmm 模型的概率,还可以使用来自clmm 的模型平均系数进行预测(即“平均”类的对象) ?例如:
require(ordinal)
require(MuMIn)
mm1 <- clmm(SURENESS ~ PROD + (1|RESP) + (1|RESP:PROD), data = soup,
link = "probit", threshold = "equidistant")
## test random effect:
mm2 <- clmm(SURENESS ~ PROD + (1|RESP) + (1|RESP:PROD), data = soup,
link = "logistic", threshold = "equidistant")
#create a model selection object
mm.sel<-model.sel(mm1,mm2)
##perform a model average
mm.avg<-model.avg(mm.sel)
#create new data and predict
new.data<-soup
##predict with indivindual model
predict(mm1, new.data)
我收到以下错误消息:
在 UseMethod("predict") 中:
没有适用于 predict 的方法应用于“clmm”类的对象
##predict with model average
predict(mm.avg, new.data)
返回另一个错误:
predict.averaging(mm.avg, new.data) 中的错误:
predict 模型“mm1”和“mm2”导致错误
【问题讨论】:
-
为什么这个问题不直接问软件包作者?这似乎极有可能“过于宽泛”,因为它需要理论和实施的努力才能以有原则的方式进行。
标签: r predict mixed-models ordinal