R: sem Objective-Function Builders

objective.functions {sem} | R Documentation

## sem Objective-Function Builders

### Description

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.

### Usage

    objectiveML(gradient=TRUE, hessian=FALSE)
    objectiveML2(gradient=TRUE)

    objectiveGLS(gradient=FALSE)
    objectiveGLS2(gradient=FALSE)

    objectiveFIML(gradient=TRUE, hessian=FALSE)
    objectiveFIML2(gradient=TRUE, hessian=FALSE)

    msemObjectiveML(gradient=TRUE)
    msemObjectiveML2(gradient=TRUE)

    msemObjectiveGLS(gradient=FALSE)

### Arguments

`gradient` | 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:

`objective` | an objective function.
`gradient` | a gradient function.

### Author(s)

John Fox jfox@mcmaster.ca

### References

See `sem`.

### See Also

`sem`, `optimizers`

[Package sem version 3.1-13 Index]