首页 > 解决方案 > GLMMadaptive 用于半连续数据

问题描述

我正在处理一个非常难以处理的数据集:鱼幼虫密度。它是一个半连续的数据,有 90% 的零和右偏分布,几乎没有非常大的值。例如,我想对环境特征和幼虫密度做出一些预测。我正在尝试使用两部分模型(GLMMadaptive用于半连续数据)family = hurdle.lognormal(),.

但命令摘要不适用于配备 , 的mixed_model()模型family = hurdle.lognormal()。所以,我不知道如何获得预测变量的标准误、p 值和置信区间。

另一个问题与残差的拟合优度有关。我怎样才能找到它?

另外,我试图拟合一个没有固定效果的空模型,寻找模型的重要性,但我无法修复它,因为它给了我以下信息:

.subset2(x, i, exact = exact) 中的错误:下标越界

Nullmodel <- mixed_model(fixed = Dprochilodus ~ 1, random = ~ 1|periodo, data = OeL_final, family = hurdle.lognormal(), max_coef_value = 30) 

mymodel <- mixed_model(fixed = Dprochilodus ~ ponto+Dif_his.y+temp,  random = ~ 1 | periodo, data = OeL_final, family = hurdle.lognormal(), n_phis = 1,      zi_fixed = ~ ponto, max_coef_value = 30)

我的模型的结果是:

Call: mixed_model(fixed = logDprochilodus ~ ponto + Dif_his.y + temp, 
    random = ~1 | periodo, data = OeL_final, family = hurdle.lognormal(), 
    zi_fixed = ~ponto, n_phis = 1, max_coef_value = 30)


Model:  family: hurdle log-normal  link: identity 

Random effects covariance matrix:
                StdDev (Intercept) 0.05366623

Fixed effects:   (Intercept)       pontoIR      pontoITA      pontoJEQ pontoTB     Dif_his.y          temp 
 3.781147e-01 -1.161167e-09  3.660306e-01 -1.273341e+00 -5.834588e-01  1.374241e+00 -4.010771e-02 

Zero-part coefficients: (Intercept)     pontoIR    pontoITA    pontoJEQ     pontoTB 
  1.4522523  21.3761790   3.3013379   1.1504374   0.2031707 

Residual std. dev.:
 1.240212 

log-Lik: -216.3266

有人用这种模型工作过吗?我真的很感激任何帮助!

标签: r

解决方案


summary()方法应与family = hurdle.lognormal(). 例如,您可以调用此处summary()发布的示例。

要检查拟合优度,您可以使用DHARMa包提供的模拟比例残差;例如检查here


推荐阅读