1

我一直在使用 MuMIn 包中的dredge函数对我的全局 GAM 模型(使用bam来自 mgcv 包)进行模型平均,具有先验选择的解释变量和两个随机效应和负二项分布。

gsGlob <- bam(gs~ species + season + sex + TL2 + year + s(ri, bs="ad") +
                cloud + s(current2) + s(depth2) + DHW + 
                salinity2 + SST.anomaly2 + s(SST.variability2) + wind2 +
                 s(code, bs = 're') + s(station, bs = 're'), 
               family=nb(), data=allVars_node_dat, na.action = "na.fail", discrete = TRUE)

我正在使用 MuMIn 的 pdredge,这样我可以提高挖泥船的速度。

mycluster = makeCluster(5, type = "SOCK")  ## also need snow installed

#data must exported to the cluster - see 'details' https://rdrr.io/cran/MuMIn/man/pdredge.html
clusterExport(mycluster,"allVars_node_dat")


#required packages must be also loaded there
clusterEvalQ(mycluster, library(mgcv))


gsGlob_dredge <- MuMIn::pdredge(gsGlob, mycluster)

顶级模型的 AIC 与其他模型大不相同,但自由度为 -23

在此处输入图像描述

这是什么意思?我是否应该忽略并删除顶级模型,因为这似乎不正确并在其他模型上进行模型平均?还是可以将其用作顶级模型?

挖泥机的完整数据集可以在这里找到,完整的数据集在这里

4

1 回答 1

1

我试图对此发表评论,但它太长了。我不是专家。但是,我相当肯定这与子模型的合并有关。BAM 采用的迭代更新为 DF 等事物创建了多个不同的值。我的这个思考过程是基于Wood 等人的文章。(2015)Hauenstein 等人的文章。(2016 年)。在 Hauenstein 等人的文章中,他们遇到了一些随机森林建模的负自由度,并在第 4.1 节讨论了它的方式和原因。

我对否定自由度的看法?我不认为这不重要,但模型选择不应该在这个领域进行,就其本身而言。

其他我会看的东西:

  • 因为我会将数据分成训练集和测试集,所以我会用数据测试模型——测试性能是否相似?
  • 可视化数据和可能的残差以了解它是如何分布的
  • 方差是否一致?(又名同质化)
  • 将预测值与实际值可视化,寻找任何清楚表明更合适模型的东西
  • 用来MuMIn::model.avg()比较它们

(叙述中的链接将带您到“免费”位置。DOI 链接将带您到期刊。)

Wood, SN, Goude, Y., & Shaw, S. (2015) 大型数据集的广义加法模型。皇家统计学会杂志。C 系列(应用统计),64 (1), 139-155。https://doi.org/10.1111/rssc.12068

Hauenstein, S.、Wood, SN 和 Dormann, CF (2018)。使用广义自由度计算黑盒模型的 AIC:与交叉验证的比较。Communications in Statistics - Simulation and Computation, 47 (5), 1382-1396。https://doi.org/10.1080/03610918.2017.1315728

于 2021-08-21T21:52:20.517 回答