解释 gam.check() 生成的残差图中的模式

Interpreting a pattern in a residual plot produced by gam.check()

我正在努力创建一个模型来检查海洋特征对捕鱼结果的影响。我在 0.5 度网格上有空间数据,我创建了以下模型:

gam(inverse hyperbolic sine(yvar) ~ s(lat, lon, bs="sos) + s(xvar1) + 
                      s(xvar2) + s(xvar3), data = dat, method = "REML" 

残差的 QQ 图和直方图看起来不错。然而,gam.check() 在残差图中产生了一个奇怪的模式。我知道这些点应该分散在 0 附近,但我在残差中有一个非常奇怪的模式。谁能提供一些关于这个情节的解释的见解:

这些将是原始数据中的所有 0(最有可能)或 1/最小值。你没有说这些数据是什么,但是当你提到捕鱼结果时,很可能这些数据有一些自然的下限,残差中的这条线是所有采用这个下限的观察结果(转换前)。

由于您不清楚自己的数据是什么,因此很难进一步评论如何进行(这可能不是问题,或者您可能不需要使用您所做的转换,而是使用GLM 或其他非高斯响应),但

  1. 这种模式在 ecological/biological 数据中很常见,
  2. 改变你的反应总是不适用于生态数据。