gam.control
位于 mgcv
包(package)。 说明
这是 mgcv
包的内部函数,它允许控制拟合 GAM 的数值选项。通常,如果模型拟合无法收敛,或者生成警告表明拟合过程中数值稳定性丢失,用户将希望修改默认值。要更改拟合方法的默认选择,请参阅 gam
参数 method
和 optimizer
。
用法
gam.control(nthreads=1,ncv.threads=1,irls.reg=0.0,epsilon = 1e-07,
maxit = 200,mgcv.tol=1e-7,mgcv.half=15, trace = FALSE,
rank.tol=.Machine$double.eps^0.5,nlm=list(),
optim=list(),newton=list(),
idLinksBases=TRUE,scalePenalty=TRUE,efs.lspmax=15,
efs.tol=.1,keepData=FALSE,scale.est="fletcher",
edge.correct=FALSE)
参数
nthreads |
如果您的 R 安装支持 openMP,并且 |
ncv.threads |
邻域交叉验证 (NCV) 的计算通常比其他 GAM 计算具有更好的扩展性,并且值得并行化。 |
irls.reg |
对于大多数模型,该值应为 0。在某些情况下,用于拟合 GAM 的迭代重新加权最小二乘法可能无法收敛。例如,具有多个零的数据可能会导致具有对数链接的模型出现问题,因为零均值对应于无限范围的线性预测变量值。这种收敛问题是由根本上缺乏可识别性引起的,但在迭代的每个阶段都必须解决的惩罚线性模型问题中并不表现为缺乏可识别性。在这种情况下,可以对模型应用岭回归罚分以施加可识别性, |
epsilon |
|
maxit |
要执行的 IRLS 迭代的最大次数。 |
mgcv.tol |
GCV/UBRE 优化中使用的收敛容差参数。 |
mgcv.half |
如果GCV/UBRE优化方法的某个步骤导致GCV/UBRE分数更差,则步长减半。这是放弃之前要尝试的减半次数。 |
trace |
将其设置为 |
rank.tol |
用于估计拟合问题的等级的容差。 |
nlm |
如果用于平滑参数的外部估计(非默认),则传递给 |
optim |
如果用于平滑参数的外部估计(非默认),则传递给 |
newton |
要传递给默认牛顿优化器的控制参数列表,用于对数平滑参数的外部估计。查看具体信息。 |
idLinksBases |
如果平滑项的平滑参数通过 |
scalePenalty |
|
efs.lspmax |
允许在扩展 Fellner Schall 平滑参数优化下的最大对数平滑参数。 |
efs.tol |
在测试 EFS 收敛时,REML 的更改可以忽略不计。如果步长很小并且最后 3 个步长导致 REML 变化小于此值,则停止。 |
keepData |
原始 |
scale.est |
如何估计由外迭代估计的指数族模型的尺度参数。请参阅 |
edge.correct |
通过使用默认牛顿 RE/ML 优化器在 |
细节
使用 newton
的外部迭代由具有以下元素的列表 newton
控制: conv.tol
(默认 1e-6)是相对收敛容差; maxNstep
是牛顿搜索方向的元素允许的最大长度(默认5); maxSstep
是最速下降方向元素允许的最大长度(仅在牛顿失败时使用 - 默认 2); maxHalf
是放弃之前允许的最大减半步数(默认 30)。
如果使用 nlm
的外部迭代用于拟合,则控制列表 nlm
存储用于调用例程 nlm
的控制参数。该列表具有以下命名元素: (i) ndigit
是 GCV/UBRE 分数中的有效位数 - 默认情况下,这是从 epsilon
算出的; (ii) gradtol
是用于判断 GCV/UBRE 分数梯度收敛到零的容差 - 默认设置为 10*epsilon
; (iii) stepmax
是最大允许的对数平滑参数步长 - 默认为 2; (iv) steptol
是允许的最小步长 - 默认为 1e-4; (v) iterlim
是允许的最大优化步骤数 - 默认为 200; (vi) check.analyticals
指示是否应以数字方式检查内置的精确导数计算 - 默认为 FALSE
。列表中未提供和命名的任何这些都将设置为其默认值。
使用 optim
的外部迭代由列表 optim
控制,该列表当前有一个元素:factr
,其默认值为 1e7。
作者
Simon N. Wood simon.wood@r-project.org
参考
Wood, S.N. (2011) Fast stable restricted maximum likelihood and marginal likelihood estimation of semiparametric generalized linear models. Journal of the Royal Statistical Society (B) 73(1):3-36
Wood, S.N. (2004) Stable and efficient multiple smoothing parameter estimation for generalized additive models. J. Amer. Statist. Ass.99:673-686.
https://www.maths.ed.ac.uk/~swood34/
也可以看看
gam
, gam.fit
, glm.control
相关用法
- R gam.check 拟合 gam 模型的一些诊断
- R gam.reparam 寻找平方根惩罚的稳定正交重新参数化。
- R gam.side GAM 的可识别性边条件
- R gam.fit3 使用 GCV、UBRE/AIC 或 RE/ML 导数计算进行 P-IRLS GAM 估计
- R gam.fit5.post.proc gam.fit5 的后处理输出
- R gam.fit GAM P-IRLS 估计与 GCV/UBRE 平滑度估计
- R gam.mh 具有 gam 拟合的简单后验模拟
- R gam.outer 使用“外部”迭代最小化 GAM 的 GCV 或 UBRE 分数
- R gam.vcomp 将 gam 平滑度估计报告为方差分量
- R gam.models 指定广义加性模型
- R gam.selection 广义加性模型选择
- R gamm 广义加性混合模型
- R gamlss.gH 计算回归系数的对数似然导数
- R gam 具有集成平滑度估计的广义加性模型
- R gam2objective GAM 平滑参数估计的目标函数
- R gamlss.etamu 将 mu 的导数转换为线性预测器的导数
- R gammals 伽玛位置比例模型系列
- R gamSim 模拟 GAM 的示例数据
- R gaulss 高斯位置尺度模型族
- R gfam 分组家庭
- R gumbls Gumbel 位置比例模型族
- R gevlss 广义极值位置比例模型族
- R ginla GAM 集成嵌套拉普拉斯逼近牛顿增强
- R get.var 从列表或 data.frame 中获取命名变量或计算表达式
- R vcov.gam 从 GAM 拟合中提取参数(估计器)协方差矩阵
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Setting GAM fitting defaults。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。