R中optimx/Synth中的Convcode
我一直在使用Synth包(它使用optimx进行优化),但我找不到Synth在不收敛时是否会出现非收敛错误的答案。我可以在optimx的帮助文件中看到,默认情况下,它不会保存失败(即那些不收敛的答案),因此我猜默认情况下它不会将这些失败传递给Synth;然而,我想确保我得到的答案是一致的。有没有办法通过convcode()设置或其他方法来确保这一点?我查看了代码,它没有为R中optimx/Synth中的Convcode,r,convergence,R,Convergence,我一直在使用Synth包(它使用optimx进行优化),但我找不到Synth在不收敛时是否会出现非收敛错误的答案。我可以在optimx的帮助文件中看到,默认情况下,它不会保存失败(即那些不收敛的答案),因此我猜默认情况下它不会将这些失败传递给Synth;然而,我想确保我得到的答案是一致的。有没有办法通过convcode()设置或其他方法来确保这一点?我查看了代码,它没有为保存失败设置控制值,因此它应该使用默认行为optimx,正如您所知,它是FALSE。下面是对synth()代码中的optimx
保存失败设置控制值,因此它应该使用默认行为optimx
,正如您所知,它是FALSE。下面是对synth()
代码中的optimx
的相关调用
rgV.optim.1 <- optimx(par = SV1, fn = fn.V, gr = NULL,
hess = NULL, method = optimxmethod, itnmax = NULL,
hessian = FALSE, control = list(kkt = FALSE, starttests = FALSE,
dowarn = FALSE, all.methods = all.methods), X0.scaled = X0.scaled,
X1.scaled = X1.scaled, Z0 = Z0, Z1 = Z1, quadopt = quadopt,
margin.ipop = Margin.ipop, sigf.ipop = Sigf.ipop,
bound.ipop = Bound.ipop)
....
rgV.optim.2 <- optimx(par = SV2, fn = fn.V, gr = NULL,
hess = NULL, method = optimxmethod, itnmax = NULL,
hessian = FALSE, control = list(kkt = FALSE,
starttests = FALSE, dowarn = FALSE, all.methods = all.methods),
X0.scaled = X0.scaled, X1.scaled = X1.scaled,
Z0 = Z0, Z1 = Z1, quadopt = quadopt, margin.ipop = Margin.ipop,
sigf.ipop = Sigf.ipop, bound.ipop = Bound.ipop)
rgV.optim.1谢谢,我就是这么想的。