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