增加lmrob中的最大迭代次数

时间:2014-05-27 14:18:27

标签: r regression robust

如何增加R中maxit.scale包中lmrob函数的最大迭代次数(即robustbase参数)?

默认值为200,但我想增加它。

2 个答案:

答案 0 :(得分:1)

library(robustbase)
data(starsCYG, package="robustbase")
a1<-lmrob.control()
RlmST<-lmrob(log.light~log.Te,data=starsCYG,control=a1)

增加maxit.scale;你的问题并不是很清楚 你想要增加哪一个迭代计数,但我想 它是maxit.scale,因为它是唯一默认设置为200的那个。在这里,我将maxit.scale增加到201:

a1$maxit.scale<-201
RlmST<-lmrob(log.light~log.Te,data=starsCYG,control=a1)

无论如何,你可以用相同的方式改变另一个:检查:

?lmrob.control

答案 1 :(得分:1)

如果您说您正在使用robustbase软件包,那可能会有所帮助。

?lmrob会显示一个帮助页面,阅读它会指向lmrob.control,看起来像

lmrob.control(setting, seed = NULL, nResample = 500,
              tuning.chi = NULL, bb = 0.5, tuning.psi = NULL,
              max.it = 50, groups = 5, n.group = 400,
              k.fast.s = 1, best.r.s = 2,
              k.max = 200, maxit.scale = 200, k.m_s = 20,
              refine.tol = 1e-7, rel.tol = 1e-7, solve.tol = 1e-7,
              trace.lev = 0,
              mts = 1000, subsampling = c("nonsingular", "simple"),
              compute.rd = FALSE, method = "MM", psi = "bisquare",
              numpoints = 10, cov = NULL,
              split.type = c("f", "fi", "fii"), fast.s.large.n = 2000, ...)

详细信息

k.fast.s(对于fast-S算法):每个重新采样候选者的局部改进步骤数(“I-steps”)。

k.m_s(对于M-S算法):指定算法停止多少次不成功的细化步骤。​​

best.r.s(对于fast-S算法):要进一步迭代的最佳候选者的数量(即“精炼”);在Salibian-Barrera&amp; Yohai(2006)。

k.max(对于fast-S算法):“完全”迭代的最佳候选者的最大细化步骤数。

maxit.scale整数,指定C级find_scale()次迭代的最大数量。

所以你可能想改变其中一个。