Learn R Programming

sem (version 3.1-1)

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

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:
  • convergenceTRUE if the optimization apparently converged.
  • iterationsthe number of iterations required.
  • parthe vector of parameter estimates.
  • vcovthe estimated covariance matrix of the parameter estimates, based on a numeric Hessian; not supplied by optimizerNlminb.
  • criterionthe optimized value of the objective function.
  • Cthe model-implied covariance or moment matrix at the parameter estimates.
  • Athe estimated $A$ matrix.
  • Pthe estimated $P$ matrix.

See Also

sem, objective.functions, nlm, optim, nlminb