Learn R Programming

sem (version 3.1-16)

optimizers: 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, ...)

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.

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.

Author

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