[R] Question about nlminb function

Ivan Krylov kry|ov@r00t @end|ng |rom gm@||@com
Fri Apr 3 11:24:56 CEST 2020


On Thu, 2 Apr 2020 10:26:07 +0000
"Lim, Hwanggyu" <hlim using gmac.com> wrote:

> when n-1th estimates and nth estimates have absolute differences
> less than 0.001 for all three parameters, the iteration must stop

> I am using nlminb optimization function

nlminb function uses the PORT library. According to [1], the closest
thing PORT has to what you want is the notion of X-convergence, namely,
stopping when max(scale * abs(x - xstar))/max(scale * abs(x + xstar)) is
considered to be below control$x.tol (with xstar being supposed local
minimiser and scale being all ones by default). Using it as an absolute
stopping criterion in x requires knowledge of at least order of
magnitude of xstar, though, so it might not be feasible.

Note that ?nlminb says in the description that it is there "for
historical compatibility."

The nloptr package offers an xtol_abs option [2] that results in the
behaviour you want.

-- 
Best regards,
Ivan

[1] David M. Gay, Usage Summary for Selected Optimization Routines.
<http://web.archive.org/web/20070508140716/http://netlib.bell-labs.com/cm/cs/cstr/153.pdf>

[2]
https://nlopt.readthedocs.io/en/latest/NLopt_Reference/#stopping-criteria



More information about the R-help mailing list