maxBFGS {maxLik}R Documentation

BFGS, SANN and Nelder-Mead Maximization

Description

These functions are wrappers for optim where the arguments are compatible with maxNR

Usage

maxBFGS(fn, grad = NULL, hess=NULL, start, print.level = 0, iterlim = 200,
   tol = 1e-08, reltol=tol, ... )
maxSANN(fn, grad = NULL, hess = NULL, start, print.level = 0, iterlim =
   10000, tol = 1e-08, reltol=tol, temp = 10, tmax = 10, parscale = rep(1, length = length(start)), ...)
maxNM(fn, grad = NULL, hess = NULL, start, print.level = 0, iterlim =
   500, tol = 1e-08, reltol=tol, parscale = rep(1, length = length(start)), alpha = 1, beta = 0.5, gamma = 2, ...)

Arguments

fn function to be maximised. Must have the parameter vector as the first argument. In order to use numeric gradient and BHHH method, fn must return vector of observation-specific likelihood values. Those are summed by maxNR if necessary. If the parameters are out of range, fn should return NA. See details for constant parameters.
grad gradient of the function. Must have the parameter vector as the first argument. If NULL, numeric gradient is used (only maxBFGS uses gradient). Gradient may return a matrix, where columns correspond to the parameters and rows to the observations (useful for maxBHHH). The columns are summed internally.
hess Hessian of the function. Not used by any of these methods, for compatibility with maxNR.
start initial values for the parameters.
print.level a larger number prints more working information.
iterlim maximum number of iterations.
tol, reltol the relative convergence tolerance (see optim). tol is for compatibility with maxNR.
temp controls the '"SANN"' method. It is the starting temperature for the cooling schedule. Defaults to '10'.
tmax is the number of function evaluations at each temperature for the '"SANN"' method. Defaults to '10'. (see optim)
parscale A vector of scaling values for the parameters. Optimization is performed on 'par/parscale' and these should be comparable in the sense that a unit change in any element produces about a unit change in the scaled value. (see optim)
alpha, beta, gamma Scaling parameters for the '"Nelder-Mead"' method. 'alpha' is the reflection factor (default 1.0), 'beta' the contraction factor (0.5) and 'gamma' the expansion factor (2.0). (see optim)
... further arguments for fn and grad.

Value

Object of class "maxim":

maximum value of fn at maximum.
estimate best set of parameters found.
gradient gradient at parameter value estimate.
hessian value of Hessian at optimum.
code integer. Success code, 0 is success (see optim).
message character string giving any additional information returned by the optimizer, or NULL.
iterations two-element integer vector giving the number of calls to fn and gr, respectively. This excludes those calls needed to compute the Hessian, if requested, and any calls to fn to compute a finite-difference approximation to the gradient.
type character string "BFGS maximisation".

Author(s)

Ott Toomet otoomet@ut.ee

See Also

optim, nlm, maxNR, maxBHHH.

Examples

# Maximum Likelihood estimation of the parameter of Poissonian distribution
n <- rpois(100, 3)
loglik <- function(l) n*log(l) - l - lfactorial(n)
# we use numeric gradient
summary(maxBFGS(loglik, start=1))
# you would probably prefer mean(n) instead of that ;-)
# Note also that maxLik is better suited for Maximum Likelihood

[Package maxLik version 0.5-10 Index]