These functions return objective functions suitable for use with optimizers called by sem. The user would not
normally call these functions directly, but rather supply one of them in the objective argument to
sem. Users may also write their own objective functions. objectiveML and objectiveML2 are for multinormal maximum-likelihood
estimation; objectiveGLS and objectiveGLS2 are for generalized least squares; and objectiveFIML2
is for so-called “full-information maximum-likelihood” estimation in the presence of missing data. The FIML estimator
provides the same estimates as the ML estimator when there is no missing data; it can be slow because it iterates over
the unique patterns of missing data that occur in the data set.
objectiveML and objectiveGLS use
compiled code and are therefore substantially faster. objectiveML2 and objectiveGLS2 are provided primarily to illustrate
how to write sem objective functions in R. msemObjectiveML uses compiled code is for fitting multi-group models by
multinormal maximum likelihood; msemObjectiveML2 is similar but doesn't use compiled code. msemObjectiveGLS uses compiled
code and is for fitting multi-group models by generalized least squares.
If TRUE, the object that's returned includes a function for computing an analytic gradient; there is at present no
analytic gradient available for objectiveFIML, objectiveGLS, objectiveGLS2, or msemObjectiveGL.
hessian
If TRUE, the objected returned includes a function to compute an analytic Hessian; only avaiable for objectiveML
and not generally recommended.
Value
These functions return an object of class "semObjective", with up to two elements: