使用 lme4 中的平方根链接计数数据的 GLMM

机器算法验证 lme4-nlme 计数数据 咕噜咕噜 分离 链接功能
2022-04-05 14:22:52

我有来自实地调查的数据。研究的目的是将幼苗数量(响应变量,计数数据)、地形(探索变量、3 个级别的分类变量)和冠层覆盖百分比(探索变量,定量)联系起来。在每个栖息地,我都有来自五个 25x25 米地块的数据。在每个地块中,我使用了三个嵌套在较大地块中的 2x2 米子地块,并从这些子地块中计算幼苗的数量。观察总数为 60;20 个地块 x 3 个子地块。只有一种地貌含有幼苗。其他两个地貌没有幼苗,所以它们是空地。数据如下所示:

data.frame':    60 obs. of  5 variables:
 $ plot         : Factor w/ 20 levels "HD2","LC1","LC2",..: 16 16 16 17 17 17 12 12 12 9 ...
 $ subplot      : Factor w/ 60 levels "HD2.1","HD2.2",..: 46 47 48 49 50 51 34 35 36 25 ...
 $ av.canopy    : num  92.2 92.2 92.2 92.3 92.3 ...
 $ landform     : Factor w/ 3 levels "abandoned","ridge",..: 2 2 2 2 2 2 2 2 2 2 ...
 $ seedling.2016: int  6 7 5 2 5 4 4 6 4 0 ...

问题是当我使用以下代码比较地形之间的幼苗数量时:

seedling <- glmer(seedling.2016 ~ landform +(1|plot), family = poisson)

结果对我来说没有意义 - 地貌事件之间没有任何显着差异,只有一个地貌(山脊)有幼苗,而其他地貌(山脊)根本没有幼苗。还要注意的是,SE 是巨大的。结果如下所示:

Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
 Family: poisson  ( log )
Formula: seedling.2016 ~ landform + (1 | plot)
   Data: streblus.subplots

     AIC      BIC   logLik deviance df.resid 
   294.9    303.3   -143.5    286.9       56 

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-6.3619 -0.0001 -0.0001  0.0000  8.7305 

Random effects:
 Groups Name        Variance Std.Dev.
 plot   (Intercept) 2.637    1.624   
Number of obs: 60, groups:  plot, 20

Fixed effects:
              Estimate Std. Error z value Pr(>|z|)
(Intercept)    -20.412   1461.267  -0.014    0.989
landformridge   22.250   1461.265   0.015    0.988
landformtemp     1.066    390.540   0.003    0.998

当我将链接函数更改为平方根时,如下代码:

Seedling2 <- glmer(seedling.2016 ~ landform +  (1|plot), family = poisson(link = sqrt))
Fixed effects:
#Estimate      Std. Error z value Pr(>|z|)    
#(Intercept)   -1.220e-05  5.296e-01   0.000        1    
#landformridge  3.250e+00  7.429e-01   4.376 1.21e-05 ***
# landformtemp   1.018e-05  7.795e-01   0.000        1  

现在脊中的幼苗数量明显高于另一个,这对我来说更有意义。

我的问题是:就统计而言,将平方根链接与泊松分布结合使用是否有效,有没有更好的方法可以提供更好的统计基础?

2个回答

看起来很像你有一个完全分离的情况:

  • 地形(山脊)只有一处有苗,其他地形(山脊)根本没有苗

  • 大估计()和大得离谱的标准误差估计。|β^|>10

基本上发生的事情是基线水平(“放弃”)的预期计数对于所有地块都为零,因此截距 - 这是基线水平的预期日志(计数) - 应该估计为 ...这弄乱了 Wald 对不确定性的估计(使用的近似、快速方法)。β0summary()

您可以在别处阅读更多关于完全分离的信息;它更典型地在逻辑回归的背景下进行讨论(部分原因是逻辑回归比计数回归更广泛使用......)

解决方案:

  • 您的平方根链接解决方案是合理的(在这种情况下,截距预计为在基线级别,为零而不是);它会稍微改变假设的随机效应分布(即,平方根上的正态而不是对数尺度),但这不会让我太担心。如果模型中有连续的协变量或交互作用,它也会改变对固定效应的解释。counts
  • 您可以使用某种惩罚(在贝叶斯框架中最方便),如我对链接问题的回答(在此处搜索“完全分离”)中所述,以保持参数合理。

事实上,这似乎是一个分离问题。为了解决这些情况,在我的GLMMadaptive包中,您可以包括对固定效应系数的惩罚,以学生 t 密度的形式(即,对于与岭回归等效的足够大的 df)。对于一个工作示例,请查看此小插图的最后一部分。