Theta parameterization for categorica... PreviousNext
Mplus Discussion > Categorical Data Modeling >
 Rick Sawatzky posted on Friday, February 16, 2007 - 5:31 pm
I am estimating a mediation model with two exogenous variables and wish to specify all the variables as ordinal (see syntax below). To specify the exogenous variable as ordinal, used theta parameterization and created a latent factor as follows:
MH BY mhr@1;

However, the model is only identified if I also fix the variance of the latent factor at 1 as follows: MH@1. I am not sure why this is necessary and what the estimated covariance between MH and PH in the psi matrix refers to considering that the variances for MH and PH are both set at one. Could you explain to me how MPlus has specified this? Thanks so much.

DATA: file is impute1_cov.txt;
VARIABLE: NAMES ARE y2 y5 y6 y7 phr mhr ql1 ql2;
USEVARIABLES ARE y2 y5 y6 y7 phr mhr ql1 ql2;
CATEGORICAL ARE y2 y5 y6 y7 phr mhr ql1 ql2;


f by y2@1 y5 y6 y7;
f1 by ql2@1 ql1;

MH BY mhr@1;
PH BY phr@1;
f on MH PH;
f1 on MH PH f;
 Bengt O. Muthen posted on Friday, February 16, 2007 - 8:01 pm
You don't need to do any of this. Mplus handles it for you if you simply mention mhr and phr in your model, e.g. saying

[mhr$1 phr$1];

That changes them from "true x's" that you regress on (condition on) to "y's" which are part of the model.

When you say

MH BY mhr@1;

you are fixing the variance at zero, which means that the factor you create has no variance and hence cannot predict anything You want instead to fix it at one. The correlation with the other factor is then a polychoric one. That's what Mplus does in the first alternative I mentioned above.
 Rick Sawatzky posted on Saturday, February 17, 2007 - 7:09 am
Thank you very much for your reply. For some reason I cannot get the alternative that you suggested to work. I only get polychoric correlations when I explicitly specify latent factors for mhr and phr as I did above. I actually meant to specify these latent factors so that I could obtain their correlations with the other latent variables in TECH4 (the above model is actually embedded in a much larger larger model that requires theta parameterization, and I need the correlations between the latent factors to calculate a Pratt Index). Also, mhr and phr are actually ordinal variables with 5 categories.

Is my understanding of the following correct and is this a correct syntax for specifying exogenous ordinal categorical variables in the model?
MH by mhr@1;
MH@1;-> fixes variance of latent MH at 1 in PSI;
mhr@0;->fixes residual of mhr at zero in theta;

Everything looks fine in the output, but I just want to be sure ...
 Linda K. Muthen posted on Saturday, February 17, 2007 - 8:06 am
I think there was a typo earlier. It should be:

MH by mhr@1;

mhr@0; is ignored. The results shoud be the same with it or without it.
 Rick Sawatzky posted on Saturday, February 17, 2007 - 9:10 am
Thanks again for your reply. If I leave mhr@0 out, the program gives a warning that the model is not identified with respect to the implied correlation between MH and PH. This issue is resolved if I specify mhr=0 and phr=0.

So what I'm actually specifying with respect to this part of the model is:
MH by mhr@1;
PH by mhr@1;
PH with MH;

I think that MPlus is actually placing another latent factor before PH and MH so as to estimate their correlation as follows:
f by mhr@1 phr;

I get identical results when I do so. In that case, PH and MH become endogenous and mhr@0 and phr@0 fixes the residual variances of the observed ordinal variables at zero in theta. Is my understanding correct?
 Linda K. Muthen posted on Saturday, February 17, 2007 - 9:33 am
It sounds like you need to send all of your files and your license number to This cannot be solved without more information. We will be away for a week and will look at it when we return.
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