returnCode | R Documentation |
These function extract success or failure information from optimization objects.
The returnCode
gives a numeric code, and returnMessage
a
brief description about the success or
failure of the optimization, and point to the problems occured (see
documentation for the
corresponding functions).
returnCode(x, ...)
## Default S3 method:
returnCode(x, ...)
## S3 method for class 'maxLik'
returnCode(x, ...)
returnMessage(x, ...)
## S3 method for class 'maxim'
returnMessage(x, ...)
## S3 method for class 'maxLik'
returnMessage(x, ...)
x |
object, usually an optimization result |
... |
further arguments for other methods |
returnMessage
and returnCode
are a generic functions, with methods
for various optimisation algorithms.
The message should either describe
the convergence (stopping condition),
or the problem.
The known codes and the related messages are:
gradient close to zero (normal convergence).
successive function values within tolerance limit (normal convergence).
last step could not find higher value (probably not
converged). This is related to line search step getting too
small, usually because hitting the boundary of the parameter
space. It may also be related to attempts to move to a wrong
direction because of numerical errors. In some cases it can be
helped by changing steptol
.
iteration limit exceeded.
Infinite value.
Infinite gradient.
Infinite Hessian.
Successive function values withing relative tolerance limit (normal convergence).
(BFGS) Hessian approximation cannot be improved because of gradient did not change. May be related to numerical approximation problems or wrong analytic gradient.
Lost patience: the optimizer has hit an inferior value too many
times (see maxSGA
for more information)
Initial value out of range.
Integer for returnCode
, character for returnMessage
.
Different optimization routines may define it in a different way.
Ott Toomet
maxNR
, maxBFGS
## maximise the exponential bell
f1 <- function(x) exp(-x^2)
a <- maxNR(f1, start=2)
returnCode(a) # should be success (1 or 2)
returnMessage(a)
## Now try to maximise log() function
a <- maxNR(log, start=2)
returnCode(a) # should give a failure (4)
returnMessage(a)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.