GLMM- AICc 权重与随机效应之间的关系?

机器算法验证 r lme4-nlme aic 咕噜咕噜 生态
2022-03-27 12:27:10

我正在开发 GLMM 以评估栖息地选择(使用 GLMM 的系数来构建资源选择函数)。我有来自 5 个研究区域的(遥测)数据,每个区域都有不同数量的受监控个体。

为了开发 GLMM,因变量是二元的(1-使用位置;0-可用位置),我有一组初始的 14 个连续变量(8 个土地覆盖变量;2 个距离变量,到人工区域和水源;4 个地形变量):在每个位置周围放置一个缓冲区,并计算该缓冲区内每个土地覆盖的面积;测量从每个点到最近要素的距离,并使用 DEM 栅格获得地形变量。我使用 Spearman's Rank 测试了相关性,因此并非所有 14 个都用于 GLMM。所有变量均使用 z 分数进行转换。

作为随机效应,我使用了个人 ID(在另一个问题中(“GLMM:AIC、R 平方和过度分散之间的关系?”),很明显,使用研究区域作为随机效应既无用也不正确)。

我构建了一个具有 9 个变量(不相关)和随机效应的 GLMM,然后使用“dredge()”函数和“model.avg(dredge)”按 AIC 值对模型进行排序。这是结果(仅代表 AICc 低于 2 的模型):

[1]Call:
model.avg(object = dredge.m1.1)

Component model call: 
glmer(formula = Used ~ <512 unique rhs>, data = All_SA_Used_RP_Area_z, family = 
     binomial(link = "logit"))

Component models: 
          df   logLik    AICc  delta weight
123578     8 -4309.94 8635.89   0.00   0.14
1235789    9 -4309.22 8636.44   0.55   0.10
123789     8 -4310.52 8637.04   1.14   0.08
1235678    9 -4309.75 8637.50   1.61   0.06
12378      7 -4311.78 8637.57   1.67   0.06
1234578    9 -4309.79 8637.58   1.69   0.06

变量 1 和 2 代表距离变量;从 3 到 8 个土地覆盖变量,9 个是地形变量。权重似乎非常低,即使我对所有这些模型进行平均,因为当 delta 值较低时它似乎很常见。即使有了这个权重,我也为每个组合构建了 GLMM,并且所有 6 种组合的结果都是相似的。这是第一个的结果(GLMM + 过度分散 + r-squared):

Random effects:
 Groups    Name        Variance Std.Dev.
 ID.CODE_1 (Intercept) 13.02    3.608   
Number of obs: 32670, groups:  ID.CODE_1, 55

Fixed effects:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept) -0.54891    0.51174  -1.073 0.283433    
3       -0.22232    0.04059  -5.478 4.31e-08 ***
5       -0.05433    0.02837  -1.915 0.055460 .  
7       -0.13108    0.02825  -4.640 3.49e-06 ***
8       -0.15864    0.08670  -1.830 0.067287 .  
1         0.28438    0.02853   9.968  < 2e-16 ***
2         0.11531    0.03021   3.817 0.000135 ***     
Residual deviance: 0.256           
r.squaredGLMM():
       R2m        R2c 
0.01063077 0.80039950 

这是我从这个分析中得到的:

1) 随机效应的方差和 SD 看起来不错(绝对比我使用 Study Areas 作为随机效应时得到的“0”要好);

2) 根据我对物种的了解和对研究区域的了解,估算值是有意义的;

3) 过度离散值看起来不错,而 R 平方值似乎不是很好(至少在仅考虑固定效应时),但是,正如我在几个地方看到的那样,AIC 和 r 平方并不总是一致的。

4) 权重值似乎很低。这是否意味着模型不好?

然后我做的是构造一个 GLM(“glm()”),所以没有使用随机效应。我使用了 [1] 中使用的相同变量集,结果如下(仅代表 AICc 低于 2 的模型):

[2] Call:
model.avg(object = dredge.glm_m1.1)

Component model call: 
glm(formula = Used ~ <512 unique rhs>, family = binomial(link = "logit"), data = 
     All_SA_Used_RP_Area_z)

Component models: 
          df   logLik     AICc   delta weight
12345678   9 -9251.85 18521.70    0.00   0.52
123456789 10 -9251.77 18523.54    1.84   0.21
1345678    8 -9253.84 18523.69    1.99   0.19

在这种情况下,权重值更高。

这是否意味着最好不要使用随机效应?(我不确定我是否可以将 GLMM 与 GLM 结果进行比较,如果我做错了假设,请纠正我)

2个回答

我强烈建议您避免使用自动模型选择程序,例如dredge()(即使是函数名也让我颤抖)。当您主要关注对未来数据的预测时,这些方法可能有一些优点,但即使在这种情况下,强烈建议使用某种形式的交叉验证,您可以在训练数据集上构建模型,然后对其进行评估对另一个数据集的预测能力。如果您使用整个数据集构建基于 AIC 的模型,虽然它可以很好地预测您当前的数据集,但它很有可能在新数据上表现不佳。当您的目标主要是推理时,最好的方法是使用理论和常识来构建您的模型。除非你有大量的变量,否则我认为理论和常识也是一种更好的预测方法。

一个好的起点是根据理论绘制路径图来假设关联和因果关系的方向。这可以让您构建一个模型,避免常见问题,例如过度调整混杂,并包括模型中不应该存在的变量(例如,如果它们位于暴露和结果之间的因果路径上)。尽管当前的理论可能还不够完善(发展理论可能是您的目标之一),但路径图可能会帮助您排除一些可能的模型。DAGitty是一个非常用户友好的基于 Web 的图形工具,可以帮助解决这个问题。

您已经测量了 14 个变量,可能出于某些充分的原因选择这些变量。在不了解它们之间的关系的情况下,仅仅根据高双变量相关性排除一些是危险的。如果他们本质上测量的是同一件事,或者一个是从另一个隐式(或显式)派生的,这可能是有效的,但如果一个是另一个的原因,那么你需要仔细考虑要排除哪一个。路径图对此非常有用。

您对个别受试者重复测量,因此先验通过对受试者使用随机截距来解释这一点是一个好主意,因为对同一个人的测量可能与另一个人的测量更相似。我强烈建议您一般不要依赖 p 值,但在这种情况下更是如此。如果您真的想测试随机截距的重要性,那么引导估计可能是最可靠的方法。

至于你关于低权重的问题,我不知道这些权重究竟代表什么,但我认为它们必须全部加起来为 1,所以如果有很多模型可供选择,那么显然会有很多模型小权重,如果“最佳”的彼此非常相似,那么“最佳”的权重必然较小。请注意,“最佳”和最差(好吧,第 6 佳,因为只显示 6 个)之间的 AICc 差异仅为 1.69,这告诉您这些模型之间的差异很小。

Akaike 权重仅提供有关从中计算它们的模型集的信息,因此在您的示例中,您无法从将 glmm 模型集的权重与 glm 模型集的权重进行比较(即 Akaike 权重赢得'不告诉你随机效应是否合适)。

这里有一个关于测试随机效应的很好的讨论它确实明确指出“不要将 lmer 模型与相应的 lm 拟合或 glmer/glm 进行比较;对数似然不相称”。也就是说,Ben Bolker这里有一个工作的 glmer 示例,它明确比较了 glm 和 glmer 模型之间的对数似然和 AICc 值。如果您确实走这条路,那么您要在 glm 和 glmer 之间比较 AICc 值,而不是 delta 或 weight 值(仅在一组中有意义)。

您的随机效应的方差很高(并且 sd 相对较低)这一事实向我表明,您应该保留随机效应。同样,比较条件 R2 值和边际 R2 值(0.8 与 0.01)表明随机效应解释了您的响应中的许多变化。

更新

询问 glmer 权重值是否“太低”是没有意义的。Akaike 权重是在给定数据和正在考虑的模型集的情况下,模型是“最佳”的概率。如果给定集合中的顶级模型都具有较低且相似的 Akaike 权重,则仅意味着该集合中没有一个模型比该集合中的其他模型好得多……这并不意味着顶部从绝对意义上说,您集合中的模型是坏模型。它不会告诉你任何一种方式。Akaike 权重仅用于相对比较。

要从绝对意义上评估拟合优度,您可以查看 R2 值。您 80% 的 R2c 向我表明该特定模型非常好,尽管这主要是由随机效应驱动的(即个体在栖息地使用方面差异很大)。

由于您的目标是获得用于 RSF 的固定效应系数,并且由于没有单一模型脱颖而出,因此模型平均将是一个好方法。如果mod是您的 glmer 对象,您可以获得模型平均系数以在您的 RSF 中使用,如下所示:

mod_dredge <- dredge(mod)
mod_avg <- model.avg(mod_dredge)
coefTable(mod_avg)

由于您的固定效应具有相对较低的解释能力(R2m = 1%),因此基于这些系数的 RSF 可能没有太多的预测能力。至于你可以做些什么来改进这个模型,很难说......这可能只是一个生物学现实,你的研究动物在栖息地使用方面有很大差异(因此重要的随机效应),但这些动物的整体栖息地使用与您检查过的一组特定固定效应根本没有密切关系。