lme4:::profile.merMod() 应该与 glmer 模型一起使用吗?

Is lme4:::profile.merMod() supposed to work with glmer models?

lme4:::profile.merMod() 应该与 glmer 模型一起使用吗?负二项式模型呢?

我有一个引发此错误的负二项式模型:

Error in names(opt) <- profnames(fm, signames) : 'names' attribute [2] must be the same length as the vector [1]

当我尝试 运行 我模型上的配置文件函数 profile(model12) 以获得我的随机效应的标准误差时。

我是不是遗漏了什么或者这是 lme4 的问题?

我应该提到我使用的是 glmer(..., family = negative.binomial(theta = lme4:::est_theta(poissonmodel))) 而不是 glmer.nb() 因为我在使用 glmer.nb().

时遇到了 update() 函数的问题

我可以使用 CRAN 版本 (1.1-8) 重现您的错误。在最近的开发版本中 glmer.nb 已经有了一些改进,所以如果你安装了编译工具,我肯定会 devtools::install_github("lme4/lme4") 再试一次。此外,update() 现在可以更好地与 NB 模型配合使用,因此您可能不需要解决方法。

这适用于 1.1-9 版本:

library("lme4")
m1 <- glmer.nb(TICKS~cHEIGHT+(1|BROOD),data=grouseticks)
pp <- profile(m1)
lattice::xyplot(pp)

顺便说一下,您使用 est_theta 的解决方案仅执行迭代解决方案的初始步骤或第二步,其中 theta 值和其他参数交替优化 ...

m0 <- glmer(TICKS~cHEIGHT+(1|BROOD),data=grouseticks,family=poisson)
m2 <- update(m0, 
     family = negative.binomial(theta  = lme4:::est_theta(m0)))
cbind(glmer.nb=fixef(m1),pois=fixef(m0),fakenb=fixef(m2))
##                glmer.nb        pois      fakenb
## (Intercept)  0.58573085  0.56835340  0.57759498
## cHEIGHT     -0.02520326 -0.02521386 -0.02520702

profile() 在这个模型上也可以正常工作,至少在开发版本中是这样...