gpt4 book ai didi

r - glmer-使用二项式数据预测(结合计数数据)

转载 作者:行者123 更新时间:2023-12-04 10:35:17 28 4
gpt4 key购买 nike

我正在尝试根据我的二项式数据运行的glmer模型随时间(x轴上的天数)预测值。 Total Alive和Total Dead是计数数据。这是我的模型,以及下面的相应步骤。

full.model.dredge<-glmer(cbind(Total.Alive,Total.Dead)~(CO2.Treatment+Lime.Treatment+Day)^3+(Day|Container)+(1|index),
data=Survival.data,family="binomial")

正如您在代码(1:index)中所看到的,我们已经考虑了过度分散。

然后,我们使用dredge命令确定具有主要效果(CO2.Treatment,Lime.Treatment,Day)及其对应交互的最佳拟合模型。
dredge.models<-dredge(full.model.dredge,trace=FALSE,rank="AICc")

然后为他们制作一个工作区变量
my.dredge.models<-get.models(dredge.models)

然后,我们进行了模型平均,以求出最佳拟合模型的系数的平均值。
silly<-model.avg(my.dredge.models,subset=delta<10)

但是,现在我想创建一个图形,Y轴上的“总 Activity 量”,X轴上的“天数”,以及一条取决于模型输出的拟合线。我知道这很棘手,因为该模型将Total.Alive和Total.Dead串联在一起(请参阅模型中的 cbind(Total.Alive,Total.Dead)

当我尝试运行预测命令时,出现错误
# 9: In UseMethod("predict") :
# no applicable method for 'predict' applied to an object of class "mer"

最佳答案

您的大部分问题是您使用的是1.0版之前的lme4,而该版本未实现predict方法。 (更新将是最简单的,但是我相信,如果由于某种原因而不能这样做,http://glmm.wikidot.com/faq上有一个配方可以通过提取固定效果设计矩阵和系数来手工进行预测...)实际上这不是问题。与预测一起预测对数奇数(默认情况下)或概率(如果为type="response");如果要预测数字,则必须适本地乘以N。

您没有给出一个例子,但这是一个使用内置cbpp数据集的可重现(尽管有些琐碎)的示例(我确实收到了一些警告消息no non-missing arguments to max; returning -Inf,但是我认为这可能是由于只有模型中一个非平凡的固定效应参数?)

library(lme4)
packageVersion("lme4") ## 1.1.4, but this should work as long as >1.0.0
library(MuMIn)

以后使用(使用 ggplot)为比例添加变量很方便:
cbpp <- transform(cbpp,prop=incidence/size)

拟合模型(您也可以使用 glmer(prop~..., weights=size, ...))
gm0 <- glmer(cbind(incidence, size - incidence) ~ period+(1|herd),
family = binomial, data = cbpp)
dredge.models<-dredge(gm0,trace=FALSE,rank="AICc")
my.dredge.models<-get.models(dredge.models)
silly<-model.avg(my.dredge.models,subset=delta<10)

预测确实有效:
predict(silly,type="response")

创建图:
library(ggplot2)
theme_set(theme_bw()) ## cosmetic
g0 <- ggplot(cbpp,aes(period,prop))+
geom_point(alpha=0.5,aes(size=size))

设置预测框架:
predframe <- data.frame(period=levels(cbpp$period))

在总体级别上进行预测( ReForm=NA-在lme4`1.0.5中可能必须是 REForm=NA):
predframe$prop <- predict(gm0,newdata=predframe,type="response",ReForm=NA)

将其添加到图形中:
g0 + geom_point(data=predframe,colour="red")+
geom_line(data=predframe,colour="red",aes(group=1))

关于r - glmer-使用二项式数据预测(结合计数数据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21441817/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com