You are here

FIML Estimation

4 posts / 0 new
Last post
siti nur azizah's picture
Joined: 03/12/2014 - 13:01
FIML Estimation

I want to ask you.
actually, I have a problem with my data. My new data is incomplete (missing data). I read on the web if no data is lost then using FIML function, but I am confused what to put where and what. I have tried but I always fail. please help me.
other than that, is there any basis we determine the value? I tried to try to change the value of 0.25-1 and outcome affect the output Standard error of estimate.
thank you.

Plain text icon kodingan DATA BARU YogyaPabar.txt4.8 KB
mhunter's picture
Joined: 07/31/2009 - 15:26
Hi, To use FIML, simply


To use FIML, simply create a model with raw data.

aModel <- mxModel(name="Example with FIML",
    mxData(aRawDataSet, type="raw"),
    # other paths, matrices, and algebras

Mike Hunter

siti nur azizah's picture
Joined: 03/12/2014 - 13:01
Great. Thank You for your

Great. Thank You for your answer. it's a helpful.

tbates's picture
Joined: 07/31/2009 - 14:25
example FIML model

OpenMx works well with missing data using FIML as you say.

All you need to do is include your raw data in the mxData() line, and use the FIML objective.
Here's an example:

data(myFADataRaw, package="OpenMx")
manifests = names(myFADataRaw)
myFADataRaw = myFADataRaw[, manifests]
latents   = c("G")
m1 <- mxModel("m1", type="RAM",
    manifestVars = manifests,
    latentVars   = latents,
    # Factor loadings
    mxPath(from = latents, to = manifests),
    # residuals and variances
    mxPath(from = manifests, arrows = 2), # manifest residuals 
    mxPath(from = latents, arrows = 2, free = F, values = 1), # latents fixed@1
    mxPath(from = c("x1", "x2"), to = "x3", arrows = 1), # manifest causes
    mxPath(from = "one", to = manifests, arrows = 1), # manifest means
    mxData(myFADataRaw, type = "raw")
m1 = umxRun(m1, setLabels = T, setStart = T)
Log in or register to post comments