用于评估 R 中的交叉和嵌套计数数据的 GLMM 模型错误

Error in GLMM models to assess Crossed and nested Count data in R

=======

我需要了解哪些因素可以解释指令的执行。我的设计包括具有 2 个级别的生物地理区域,生物地理区域中的嵌套变量 - 海洋子单元 - 每个生物地理区域级别和标准(16 个级别)和组(11 个级别)中有 3 个级别。每个海洋子单元包括有关标准和组的计数。我所有的因素都是绝对的。


数据框 sum 的示例是:

Biog_Reg Marine.Sub.Unit 条件组计数

凯尔特海 FR_Celtic 海洋 1.1 底栖栖息地 1

凯尔特海 FR_Celtic 海 1.1 鱼 15

凯尔特海 FR_Celtic 海洋 1.1 海洋哺乳动物 6

凯尔特海 FR_Celtic 海 1.1 海龟 6

凯尔特海 FR_Celtic 海洋 1.1 远洋栖息地 0

凯尔特海 FR_Celtic 海洋 1.1 浮游生物 0

凯尔特海 FR_Celtic 海洋 1.1 岩石和生物礁 0

凯尔特海 FR_Celtic 海洋 1.1 海鸟 14

凯尔特海 FR_Celtic 海洋 1.1 沉积栖息地 1

凯尔特海 FR_Celtic 海 1.2 鱼 0


因为我正在处理嵌套计数数据并且我想访问所有适当的交互,所以我正在尝试使用 GLMM 来执行分析。我已经测试了几个模型,但最完整的包括以下设计:

Model3 <- glmer (Count ~ Biog_Reg + Criteria + Group + Biog_Reg: Criteria+ Biog_Reg:Group + (1|Marine.Sub.Unit/Biog_Reg) , family = poisson(), data = sum)

(我知道改用以下模型会更容易,但根本不会 运行: Model3 <- glmer (Count ~ Biog_Reg * Criteria * Group + (1|Marine.Sub.Unit/Biog_Reg), family = poisson(), data = sum) )

但是,该模型需要很长时间才能解析,并且在解析时会出现以下错误:

"默认情况下不显示相关矩阵,因为 p = 54 > 12。 使用 print(x, correlation=TRUE) 或 vcov(x) 如果你需要它 收敛代码:0 无法评估缩放梯度 模型无法收敛:具有 2 个负特征值的退化 Hessian 未能收敛于 10000 次评估 警告信息: 1: 在 vcov.merMod(object, use.hessian = use.hessian) 中: 从有限差分 Hessian 计算的方差-协方差矩阵是 不是正定的或包含 NA 值:回退到从 RX 估计的 var-cov"

总的来说,我对GLM比较陌生,所以我有几个问题:

  1. 我的模型类型和模型句法是否正确?我的变量是自然嵌套的,即每个海洋亚单位只属于两个生物地理区域之一,那么是否应该使用更简单的方差分析来解决这个问题?
  2. 尽管存在错误,模型仍提供了每个级别的结果 每个因素单独。如果模型正确,我如何获得 因子的结果?
  3. 我是否应该将标准和组嵌套在海洋子单元中,即使它们不是随机的?如果是这样,它的语法如何?
  4. 我应该考虑使用 Hurdle 模型吗?

我已经阅读了大量信息,但考虑到:"Schielzeth, H. and Nakagawa, S. (2013), Nested by design: model fitting and interpretation in a mixed model era." 我应该选择混合模型和具有泊松分布的 GLMM。这应该处理计数数据。我遇到过很多类似的问题,但是none专门解答了我的疑惑。

请帮忙!!!

您问了很多问题,您需要更多阅读。例如,看起来您将嵌套变量包含为嵌套随机效应而不是固定效应(截距在 Marine.Sub.Unit 和 Biog_Reg 之间以及 Marine.Sub.Unit 之间变化)。在选择使用混合模型之前,了解固定效应和随机效应之间的区别至关重要。如果您确实想要包含随机效应,我建议您从 Ben Bolker 的 GLMM FAQ document and his amazing Worked Examples 开始。

您可能还需要进行似然比检验以确定您感兴趣的固定变量是否对计数数据有任何影响。

希望能帮助您朝着正确的方向前进。