【问题标题】:Dredge with the global model failing to converge全局模型无法收敛的疏通
【发布时间】:2015-04-28 23:28:19
【问题描述】:

我正在尝试在疏浚 (MuMIn) 框架中运行具有多个变量组合的 gamm 模型,并将基于截止的 TRUE/FALSE 相关矩阵作为子集。

问题是,我的完整模型非常复杂,带有随机效应,>20 预测变量包括 3 个固定效应,因此不会收敛。我的预测变量高度相关,如前所述,我将 TRUE/FALSE 相关矩阵作为子集。由于相关性截止值较低,我预计组合很少,并且对完整模型并不真正感兴趣。

但是,我构建的 gamm(或 uGamm)完整模型包含 20 多个预测变量(平滑项和固定效应、随机效应)并没有收敛。这实质上意味着挖泥机不会运行,因为完整模型不会收敛,即使我对完整模型本身不感兴趣,而是对单个模型和一些组合感兴趣。

我似乎也不能使用fm1 <- gamm(y ~ (.), data = Cement) 选项,因为这会产生以下错误:

s(.) 中的错误:s(.) 尚不支持

有没有办法绕过不会收敛的完整模型并且无论如何都有我的变量组合?和/或有没有办法避免(.) 出现上述错误?

有什么建议吗?我的数据太大,无法包含在此处。

【问题讨论】:

    标签: r mixed-models


    【解决方案1】:

    您可以通过在更简单的模型中替换公式来欺骗dredge,然后将该模型用作“全局模型”。将完整的模型公式分配给<gam.model> $ gam $ formula。例如:

    # fit some simple model
    fm <- uGamm(y ~ s(x1), ...) # add other arguments as in the proper full model
    fm$gam$formula <- y ~ x0 + s(x1) + s(x2) + ... + s(xn)
    dredge(fm) 
    

    【讨论】:

    • 你会如何欺骗dredge r而不是编码这个..假设完整模型是“fmgs1
    • 我实际上使用了 'fmgs1
    • 你必须找到一些收敛的公式。否则,如果您的子集模型都没有收敛,那么整个过程就没有意义。
    • 我首先按照您的建议拟合简单模型 'fm
    • 是的,确实简单模型确实收敛了...我的意思是完整模型没有收敛..按照我上面描述的您的说明进行操作后,dedge 返回简单模型的输出:(
    猜你喜欢
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2019-09-22
    • 1970-01-01
    相关资源
    最近更新 更多