"Observed" correlation matrix with missing data--is it computed?

Posted on
No user picture. fife Joined: 07/01/2010

I've got a bit of an unusual question. I have missing data and I'm taking advantage of FIML's algorithms to handle that missingness. I know the EM algorithm will return a "corrected" correlation or covariance matrix. Will FIML do the same? I know it returns corrected model estimates, but I can't see how I'd extract the corrected correlation matrix. When I type:

model$data

It returns the raw dataset (with missing values still missing).

Any ideas?

Replied on Fri, 10/10/2014 - 11:10
Picture of user. mhunter Joined: Jul 31, 2009

FIML is a raw data method. It does not create a covariance matrix from the raw data at any point. It estimates an expected covariance matrix that can be accessed in several ways. One way is as follows:


yourModelFit <- mxRun(yourModel)
yourModelFit$fitfunction$info$expCov

This gives you the model-implied expected covariance matrix. Perhaps the closest thing to what you're after is the expected covariance matrix for a raw data saturated model. In OpenMx 2.0 and the Beta you can get saturated and independence models like this:


yourRefModels <- mxRefModels(yourModelFit, run=TRUE)
#yourRefModels is a list with two elements. The first one is the saturated model.
yourRefModels[[1]]$fitfunction$info$expCov

That would give you the saturated model expected covariance matrix as fit by FIML. This is the absolutely best fitting covariance matrix that takes into account the missing data via FIML.

Hope this helps!

Replied on Fri, 10/10/2014 - 11:58
Picture of user. mhunter Joined: Jul 31, 2009

In reply to by fife

Given the simulations I know you've done regarding missing data, EM, and FIML, I believe that the saturated FIML expected covariance matrix would be very close to the EM 'corrected' covariance matrix. I'm not sure, but that's how I'd bet.

Replied on Mon, 10/20/2014 - 11:00
No user picture. fife Joined: Jul 01, 2010

In reply to by mhunter

I'm finally getting around to testing this out. It tells me that the function mxRefModels doesn't exist. I'm running OpenMx_2.0.0-3838. Any ideas?

Replied on Mon, 10/20/2014 - 11:14
Picture of user. jpritikin Joined: May 23, 2012

In reply to by fife

It should be there,

http://openmx.psyc.virginia.edu/docs/OpenMx/2.0.0-3838/_static/Rdoc/omxSaturatedModel.html

The help may not be linked correctly so ?mxRefModels might fail.