R: sem Optimizers

optimizers {sem} | R Documentation

## sem Optimizers

### Description

The default optimizer used by `sem` is `optimizerSem`, which employs compiled code and is integrated with the `objectiveML` and `objectiveGLS` objective functions; `optimizerSem`, written by Zhenghua Nie, is a modified version of the standard R `nlm` optimizer, which was written by Saikat DebRoy, R-core, and Richard H. Jones. The other functions call optimizers (`nlm`, `optim`, or `nlminb`), to fit structural equation models, and are called by the `sem` function. The user would not normally call these functions directly, but rather supply one of them in the `optimizer` argument to `sem`. Users may also write them own optimizer functions. `msemOptimizerNlm` is for fitting multigroup models, and also adapts the `nlm` code.

### Usage

    optimizerSem(start, objective=objectiveML,
    	gradient=TRUE, maxiter, debug, par.size, model.description, warn, ...)

    optimizerMsem(start, objective=msemObjectiveML, gradient=TRUE,
    	maxiter, debug, par.size, model.description, warn=FALSE, ...)

    optimizerNlm(start, objective=objectiveML, gradient=TRUE,
    	maxiter, debug, par.size, model.description, warn, ...)

    optimizerOptim(start, objective=objectiveML, gradient=TRUE,
    	maxiter, debug, par.size, model.description, warn, method="CG", ...)

    optimizerNlminb(start, objective=objectiveML, gradient=TRUE, maxiter,
    	debug, par.size, model.description, warn, ...)

    msemOptimizerNlm(start, objective=msemObjectiveML, gradient=TRUE,
    		maxiter, debug, par.size, model.description, warn=FALSE, ...)

### Arguments

`start` | a vector of start values for the parameters.
`objective` | the objective function to be optimized; see objective.functions.
`gradient` | `TRUE` if an analytic gradient is to be used (if one is available).
`maxiter` | the maximum number of iterations allowed.
`debug` | `TRUE` to show the iteration history and other available information about the optimization.
`par.size` | `"startvalues"` to have the optimizer scale the problem according to the magitudes of the start values (ignored by `optimizerNlminb`).
`model.description` | a list with elements describing the structural-equation model (see the code for details).
`warn` | if `FALSE`, suppress warnings during the optimization.
`method` | the method to be employed by the `optim` optimizer; the default is `"CG"` (conjugate-gradient).
`...` | additional arguments for the `nlm`, `optim`, or `nlminb` optimizer.

### Value

An object of class `"semResult"`, with elements:

`convergence` | `TRUE` if the optimization apparently converged.
`iterations` | the number of iterations required.
`par` | the vector of parameter estimates.
`vcov` | the estimated covariance matrix of the parameter estimates, based on a numeric Hessian; not supplied by `optimizerNlminb`.
`criterion` | the optimized value of the objective function.
`C` | the model-implied covariance or moment matrix at the parameter estimates.
`A` | the estimated A matrix.
`P` | the estimated P matrix.

### Author(s)

John Fox jfox@mcmaster.ca, and Zhenghua Nie, in part adapting work by Saikat DebRoy, R-core, and Richard H. Jones.

### See Also

`sem`, `objective.functions`, `nlm`, `optim`, `nlminb`

[Package sem version 3.1-13 Index]