glmer和glmmTMB模型使用ggpredict的不同输出

glmer和glmmTMB模型使用ggpredict的不同输出,r,plot,predict,lme4,R,Plot,Predict,Lme4,我试图用物种存在作为反应来预测和绘制模型。但是,我遇到了以下问题:对于glmer和glmmTMB中的相同数据,ggpredict的输出相差很大。然而,估计值和AIC非常相似。这些是简化模型,仅包括日期(已居中并按比例缩放),这似乎是最难预测的问题 yntest<- glmer(MYOSOD.P~ jdate.z + I(jdate.z^2) + I(jdate.z^3) + (1|area/SiteID), family = binomial, data = s

我试图用物种存在作为反应来预测和绘制模型。但是,我遇到了以下问题:对于glmer和glmmTMB中的相同数据,ggpredict的输出相差很大。然而,估计值和AIC非常相似。这些是简化模型,仅包括日期(已居中并按比例缩放),这似乎是最难预测的问题

yntest<- glmer(MYOSOD.P~ jdate.z + I(jdate.z^2) + I(jdate.z^3) +
             (1|area/SiteID), family = binomial,  data = sodpYN)


> summary(yntest)
Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
 Family: binomial  ( logit )
Formula: MYOSOD.P ~ jdate.z + I(jdate.z^2) + I(jdate.z^3) + (1 | area/SiteID)
   Data: sodpYN

     AIC      BIC   logLik deviance df.resid 
  1260.8   1295.1   -624.4   1248.8     2246 

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-2.0997 -0.3218 -0.2013 -0.1238  9.4445 

Random effects:
 Groups      Name        Variance Std.Dev.
 SiteID:area (Intercept) 1.6452   1.2827  
 area        (Intercept) 0.6242   0.7901  
Number of obs: 2252, groups:  SiteID:area, 27; area, 9

Fixed effects:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept)  -2.96778    0.39190  -7.573 3.65e-14 ***
jdate.z      -0.72258    0.17915  -4.033 5.50e-05 ***
I(jdate.z^2)  0.10091    0.08068   1.251  0.21102    
I(jdate.z^3)  0.25025    0.08506   2.942  0.00326 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects:
            (Intr) jdat.z I(.^2)
jdate.z      0.078              
I(jdat.z^2) -0.222 -0.154       
I(jdat.z^3) -0.071 -0.910  0.199
yntest摘要(yntest)
广义线性混合模型的最大似然拟合(拉普拉斯近似)['glmerMod']
家庭:二项式(logit)
公式:MYOSOD.P~jdate.z+I(jdate.z^2)+I(jdate.z^3)+(1 |面积/场地ID)
数据:sodpYN
AIC BIC logLik偏差df.resid
1260.8   1295.1   -624.4   1248.8     2246 
标度残差:
最小1季度中值3季度最大值
-2.0997 -0.3218 -0.2013 -0.1238  9.4445 
随机效应:
组名为Variance Std.Dev。
站点ID:area(Intercept)1.6452 1.2827
面积(截距)0.6242 0.7901
OB数量:2252,组:SiteID:area,27;区域,9
固定效果:
估计标准误差z值Pr(>z)
(截距)-2.96778 0.39190-7.573 3.65e-14***
jdate.z-0.72258 0.17915-4.033 5.50e-05***
I(jdate.z^2)0.10091 0.080681.251 0.21102
I(jdate.z^3)0.25025 0.08506 2.942 0.00326**
---
签名。代码:0'***'0.001'***'0.01'*'0.05'.'0.1''1
固定效应的相关性:
(Intr)jdat.z I(.^2)
jdate.z 0.078
I(jdat.z^2)-0.222-0.154
I(jdat.z^3)-0.071-0.9100.199
glmmTMB模型+摘要:

Tyntest<- glmmTMB(MYOSOD.P ~ jdate.z + I(jdate.z^2) + I(jdate.z^3) + 
                (1|area/SiteID), family = binomial("logit"), data = sodpYN)

> summary(Tyntest)
 Family: binomial  ( logit )
Formula:          MYOSOD.P ~ jdate.z + I(jdate.z^2) + I(jdate.z^3) + (1 | area/SiteID)
Data: sodpYN

     AIC      BIC   logLik deviance df.resid 
  1260.8   1295.1   -624.4   1248.8     2246 

Random effects:

Conditional model:
 Groups      Name        Variance Std.Dev.
 SiteID:area (Intercept) 1.6490   1.2841  
 area        (Intercept) 0.6253   0.7908  
Number of obs: 2252, groups:  SiteID:area, 27; area, 9

Conditional model:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept)  -2.96965    0.39638  -7.492 6.78e-14 ***
jdate.z      -0.72285    0.18250  -3.961 7.47e-05 ***
I(jdate.z^2)  0.10096    0.08221   1.228  0.21941    
I(jdate.z^3)  0.25034    0.08662   2.890  0.00385 ** 
---
Tyntest摘要(Tyntest)
家庭:二项式(logit)
公式:MYOSOD.P~jdate.z+I(jdate.z^2)+I(jdate.z^3)+(1 |面积/场地ID)
数据:sodpYN
AIC BIC logLik偏差df.resid
1260.8   1295.1   -624.4   1248.8     2246 
随机效应:
条件模型:
组名为Variance Std.Dev。
站点ID:area(Intercept)1.6490 1.2841
面积(截距)0.6253 0.7908
OB数量:2252,组:SiteID:area,27;区域,9
条件模型:
估计标准误差z值Pr(>z)
(截距)-2.969650.39638-7.4926.78e-14***
jdate.z-0.72285 0.18250-3.9617.47e-05***
I(jdate.z^2)0.10096 0.08221 1.228 0.21941
I(jdate.z^3)0.25034 0.08662 2.890 0.00385**
---
预测产出

testg<-ggpredict(yntest, terms ="jdate.z[all]")
> testg

# Predicted probabilities of MYOSOD.P
# x = jdate.z

     x predicted std.error conf.low conf.high
 -1.95     0.046     0.532    0.017     0.120
 -1.51     0.075     0.405    0.036     0.153
 -1.03     0.084     0.391    0.041     0.165
 -0.58     0.072     0.391    0.035     0.142
 -0.14     0.054     0.390    0.026     0.109
  0.35     0.039     0.399    0.018     0.082
  0.79     0.034     0.404    0.016     0.072
  1.72     0.067     0.471    0.028     0.152

Adjusted for:
* SiteID = 0 (population-level)
*   area = 0 (population-level)

Standard errors are on link-scale (untransformed).

testgTMB<- ggpredict(Tyntest, "jdate.z[all]")
> testgTMB

# Predicted probabilities of MYOSOD.P
# x = jdate.z

     x predicted std.error conf.low conf.high
 -1.95     0.444     0.826    0.137     0.801
 -1.51     0.254     0.612    0.093     0.531
 -1.03     0.136     0.464    0.059     0.280
 -0.58     0.081     0.404    0.038     0.163
 -0.14     0.054     0.395    0.026     0.110
  0.35     0.040     0.402    0.019     0.084
  0.79     0.035     0.406    0.016     0.074
  1.72     0.040     0.444    0.017     0.091

Adjusted for:
* SiteID = NA (population-level)
*   area = NA (population-level)

Standard errors are on link-scale (untransformed).
testg testg
#MYOSOD的预测概率
#x=jdate.z
x预测标准错误配置低配置高
-1.95     0.046     0.532    0.017     0.120
-1.51     0.075     0.405    0.036     0.153
-1.03     0.084     0.391    0.041     0.165
-0.58     0.072     0.391    0.035     0.142
-0.14     0.054     0.390    0.026     0.109
0.35     0.039     0.399    0.018     0.082
0.79     0.034     0.404    0.016     0.072
1.72     0.067     0.471    0.028     0.152
调整为:
*SiteID=0(总体级别)
*面积=0(人口水平)
标准误差在链接范围内(未转换)。
testgTMB testgTMB
#MYOSOD的预测概率
#x=jdate.z
x预测标准错误配置低配置高
-1.95     0.444     0.826    0.137     0.801
-1.51     0.254     0.612    0.093     0.531
-1.03     0.136     0.464    0.059     0.280
-0.58     0.081     0.404    0.038     0.163
-0.14     0.054     0.395    0.026     0.110
0.35     0.040     0.402    0.019     0.084
0.79     0.035     0.406    0.016     0.074
1.72     0.040     0.444    0.017     0.091
调整为:
*SiteID=NA(总体级别)
*面积=NA(人口水平)
标准误差在链接范围内(未转换)。
估计完全不同,我不知道为什么。 我尝试过使用CRAN的ggeffects包和开发者版本,以防发生任何变化。事实并非如此。我正在使用最新版本的glmmTMB

这是我第一次在这里提问,请让我知道我是否应该提供更多信息来帮助解释问题

我检查了,当使用predict而不是ggpredict时,问题是相同的,这意味着这是一个glmmTMB问题? GLMER:


dayplotg我联系了ggpredict开发人员,发现如果我在glmmTMB模型中使用
poly(jdate.z,3)
而不是
jdate.z+I(jdate.z^2)+I(jdate.z^3)
,那么glmer和glmmTMB的预测是相同的


即使我能够回答自己的问题,我也会留下这篇帖子,以防以后有人问这个问题。

如果你直接使用
predict()
type=“response”
你看到类似的问题了吗?注意:对于merMod对象,您需要使用
re.form=NA
进行人口级别预测,但对于glmmTMB对象,您必须手动将分组变量设置为NA才能获得相同的结果(请参见
predict.glmmTMB
的帮助页面)。是的,使用predict时是相同的,我编辑了上述问题以反映这一点。所以这似乎是glmmTMB的问题?好吧,现在我已经详细阅读了glmmTMB的文档,它说“在不同的组件中具有相同数据相关基类型的不同版本的模型(例如公式=y~多边形(x,3),dispformula=~多边形(x,2))可能不会产生正确的预测。”Per
r
tag(悬停查看):对数据使用
dput()
,并使用
library()
calls.aa指定所有非基本包,并且此错误(您的原始代码应该可以工作,使用
poly()
是一种变通方法)应该很快在开发版本中修复:
 dayplotg<-expand.grid(jdate.z=seq(min(sodp$jdate.z), max(sodp$jdate.z), length=92))
    Dfitg<-predict(yntest, re.form=NA, newdata=dayplotg, type='response')
    dayplotg<-data.frame(dayplotg, Dfitg)
    head(dayplotg)
    > head(dayplotg)
        jdate.z      Dfitg
    1 -1.953206 0.04581691
    2 -1.912873 0.04889584
    3 -1.872540 0.05195598
    4 -1.832207 0.05497553
    5 -1.791875 0.05793307
    6 -1.751542 0.06080781
dayplot<-expand.grid(jdate.z=seq(min(sodp$jdate.z), max(sodp$jdate.z), length=92), 
                     SiteID=NA,
                     area=NA) 

Dfit<-predict(Tyntest,  newdata=dayplot, type='response')
head(Dfit)

dayplot<-data.frame(dayplot, Dfit)
head(dayplot)
> head(dayplot)
    jdate.z SiteID area      Dfit
1 -1.953206     NA   NA 0.4458236
2 -1.912873     NA   NA 0.4251926
3 -1.872540     NA   NA 0.4050944
4 -1.832207     NA   NA 0.3855801
5 -1.791875     NA   NA 0.3666922
6 -1.751542     NA   NA 0.3484646