5

我正在尝试在 R 中运行 GLM 来获取生物量数据(还原生物量和生殖生物量与营养生物量的比率)作为栖息地类型(“hab”)、收集年份数据(“年份”)和地点的函数数据收集(“网站”)。我的数据看起来很适合 Gamma 分布,但我有 8 个观测值为零生物量(约 800 个观测值中),因此模型无法运行。处理这个问题的最佳方法是什么?另一个要使用的错误分布是什么?或者向我的零观测值添加一个非常小的值(例如 0.0000001)是否可行?

我的模型是:

reproductive_biomass<-glm(repro.biomass~hab*year + site, data=biom, family = Gamma(link = "log")) 
4

1 回答 1

8

啊,零 - 必须爱他们。

根据您正在研究的系统,我很想检查零膨胀或障碍模型 - 基本思想是模型有两个组成部分:一些二项式过程决定响应是零还是非零,以及然后是一个适用于非零的伽玛。巧妙的部分是您可以对两个模型的系数进行推断,甚至对两者使用不同的系数。

http://seananderson.ca/2014/05/18/gamma-hurdle.html ...但搜索“零膨胀伽马”或“tweedie 模型”也可能会产生一些信息性和/或学术性的东西。

在理想的世界中,您的分析工具应该适合您的系统和您的预期推理。零膨胀的世界非常甜蜜,但前提是假设有单独的过程。因此,一个需要回答的重要问题当然是在你的研究背景下,零“意味着”什么,只有你才能回答这个问题——无论它们是恰好非常小的数字,还是真正的零某些混淆过程的结果,例如您的同事洒了漂白剂(或其他对您的研究不感兴趣的东西),或者有趣的真零。

另一个想法:在交叉验证上问同样的问题,你可能会得到一个更具统计意义的答案。祝你好运!

于 2017-04-26T00:06:53.297 回答