MM-estimate of a nonlinear function, Using Mixture of Newton and Levenberg-Marquardt method. Parameters estimates by robust MM-estimate by minimizing the sum of robust rho function. Required derivatives such as gradient
and hessian
are computed numericaly by the loss function dfr.robloss
dfrmest.NLM(formula, data, start = getInitial(formula, data), robfunc, control =
nlr.control(tolerance = 0.01, minlanda = 1/2^25,maxiter = 25 * length(start)), vm = NULL,
rm = NULL, ...)
nl.form object of the nonlinear function model. See nl.form
object.
list of data with the response and predictor as name of variable. In heterogeneous case if it include response variable values of heterogenous variance function it asume variance function is function of predictor \(H(x_i,\tau)\), otherwise it assume is a function of predictor \(H(f(x_i,\theta),\tau)\).
list of starting value parameter, name of parameters must be represented as names of variable in the list.
nl.form object of robust function used for downgrading.
nlr.control object, include tolerance, maxiter,... see nlr.control
.
optional covariance matrix of residuals, used for nonlinear generalized M-estimate.
optional correlation matrix, used for nonlinear generalized M-estimate. rm is correlation matrix of vm, thus only vm is enough to be given. It can be given by user also but not necessary automatically will be calculated by argument eiginv(t(chol(vm))).
any other argument passed to formula, robfnc, or optimization function.
result is object of nl.fitt.rob (nonlinear fitt robust) for homogeneous variance, and nl.fitt.rgn for heterogeneous and autocorrelated error (nonlinear fitt robust generalized), see nl.fitt.rgn object detail.
nonlinear regression parameter estimate of \(\theta\).
of fited model.
nl.form
object of called nonlinear regression model.
computed response.
computed (right side of formula) at estimated parameter with gradient and hessian attributes.
list of curvatures, see curvature
function.
matrix of convergence history, collumns include: convergence index, parameters, minimized objective function, convergence criterion values, or other values. These values will be used in plot
function in ploting history.
fittmethod
object of method used for fitt.
list of called data.
Object of class "callorNULL"
source function called for fitt.
Fault
object of error, if no error Fault number = 0 will return back.
robust loss value including gradient and hessain attributes.
computed robust rho function, including gradient and hessain attributes.
estimated residuals, including gradient and hessain attributes.
curvature
nl.form
object of robust loss rho function.
covariance matrix, diagonal of variance model predicted values.
cholesky decomposition of vm.
transformed of response by rm, include gradinet and hessian attributes.
transformed of predictor by rm, include gradinet and hessian attributes.
This function is mixture of Levenberg Marquardt, Newton and Steepest descent, but using numerical derivatives. It is used to minimize the robust loss function using \(\rho\) function.
Due to wrong effect of outlier in creating singularity in hessian matrix the levenberg Marquardt is used to remedy the effect. Morover for fast convergence when hessian is non singular Newton with Steepest descent is applied.
Riazoshams H, Midi H, and Ghilagaber G, 2018,. Robust Nonlinear Regression, with Application using R, Joh Wiley and Sons.
dfr.robloss
, nlmest.LM
, nlmest.WF
, nl.form
, nl.fitt.rob
, nl.fitt.rgn
, nlr.control
# NOT RUN {
datalist=list(xr=ntp$dm.k,yr=ntp$cm.k)
ntpstart=list(p1=.12,p2=6,p3=1,p4=33)
ntpstarttau=list(tau1=-.66,tau2=2,tau3=.04)
fittnml <- dfrmest.NLM(formula=nlrobj1[[16]], data = datalist, start=ntpstart,
robscale = TRUE, robfunc = nl.robfuncs[["huber"]],control=
nlr.control(tolerance=1e-4,trace=TRUE))
fittnml$parameters
## The function is currently defined as
"dfrmest.NLM"
# }
Run the code above in your browser using DataLab