繁体   English   中英

用 glmmTMB 安装 GLMER model

[英]fitting a GLMER model with glmmTMB

我正在尝试用 glmmTMB 拟合广义线性混合glmmTMB

summary(glmmTMB(cbind(SARA_ph58, 1)~ `Melk T`+VetT+EiwT+
    `VET EIWIT ratio`+LactT+CelT+UrmT+vetg+eiwitg+lactg+
    `DS opname`+`boluses per day`+`chewings per bolus`+
    `rumination (min/d)`+ Activiteit + (1|experiment),
     data = dataset1geenNA, family = binomial()))

当我运行此代码时,我得到一些 output 但也得到下一条警告消息:

1:in fitTMB(TMBStruc):Model收敛问题; 非正定 Hessian 矩阵。 见小插图('疑难解答')
2:在 sqrt(diag(vcov)) 中:产生了 NaN

有人知道如何解决这个问题吗?

Output:

 Family: binomial  ( logit )
Formula:          cbind(SARA_ph58, 1) ~ `Melk T` + VetT + EiwT + `VET EIWIT ratio` +      LactT + CelT + UrmT + vetg + eiwitg + lactg + `DS opname` +  
    `boluses per day` + `chewings per bolus` + `rumination (min/d)` +      Activiteit + (1 | experiment)
Data: dataset1geenNA

     AIC      BIC   logLik deviance df.resid 
      NA       NA       NA       NA       79 

Random effects:

Conditional model:
 Groups     Name        Variance  Std.Dev. 
 experiment (Intercept) 5.138e-08 0.0002267
Number of obs: 96, groups:  experiment, 3

Conditional model:
                       Estimate Std. Error z value Pr(>|z|)  
(Intercept)          -1.595e+01  1.605e+01  -0.994   0.3202  
`Melk T`             -2.560e-01  1.330e-01  -1.925   0.0542 .
VetT                 -7.499e+00  3.166e+00  -2.369   0.0178 *
EiwT                  8.353e+00  4.885e+00   1.710   0.0872 .
`VET EIWIT ratio`     2.100e+01  1.545e+01   1.359   0.1742  
LactT                -2.086e+00  8.571e-01  -2.434   0.0149 *
CelT                 -1.430e-04  6.939e-04  -0.206   0.8367  
UrmT                  1.300e-02  3.978e-02   0.327   0.7438  
vetg                  1.166e-03         NA      NA       NA  
eiwitg               -2.596e-03  5.180e-03  -0.501   0.6162  
lactg                 7.862e-03         NA      NA       NA  
`DS opname`          -1.882e-02  8.416e-02  -0.224   0.8231  
`boluses per day`    -3.200e-02  1.226e-01  -0.261   0.7940  
`chewings per bolus`  1.758e-02  6.688e-02   0.263   0.7927  
`rumination (min/d)` -1.468e-03  3.145e-03  -0.467   0.6408  
Activiteit            4.265e-03  4.625e-03   0.922   0.3564
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

这里有很多问题。

最接近的问题是你有一个(接近)奇异拟合glmmTMB试图使方差为零(5.138e-08 尽可能接近)。 因为它符合对数方差(实际上是对数标准差)尺度,这意味着它试图将 go 变为 -∞,这使得参数的协方差矩阵无法估计。

发生这种情况的主要原因是您的随机效应( experiment )中的组数非常少(3)。

这些是混合模型极其常见的问题:您可以从阅读?lme4::isSingularGLMM FAQ 的相关部分开始

最简单的解决方案是将experiment视为固定效果,在这种情况下,您将不再拥有混合 model 并且您可以返回普通glm()

代码的另一个稍微令人担忧的方面是响应变量cbind(SARA_ph58, 1) 如果SARA_ph58二进制(0/1) 变量,您可以只使用SARA_ph58 如果你在做的时候传递一个双列矩阵,第一列被解释为成功的次数,第二列被解释为失败的次数; 看起来您可能一直在尝试指定每个观察的试验总数为 1(同样,如果是这种情况,您可以只使用SARA_ph58作为响应)。

最后一点是lme4::glmerglmmTMB更能容忍奇异拟合。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM