当使用R-package glmmTMB()
{glmmTMB}
(参见具有手动和小插画链接的CRAN)时,我知道在处理模型的收敛性时,我有一些选择。更具体地说,有一个control =
参数可以传递glmmTMBControl()
参数,手册中的部分如下:
此外,其中一个小片段--即用glmmTMB进行故障排除 --明确地谈到了如何处理收敛问题。然而,我现在的关键点是,据我所知,无论何时提到glmmTMBControl()
,它总是以以下两种方式之一:
glmmTMBControl(optCtrl=list(iter.max=1e3,eval.max=1e3))
,即增加迭代次数glmmTMBControl(optimizer=optim, optArgs=list(method="BFGS"))
,即尝试不同的优化器关于第二个问题,给我留下的印象是,除了这里显示的选项之外,我还有多个选项,因为“优化器参数可以是任何优化(最小化)函数.”以及以下措辞:
然而,我无法找到任何其他选项,我实际上可以把它作为我的optimizer=
,因为它看起来确实是上面所示的例子,如果有人能提供一个列表,我会很感激。
P.S.:我正在尝试使用glmmTMB
的收敛准则,因为它似乎通常估计的方差分量比PROC MIXED
在SAS中的相同模型要小一些。
发布于 2022-10-10 12:21:44
来自?glmmTMB
“优化器”参数可以是任意优化(极小)函数,条件是:·前三个参数依次为起始值、目标函数和梯度函数; ·该函数还采用“控制”论点; ·函数返回一个包含元素(至少)‘par’、‘objective’、‘收敛’(如果收敛成功的话为0)和‘message’的列表(‘glmmTMB’通过将‘value’组件重命名为‘objective’来自动处理来自‘optim()’的输出。)
基本R中满足这些要求的选项(基于梯度的最小化器)是nlminb
和optim
,带有method="BFGS"
、"L-BFGS-B"
或"CG"
。您还可以查看optimx
或nloptr
提供的优化器,但是您可能需要编写一个包装器函数,以确保它们满足上述条件.
https://stackoverflow.com/questions/73135114
复制相似问题