Learn R Programming

nlr (version 0.1-3)

optim.NLM: NLM optimization.

Description

Modified Newton-Levenberg-Marquardt optimization. It is derivative based optimization method, designed to be robust against sigularity problem due to outliers.

Usage

optim.NLM(objfnc, data, start = getInitial(objfnc, data), 
control = nlr.control(tolerance = 0.001, minlanda = 1/2^10, 
maxiter = 25 * length(start)), ...)

Arguments

objfnc

any objective function for minimizing, it must contains accept formula, data and start as argument, extra argument can be passed by (...). The output of objfnc must be a list contains: $value(attr,gradient,hessian), $angmat (angular matrix),$angvec (angular vector) to check convergence. Usually it might have nl.form object as entry.

data

list of the data, that might have predictor and response variables with names.

start

list of initial values with names as parameters.

control

nlr.control options to control the optimization iterations.

any external parameters passe to objfnc.

Value

result is a list of:

parameters

list of estimated parameters wit hsame names as start

objfnc

computed object function returned back by objfnc

history

history of fitt, include parameters and objective values, other level of iteration is presented for which in each iteration some more steps is done to rectify the singularity of hessian.

Details

Optimize objective function objfnc with respect to parameters start. The mothod is gradient base combines Newton, Stepest descend and levenberg-Marquardt.

References

Riazoshams H, Midi H, and Ghilagaber G, 2018,. Robust Nonlinear Regression, with Application using R, Joh Wiley and Sons. Seber, G., A. F. and Wild, C. J. (2003). Nonlinear Regression. New York: John Wiley & Sons, Inc.

See Also

nl.form

Examples

Run this code
# NOT RUN {
## The function is currently defined as
"optim.NLM"
# }

Run the code above in your browser using DataLab