mltoptim {mlt} | R Documentation |
Control Optimisation
Description
Define optimisers and their control parameters
Usage
mltoptim(auglag = list(maxtry = 5, kkt2.check = FALSE),
spg = list(maxit = 10000, quiet = TRUE, checkGrad = FALSE),
nloptr = list(algorithm = "NLOPT_LD_MMA", xtol_rel = 1.0e-8),
trace = FALSE)
Arguments
auglag |
A list with control parameters for the |
spg |
A list with control parameters for the |
nloptr |
A list with control parameters for the |
trace |
A logical switching trace reports by the optimisers off. |
Details
This function sets-up functions to be called in mlt
internally.
Value
A list of functions with arguments theta
(starting values), f
(log-likelihood),
g
(scores), ui
and ci
(linear inequality constraints).
Adding further such functions is a way to add more optimisers to mlt
.
The first one in this list converging defines the resulting model.
Examples
### set-up linear transformation model for conditional
### distribution of dist given speed
dist <- numeric_var("dist", support = c(2.0, 100), bounds = c(0, Inf))
ctmm <- ctm(response = Bernstein_basis(dist, order = 4, ui = "increasing"),
shifting = ~ speed, data = cars)
### use auglag with kkt2.check = TRUE => the numerically determined
### hessian is returned as "optim_hessian" slot
op <- mltoptim(auglag = list(maxtry = 5, kkt2.check = TRUE))[1]
mltm <- mlt(ctmm, data = cars, scale = FALSE, optim = op)
### compare analytical and numerical hessian
all.equal(c(Hessian(mltm)), c(mltm$optim_hessian), tol = 1e-4)