FIML in a two level model with covari... PreviousNext
Mplus Discussion > Missing Data Modeling >
Message/Author
 Philippe Golay posted on Thursday, September 18, 2014 - 6:09 am
I'm trying to handle missings on covariates in a two level analysis with FIML. In order to do so, I want to include them in the model so they're not X-variables anymore.
my syntax is the following :


VARIABLE:

NAMES = SubjectID TIME AGE SEX SES SCORE1L1 GROUP1 GROUP2;
USEVARIABLES = TIME AGE SEX SES SCORE1L1 GROUP1 GROUP2;
cluster = SUBJECTID;
within = TIME;
between = AGE SEX SES GROUP1 GROUP2
Missing = .;


MODEL:

%WITHIN%
B1|SCORE1L1 ON TIME;

%BETWEEN%

SCORE1L1 ON AGE SEX SES GROUP1 GROUP2;!predictors only for intercept
SCORE1L1 with B1;

AGE SEX SES GROUP1 GROUP2;!mention the covariate (with missings) to add them to the model
AGE SEX SES GROUP1 GROUP2 with AGE SEX SES GROUP1 GROUP2;!unrestricted structure because they do not correlate by default otherwise




1) Does it look ok ?

2) if I had another level-1 covariate with missings (let's say COVL1). Should I add "TIME COVL1" & "TIME WITH COVL1" in the Within section ?



Thank you very much ! Philippe
 Linda K. Muthen posted on Thursday, September 18, 2014 - 11:17 am
If you say

AGE SEX SES GROUP1 GROUP2;

means, variances, and covariances will be estimated. It is not necessary to specify the other parameters.

If you have a time-varying covariate, mention its variances on within. There is no need for an interaction with time. See Example 9.16.
 Philippe Golay posted on Thursday, September 18, 2014 - 12:10 pm
Great ! It helps me a lot and I'll give it a try. Just to be sure, although not needed, the "AGE SEX SES GROUP1 GROUP2 WITH AGE SEX SES GROUP1 GROUP2" would still estimate the exact same model? Thank you again

Philippe
 Linda K. Muthen posted on Thursday, September 18, 2014 - 1:33 pm
Yes, it will. Do it both ways to prove this to yourself.
 Philippe Golay posted on Thursday, September 18, 2014 - 11:32 pm
Thank you. I just did and it looks like the covariance are not estimated by default. When I add the "AGE SEX SES GROUP1 GROUP2 WITH AGE SEX SES GROUP1 GROUP2" line, the number of free parameters goes from 21 to 31 (corresponding to the 10 covariances).

In simple regression models however only the variances statement is needed and the covariances are estimated by default. Thanks you again

Philippe
 Heather Prime posted on Thursday, April 09, 2015 - 2:06 pm
Hello,
I am using a two-level model to account for clustering of children within families. In a simplified version of my model (i.e., using only one predictor), I get the following error message: "Data set contains cases with missing on all variables except
x-variables. These cases were not included in the analysis.
Number of cases with missing on all variables except x-variables: 52"

However, in reality, I have no missing data on the predictor (age_C) and 52 cases with missing data on the outcome (boxcoop). Doesn't FIML allow for missingness on the outcome as long as the predictors are not missing data? Here is my input:

usevar = boxcoop age_C;

missing is all (-999.00);

cluster = famid;

within= age_C;

analysis:

type = twolevel;

model:

%within%

boxcoop on age_C;
output: sampstat stand;


Thank you,
Heather
 Linda K. Muthen posted on Thursday, April 09, 2015 - 2:19 pm
The message says you have missing on the outcome.

You need more than one outcomes for FIML.
 Bengt O. Muthen posted on Thursday, April 09, 2015 - 3:54 pm
FIML allows for missingness on the outcome only if the predictor is modeled as well. In your setup it isn't - it is simply conditioned on as in regular regression. If you want it modeled you have to mention e.g. its variance. This way, you have a bivariate model, not a univariate one. It comes with a price, however, because you have to assume normality for the predictor which you don't in the model you show.
 Zeynep Türktorun posted on Monday, February 15, 2016 - 7:06 am
Dear Dr. Muthen,

I am conducting a cross-level interaction analysis (with random slope & random intercept), however there are some missing values on the Level 1 predictor as well as on the dependent variable (both continuous variables). I thought that the FIML feature should help me to handling missing data as default.However there are two warnings:

*** WARNING
Data set contains cases with missing on x-variables.
These cases were not included in the analysis.
Number of cases with missing on x-variables: 5

*** WARNING
Data set contains cases with missing on all variables except
x-variables. These cases were not included in the analysis.
Number of cases with missing on all variables except x-variables: 3


This is my input:


variable:
names = code SD1 css bos EIP;
missing = all(999);
usevar = code SD1 css bos EIP;
cluster = code;
within = css;
between = SD1 EIP;

analysis:
type = twolevel random;

model:
%within%
beta1j | bos on css;

%between%
bos on SD1 EIP;
Beta1j on EIP;
bos with beta1j;

output: sampstat;

Why does FIML not work in this case? Which estimator can I use instead?

Thanks for your help!!
 Bengt O. Muthen posted on Tuesday, February 16, 2016 - 7:00 pm
Subjects with missing on x variables are deleted in regular regression, so this is not unusual. FIML is applied to DVs, not IVs. But if you worry about these cases (there are very few) you can "bring the x's into the model" by mentioning their variances.
 Zeynep Türktorun posted on Wednesday, February 17, 2016 - 9:09 am
Thanks a lot for your quick answer!
Back to top
Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action: