【问题标题】:MuMin dredge gam with random effect具有随机效果的MuMin疏通游戏
【发布时间】:2022-01-11 19:10:50
【问题描述】:

我正在使用 MuMin 包中的疏通功能来制作具有随机效果的游戏:

使用包 mgcv 中的 bam 的全局模型如下。随机效果为s(StationID, bs = 're')

gam_global<-bam(Numberpertow ~ s(interval,k=6)+Stratum+ClosArea+CruiseID+s(interval, by=CruiseID,k=6)+offset(offset)+s(StationID, bs = 're'),data=l.data,method = "REML",family=nb(),na.action = "na.fail")

当我在全局模型上运行疏浚函数时,随机效应会从模型的子集中删除,因为疏浚正在运行带有和不带有某些变量的不同模型选项。我对确定是否需要随机效应并需要将其作为随机效应保留在所有模型中不感兴趣。我还需要在所有模型中保留偏移项。

在进行网络搜索后,我根据这篇帖子尝试了以下https://stackoverflow.com/questions/61064080/fixed-terms-in-dredge-function-mumin-in-gam[enter链接描述在这里]1

我尝试了以下两种方法都没有成功:

#genertric random effect name as shown in model summary output

gam_dredge<-dredge(gam_global,evaluate=TRUE,fixed=c("offset(offset)","s(StationID)"),rank="AIC")

#random effect name as in model

gam_dredge<-dredge(gam_global,evaluate=TRUE,fixed=c("offset(offset)","s(StationID,bs="re)"),rank="AIC")

我也把bam模型中的方法从REML改成了GCV.Cp

我在挖泥机的任何迭代中都没有成功,并且在挖泥机卡盘运行时得到以下结果:

Fixed terms are "offset(offset)" and "(Intercept)"

【问题讨论】:

  • 我强烈建议你不要这样做;这通常是一种统计上的讽刺,我不知道为一组模型项选择平滑度参数同时删除其他模型项的额外复杂性会对这个过程产生什么影响。除非您要使用纯预测模型,否则最好使用select = TRUE 对每个基础的完美平滑部分施加额外的惩罚(以便它们可以有效地从模型中缩小)。顺便说一句,对于bam(),您需要method = "fREML",否则您会放弃bam() 的好处之一。
  • 感谢您的评论。当您说统计讽刺时,您是指使用疏通吗?我正在研究这种方法,因为审阅者希望将预测变量的所有组合作为模型选项。我确实最终使用了 method="fREML" 也没有使用挖泥机。

标签: gam mumin


【解决方案1】:

空白很重要。模型术语名称为's(StationID, bs = "re")'

根据?dredge,“出现在fixedsubset 中的术语名称必须与getAllTerms(global.model) 返回的格式完全相同”。出于这个原因,您引用的接受的 SO 答案是不正确的(这就是为什么手册应该始终是主要信息来源的原因)。

但是,您可以通过将fixed 作为公式来使事情变得更容易,在这种情况下,空格是无关紧要的(在字符串之外):

~ offset(    offset) + s  (StationID,      bs  ="re"  )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    • 2023-02-12
    • 1970-01-01
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    • 2014-11-15
    相关资源
    最近更新 更多