Control Function for rrvglm() Calling optim()
rrvglm.optim.control.RdAlgorithmic constants and parameters for running optim
within rrvglm are set using this function.
Usage
rrvglm.optim.control(Fnscale = 1, Maxit = 100,
Switch.optimizer = 3, Abstol = -Inf,
Reltol = sqrt(.Machine$double.eps), ...)Arguments
- Fnscale
Passed into
optimasfnscale.- Maxit
Passed into
optimasmaxit.- Switch.optimizer
Iteration number when the "Nelder-Mead" method of
optimis switched to the quasi-Newton "BFGS" method. AssigningSwitch.optimizera negative number means always BFGS, while assigningSwitch.optimizera value greater thanmaxitsmeans always use Nelder-Mead.- Abstol
Passed into
optimasabstol.- Reltol
Passed into
optimasreltol.- ...
Ignored.
Details
See optim for more details.
Note
The transition between optimization methods may be
unstable, so users may have to vary the value of
Switch.optimizer.
Practical experience with Switch.optimizer shows that
setting it to too large a value may lead to a local solution,
whereas setting it to a low value will obtain the global
solution. It appears that, if BFGS kicks in too late when
the Nelder-Mead algorithm is starting to converge to a local
solution, then switching to BFGS will not be sufficient to
bypass convergence to that local solution.