我以前从未做过这么复杂的建模,所以我想确保选择最合适的方法。
我有一个特定动物群体的比例数据,在一个地方捕获的动物总数(一项研究)。我想模拟不同大小类别中小组中动物的比例(总数)是否随时间而变化。我想也包括一些随机效果:
随机效应是:
学习ID(身份证号码)
国家/地区(多层次因素)
固定效果是:
响应变量,可以是:
在每项研究中,我可能有比例或小,中,大个体,如果他们被捕获(从捕获的相同总数),但后来我有很多研究,不同的总数被捕获。大多数响应值介于0和1之间,但385个数据点中的一些也是0或1(即没有个人或所有个体都是中小型的。)
最初我想过建模:
ger1 <- glmer(cbind(individualsGroup, total) ~ year*size + (1|studyID) +
(1|country), family = binomial, data = DF)
但是我得到了收敛警告:
Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge with max|grad| = 2.85734 (tol = 0.001, component 1)
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model is nearly unidentifiable: very large eigenvalue
- Rescale variables?;Model is nearly unidentifiable: large eigenvalue ratio
- Rescale variables?
然后我读了here一个建议使用glmmTMB的回复,我尝试如下:
tmb1<- glmmTMB(proportion ~ year*size + (1|studyID) + (1|country), DF,
family=list(family="beta",link="logit"))
使用该模型,我收到警告:
Warning messages:
1: In nlminb(start = par, objective = fn, gradient = gr) :
NA/NaN function evaluation
2: In nlminb(start = par, objective = fn, gradient = gr) :
NA/NaN function evaluation
有人可以就如何解决这个问题提出任何建议,或建议其他方案吗?