实验设计和使用广义线性模型的问题

机器算法验证 广义线性模型 实验设计 负二项分布 零通胀
2022-03-22 02:27:11

我有一个生态实验,我需要分析鸟类数量数据。这是设置:

2 个处理(开放/对照),3 个区域。不是一个完整的 3x2 因子,因为在 2 个区域中有 3 个地块(250m x 250m)用于开放和控制(6 个地块)。对于“参考”区域,只有 3 个地块(更类似于上游区域的开放地块)。

在 4 年内,每周对每个小区的鸟类进行计数(可以认为是独立的)。鸟类类型和密度高度依赖于水深(每个调查日期都有深度)——想用作协变量(注意:响应不是线性的,它是单峰的,并且因物种而异)。

目标是检查鸟类类型数量的处理与对照差异,并检查区域和年份的差异/相互作用(随着开放地块的成熟和植被的生长)。封闭图包含许多零(我可能需要零膨胀模型)。

文献将我指向负二项式或零膨胀泊松 GLM。但是,如果我选择这样做,我有以下问题:

  • 对于这种类型的模型,我可以在区域内嵌套图吗?我希望复制单位是每个处理的周,而不牺牲每个处理 x 区域图的复制。
  • 另外,关于如何处理像深度这样的协变量有什么建议吗?它真的可以主导 GLM 的条款。

我仍在学习 R,但假设基于此论坛并与其他人交谈,我需要在 R 或 SAS 中执行此操作。欢迎在软件方面提供建议,包括我需要加载哪些 R 包。

2个回答

软件:R当然是一个不错的选择。我用python来做这种事情;我编写自己的目标/梯度函数并使用其中一种 scipy 优化器,例如 L-BFGS。但是,如果你不是一个强大的程序员,R 会更好。

警告:我是机器学习专家,而不是统计学家,所以请认为我的回答是一种观点,而不是“正确答案”。

听起来您的模型至少应该具有以下系数:(1)是治疗吗?(2)是控制?(3)每个地块,(4)每个区域,(5)一年中的一周,(6)周年份和地区,(7) 水深,(8) 鸟类,(9) 水深和鸟类。在包括所有这些之后,我会查看残差以尝试确定我错过的任何明显的残差。不过,听起来您对所有主要协变量都有很好的了解。

我会尝试不同的模型(泊松、负二项式、零膨胀泊松)并使用保留集来确定哪个更合适。我会使用 L2 正则化并认真考虑 L2 对协变量进行归一化(至少近似)。

如果有像深度这样的强协变量,我肯定希望将它包含在我的模型中,否则其他协变量可能看起来比实际更强。

如果您选择负仿生式,那么glmmADMBR 中的包就是适合您的包。太棒了!它就像一个lmer模型一样工作(如果你选择,你可以有固定的、随机的效果和嵌套的组件,以及负的生物分布/家庭。祝你好运。

以下是包描述中的一个示例:

om <- glmmadmb(SiblingNegotiation ~ FoodTreatment * SexParent(1|Nest) +
    offset(log(BroodSize)),
    zeroInflation=TRUE, family="nbinom", data=Owls)