Modeling correlated errors for indica... PreviousNext
Mplus Discussion > Structural Equation Modeling >
 Bruce A. Cooper posted on Thursday, July 12, 2007 - 2:57 pm
I've been unable to figure out how to replicate a book example that specifies 8 specific correlations among the residuals of 6 indicators of a latent variable in a structural regression model. I've tried the statements below, but the Mplus results are not even close to the results in the book example. Is this the correct approach?


famrisk BY parpsych* lowses* ;
cog_achv BY verbal* vis_spa* memory* reading* arith* spelling* ;
c_adjust BY motivtn* harmony* stabilty* ;
famrisk-c_adjust@1 ;

cog_achv ON famrisk ;
c_adjust ON cog_achv ;

verbal WITH vis_spa memory spelling ;
memory WITH vis_spa reading ;
reading WITH arith spelling ;
arith WITH spelling ;
 Linda K. Muthen posted on Thursday, July 12, 2007 - 3:21 pm
Using the WITH option is the way to specify residual covariances. Are you sure you have exactly the same number of observations, the same number of parameters, and are using the same estimator?
 Bruce A. Cooper posted on Friday, July 13, 2007 - 5:08 pm
Thanks for your blazingly fast reply, Linda!

I waited to reply until I could check the
issue about the number of parameters. Sadly, the problem might well be that the estimator is different. This is the same correlation matrix data set that I wrote about in another post about two weeks ago. So, Mplus is using ML, but Kline (the author) used Statistica to get accurate estimates because the matrix is corr, not cov. I have gotten results identical to his, however, using RAMONA in Systat 12.

My main task is to learn Mplus, however. I obtained very similar factor loadings with Mplus for the measurement part of the model, although not exact. I thought that was good enough to try to extend the model to the SR part, too. One problem (besides the estimator) may be that I don't know how to scale the variances of the latent variables to 1, and also get the residual variances for them in the SR part of the model. Those estimates are 1.0 in the Mplus output, but they are not the same in the SR models from the book and Systat.

Is there a way to scale the latent variables with variances = 1 in the measurement part of the model (so as to get loadings for all indicators) and still get estimates for the residual variances of the latent endogenous variables in the SR part of the model?

 Linda K. Muthen posted on Monday, July 16, 2007 - 9:01 am
Setting the metric of latent variables is described in the user's guide under the BY option. If you want latent variable variance of one, you free the first factor loading and fix the factor variance to one, for example,

f BY y1* y2 y3;
 Bruce A. Cooper posted on Monday, July 16, 2007 - 2:03 pm
Thanks, Linda -

I think I was not clear about my question. Your suggested syntax was what I had already used in the model.

Suppose I have 6 variables y1-y6 representing 2 factors f1 & f2. I specify this model:

f1 BY y1* y2* y3* ;
f2 BY y4* y5* y6* ;
f1-f2@1 ;
f2 ON f1 ;
y1 WITH y2 y3 ;
y2 WITH y3 ;
y4 WITH y5 y6 ;
y5 WITH y6 ;

I think that this model does the following: The first two lines obtain estimates for the loadings of the two sets of indicator variables on the two factors. The third line sets the variances of the factors to 1 (in order to get all the loadings). The fourth line is the structural regression of f2 on f1. The remaining lines obtain the residual covariances among the y's within sets.

What I would like to know is how I can obtain all 6 loadings (by setting the factor variances to 1) and still obtain the disturbance (residual) for f2 regressed on f1 in Mplus. Is that possible?

 Linda K. Muthen posted on Monday, July 16, 2007 - 2:39 pm
In the above model, the residual variance of f2 is fixed to one not the variance because f2 is a dependent variable. You need to set the metric of a factor by either fixing one factor loading to one or the factor variance to one. You cannot have all factor loadings free and the factor variance/residual variance free.
 Bruce A. Cooper posted on Tuesday, July 17, 2007 - 5:32 pm
Thanks, Linda -

What you said is what I thought, but in Principles and Practice of SEM, 2nd Ed by Kline, he shows loadings for all the indicators in his 3-factor model, corr among 8 pairs of residuals (my first post), direct effects of f2 on f1, and f3 on f2, AND disturbances for f2 and f3 even though he has set their variances to 1 in order to get all the indicator loadings.

I still don't know how he got all the loadings AND the disturbances from the program that he used for the tabled analyses (Statistica) but at least I know now how to do the analysis in Mplus with ML as the estimator!

As an aside, I was able to get all the estimates he reported with SYSTAT 12's RAMONA using Maximum Wishart likelhood, but only by including the "illegal" commands to set the factor variances to 1 AND estimate the disturbances for the factors in the SR part of the model. I don't know why that worked, since it isn't supposed to be possible! In his chapters on CFA and SEM, Kline himself says that models with latent variables have to be identified either by setting an indicator loading to 1, or by scaling the variance of the latent variable to 1. So I don't know why Statistica (apparently) and RAMONA are able to get away with estimating the disturbances along with all indicator loadings!

All this by way of explaining the source of my questions re Mplus. Again, thanks!

- bac
 Linda K. Muthen posted on Tuesday, July 17, 2007 - 6:14 pm
If he has fixed his factor variances to one, then the parameters will not be estimated. Perhaps you are looking at the standardized solution.

If a program provides estimates for non-identified parameters, these results are meaningless.
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