FIML Estimation

3 replies [Last post]
siti nur azizah's picture
Joined: 03/12/2014

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.

kodingan DATA BARU YogyaPabar.txt4.8 KB
tbates's picture
Joined: 07/31/2009
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)

mhunter's picture
Joined: 07/31/2009
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
Great. Thank You for your

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