Save out factor scores with complex data PreviousNext
Mplus Discussion > Multilevel Data/Complex Sample >
 Anonymous posted on Tuesday, May 03, 2005 - 1:13 pm
I have a question regarding how to save out data when generating factor scores from a CFA model using clustered data (children within families). In the analysis statement, I specify "type = complex fscores". From the savedata command, the data that saves out contains the variables that are in the model plus the cluster variable (the family id). However, I am looking for a way to save out the cluster variable AND the unique identifier (child number within family). Is there a way to do this?
 Linda K. Muthen posted on Tuesday, May 03, 2005 - 2:45 pm
See the SAVEDATA command to see how to save factor scores. See the IDVARIABLE option of the VARIABLE command to see how to save the ID variable. The FSCORES option is not used with TYPE=COMPLEX;
 Anonymous posted on Tuesday, May 03, 2005 - 3:01 pm
Thank you very much for your response. With respect to not using the FSCORES option with COMPLEX, does this mean that the FSCORES are created without concern for the nature of the observations (clustered)? Or is it rather that one should not attempt to create factor scores for clustered data?

I appreciate your help!
 bmuthen posted on Tuesday, May 03, 2005 - 3:10 pm
FSCORES should be requested within the SAVEDATA command, not in the ANALYSIS command using TYPE = .

Using Type=Complex, you do not compute factor score any different from a regular analysis. Perhaps you want to do a twolevel factor analysis (type=twolevel) in which case you get both child- and family-level factor scores.
 Walt Davis posted on Sunday, September 13, 2009 - 9:53 pm
I am curious ... it is possible to save factor scores for type=complex but it is not possible to save the FSCOEF or FSDET. Why is this? Can you provide a cite for how to calculate these in complex samples?
 Linda K. Muthen posted on Wednesday, September 16, 2009 - 3:30 pm
If you have only clustering and no weights, the point estimates are the same for TYPE=GENERAL and TYPE=COMPLEX. You can therefore run TYPE=GENERAL and use the factor score determinacy and factor score coefficients from that analysis. If you have weights, the point estimates are different and you would not be able to get these values from Mplus at this time.
 Laura Thomas posted on Wednesday, December 09, 2009 - 10:28 pm
I would like to obtain factor regression scores in a simple one factor CFA with categorical indicator variables. Why is it not possible to get fscoefficients for categorical dependent variables?
 Linda K. Muthen posted on Thursday, December 10, 2009 - 9:44 am
For categorical outcomes, factor scores are not computed using a regression method. An iterative procedure is used.
 Tatsuro Sakano posted on Monday, April 16, 2012 - 5:03 am
Dear Dr. Muthen,

I have a question about 2level CFA saving factor scores in TYPE=TWOLEVEL. The saved file includes original variables used in 2level CFA, within and between level factor scores, and some other between-level variables starting "B_". What do these variables mean?

Thank you.
 Linda K. Muthen posted on Monday, April 16, 2012 - 8:52 am
These are the random intercepts on the between level of variables measured at the individual level but used on both levels.
 Tatsuro Sakano posted on Friday, April 20, 2012 - 8:39 am
Thank you for your quick response. Additonally I'd like to ask you about 2level CFA.

Now I am analyzing 8 binary variables.

To obtain 2level factor scores, firstly I trid 2level categorical EFA with WLSMV estimator, and then, using the result of 2level EFA, I conducted 2level categorical CFA saving factor scores with ML estimator.

From the 2level EFA, I adopted 1factor both on within and between level. In this model, within level factor loadings were all significant, but on between level factor loadings of 2 variables were not significant(p>0.05).
So,in 2level CFA, I constrained to zero the coefficients of these two variables on between level. Is this right?

I have this question because the saved random intercepts of 2level CFA show all zero for these 2 variables.

I know that in 2level categorical CFA with ML estimator, between level residual variances are fixed at zero as the default. And now I constrain to zero 2 between level variables coefficients. Does it lead to 0 random intercept for these two variables?

Thank you.
 Linda K. Muthen posted on Friday, April 20, 2012 - 1:14 pm
I would not fix non-significant factor loadings to zero. The is why you don't get random intercepts for them.
 Elina Dale posted on Sunday, December 01, 2013 - 9:44 am
Dear Dr. Muthen,

In your responses to earlier posts you wrote that FSCORES was unavailable with TYPE=COMPLEX. I've used it:

Categorical = i1-i10 ;
Analysis: TYPE = COMPLEX ;
f1 BY i1* i2 i3 ;
f2 BY i4* i5 i6 ;
f3 BY i7* i8 i9 i10 ;
SAVEDATA: FILE is fscores.dat ; SAVE=FSCORES ;

And it seemed to work. From what I understand:
1) MPlus uses the regression method to compute factor scores with categorical data?
2)If I use the above set of commands, do I account for clustering of the data when computing factor scores?
3)Could you recommend a paper where the method MPlus uses to estimate Fscores with categorical data is described? I found DiStefano et al (2009) but it doesn't seem to describe pros/cons of the procedure used by Mplus?

Thank you!
 Linda K. Muthen posted on Monday, December 02, 2013 - 10:34 am
We have had factor scores for TYPE=COMPLEX for some time now.

1. With weighted least squares estimation, MAP is used. See Technical Appendix 11 on the website. With maximum likelihood estimation, EAL is used. See the IRT technical paper on the website.
2. Yes.
3. See 1.
 Elina Dale posted on Monday, December 02, 2013 - 2:53 pm
Dear Dr. Muthen,

I could not find Appendix 11 on

1. I looked and looked. Could you please, send its exact title or a direct link, please?

2. Also, in the MPlus FAQ on Factor Scores, it says that "with categorical factor indicators, IRT advocates using Information Functions.... MPlus provides factor determinacy in the regular output & IFs in the PLOT command".

I have categorical factor indicators but my factors are continuous. So, should I get IFs in the PLOT command?

If so, I tried using:


But not sure how to get the actual plot.

Thank you!
 Bengt O. Muthen posted on Monday, December 02, 2013 - 4:03 pm
1.The page that you link to says:

Technical Appendices

Click here for the technical appendices covering theory behind Mplus through Version 2.

2.Yes, you get information functions in the plots - see the pull-down Plot menu.
 Elina Dale posted on Monday, December 02, 2013 - 4:53 pm
Thank you! But I do not see numbering of appendices. They are organized around topics. I clicked WLS for Cat Variables and these are 3 papers I see, none of them on factor scores:

Muthén, B. (1984). A general structural equation model with dichotomous, ordered categorical, and continuous latent variable indicators. Psychometrika, 49, 115-132. Paper can be downloaded from here.

Muthén, B. & Satorra, A. (1995). Technical aspects of Muthén's LISCOMP approach to estimation of latent variable relations with a comprehensive measurement model. Psychometrika, 60, 489-503. Paper can be downloaded from here.

Muthén, B., du Toit, S.H.C. & Spisic, D. (1997). Robust inference using weighted least squares and quadratic estimating equations in latent variable modeling with categorical and continuous outcomes. Unpublished technical report. Paper can be downloaded from here.

Thank you!
 Linda K. Muthen posted on Monday, December 02, 2013 - 5:17 pm
Go to Technical Appendices in the left margin and you will see the following. Click on here.

Technical Appendices

Click here for the technical appendices covering theory behind Mplus through Version 2. Following are links to technical information for Mplus Version 3, Version 4, and Version 5.
 Mayumi Watanabe posted on Thursday, June 05, 2014 - 5:53 pm
Dear Dr. Muthen

I am analyzing multilevel SEM that does not have latent variables.
With the"SAVE DATA"command, I obtained factor scores on the between level.
Is it correct to calculate the within level factor score by "(original score)-(between score)"?

Thank you for your help.

 Linda K. Muthen posted on Friday, June 06, 2014 - 8:06 am
You can do that.
 Peter Halpin posted on Thursday, July 02, 2015 - 2:01 pm

I would like to follow up on the the second question raised by Elina Dale on Sunday, December 01, 2013: How does Mplus account for clustering when computing fscores?

I am familiar with the Mplus Technical Appendices, specifically Appendix 11, as well as the use of MAP versus EAP depending on the estimator involved.

However, I am not sure how Mplus incorporates information about clustering when computing fscores with type = complex. I have two questions:

1) I have computed two sets of scores for a unidimensional model with categorical indicators using the follow specification:


!type = complex;
estimator = MLR;
algorithm = integration;
integration = gauss;
adaptive = on;
link = probit;

The fscores and their SEs with and without "type = complex;" are numerically identical. Could you tell me, am I making a mistake here?

(Note that the ICCs for the indicator variables and the obtained fscores are .1 to .2)

2) To correct for clustering, I was under the impression the prior distribution (Appendix 11, eq 231) would be modified to account for the nesting structure of the data. Is this correct? Could you point me towards documentation that addresses the specifics? (Appendix 11 does not mention multilevel / complex models.)

As always, thank you very much for your time.

 Linda K. Muthen posted on Thursday, July 02, 2015 - 3:44 pm
There is no difference between factor scores with TYPE=GENERAL versus TYPE=COMPLEX. Only standard errors are affected. The factor score SEs are computed as sqrt(Var(F|Y)) which only uses the point estimates.
 Pega Davoudzadeh posted on Thursday, October 01, 2015 - 12:50 pm
Dear Dr. Muthen,

My question is in regards to the variable names listed at the bottom of an Mplus out file when saving factor scores. I ran a multilevel multiple-group IRT model and saved the factor scores, but I am not sure what all these variable labels mean. For example, each item is listed preceded by either a B_ or a CB_, then there are variables labeled _TV1-5, GROUP#1-4, C_GROUP#1-4, C_FAC_W, C_FAC_B, etc. Any clarification would be appreciated.

Thanks in advance!
 Bengt O. Muthen posted on Friday, October 02, 2015 - 8:11 am
B_ means that you consider the between-level random effect.

CB_ implies a class-specific between-level effect. I assume you are doing multiple-group analysis via the Knownclass version of Type=Mixture, so that C refers to group.
 Pega Davoudzadeh posted on Friday, October 02, 2015 - 11:10 am
Thank you very much!

Just for clarification, if I want to calculate an individuals factor score at each time point, would I add his/her C_FAC_W value to the C_GROUP value for the group to which they belonged plus his/her C_FAC_B value?

Thanks again!
 Bengt O. Muthen posted on Friday, October 02, 2015 - 5:44 pm
I need to see the output to be sure I know what you are after - please send to Support along with your license number.
Back to top
Add Your Message Here
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Options: Enable HTML code in message
Automatically activate URLs in message