mxFitFunctionML {OpenMx} | R Documentation |
This function creates a new MxFitFunctionML object.
mxFitFunctionML(vector = FALSE)
vector |
A logical value indicating whether the objective function result is the likelihood vector. |
Fit functions are functions for which free parameter values are optimized such that the value of a cost function is minimized. The mxFitFunctionML function computes -2*(log likelihood) of the data given the current values of the free parameters and the expectation function (e.g., mxExpectationNormal or mxExpectationRAM) selected for the model.
The 'vector' argument is either TRUE or FALSE, and determines whether the objective function returns a column vector of the likelihoods, or a single -2*(log likelihood) value.
Usage Notes:
The results of the optimization can be reported using the summary function, or accessed directly in the 'output' slot of the resulting model (i.e., modelName$output). Components of the output may be referenced using the Extract functionality.
Returns a new MxFitFunctionML object. One and only one MxFitFunctionML object should be included in each model along with an associated mxExpectationNormal or mxExpectationRAM object.
The OpenMx User's guide can be found at http://openmx.psyc.virginia.edu/documentation.
# Create and fit a model using mxMatrix, mxAlgebra, mxExpectationNormal, and mxFitFunctionML library(OpenMx) # Simulate some data x=rnorm(1000, mean=0, sd=1) y= 0.5*x + rnorm(1000, mean=0, sd=1) tmpFrame <- data.frame(x, y) tmpNames <- names(tmpFrame) # Define the matrices M <- mxMatrix(type = "Full", nrow = 1, ncol = 2, values=c(0,0), free=c(TRUE,TRUE), labels=c("Mx", "My"), name = "M") S <- mxMatrix(type = "Full", nrow = 2, ncol = 2, values=c(1,0,0,1), free=c(TRUE,FALSE,FALSE,TRUE), labels=c("Vx", NA, NA, "Vy"), name = "S") A <- mxMatrix(type = "Full", nrow = 2, ncol = 2, values=c(0,1,0,0), free=c(FALSE,TRUE,FALSE,FALSE), labels=c(NA, "b", NA, NA), name = "A") I <- mxMatrix(type="Iden", nrow=2, ncol=2, name="I") # Define the expectation expCov <- mxAlgebra(solve(I-A) %*% S %*% t(solve(I-A)), name="expCov") expFunction <- mxExpectationNormal(covariance="expCov", means="M", dimnames=tmpNames) # Choose a fit function fitFunction <- mxFitFunctionML() # Define the model tmpModel <- mxModel(model="exampleModel", M, S, A, I, expCov, expFunction, fitFunction, mxData(observed=tmpFrame, type="raw")) # Fit the model and print a summary tmpModelOut <- mxRun(tmpModel) summary(tmpModelOut)