Setting factor variance to 1 in mplus PreviousNext
Mplus Discussion > Confirmatory Factor Analysis >
Message/Author
 R. A. Sterling posted on Thursday, January 05, 2006 - 1:38 pm
Hi,

How do you set the factor variance to 1 in MPLUS when running a CFA with categorical data?
 Linda K. Muthen posted on Thursday, January 05, 2006 - 1:51 pm
If the factor is named f, then you say f@1;
 RA Sterling posted on Thursday, January 05, 2006 - 7:17 pm
Thanks for your reply. My previous post was a bit vague--I'd like to set the factor variances to 1 and get a factor loading for each observed variable on a construct. I followed your advice (setting f@1), which set the factor variance to 1 and did NOT set the first variable of each construct to 1; however,I did not receive a factor loading for the first variable for each construct. Can you tell me how to achieve a factor loading for each observed variable, while setting the factor variances for each factor to 1?

Thanks again for your help.
 Linda K. Muthen posted on Friday, January 06, 2006 - 6:59 am
If you read about the BY command in the user's guide, you will find out how to set the metric by fixing the factor variance to one and having all factor loadings free. There is an example of this.
 Wei Chun posted on Saturday, August 29, 2009 - 5:05 am
Dear Linda,

I would like to estimate a SEM model with single latent variable indicators in which factor loadings and error variances need to be fixed. How do we fix the error variances in Mplus?

Many thanks.
 Linda K. Muthen posted on Saturday, August 29, 2009 - 7:53 am
VAriances are referred to by the name of the variable. To fix the factor variance of f to zero, say:

f@0;

See Chapter 16 of the user's guide for more information.
 Claudio Rocha posted on Saturday, February 20, 2010 - 1:45 pm
Hi.
I set the metric of my continuous latent variable by fixing its variance to one (and allowing all factor loadings to be freely estimated).
Should my parameter estimates (factor loadings) output in Model Results be identical to those presented in the STDYX Standardization output, when I use M-Plus default (setting the first factor loading to 1 and letting the variance of the latent variable be freely estimated)?
 Bengt O. Muthen posted on Saturday, February 20, 2010 - 3:14 pm
I think you are asking if your raw estimates when (1) fixing factor variance to one and having all loadings free should be the same as the STDYX estimates when (2) using the Mplus default. If that's the question, the answer is no because in (1) your observed indicators are not standardized.
 Claudio Rocha posted on Tuesday, February 23, 2010 - 2:23 pm
Using the example in the website for multiple group analysis (MIMIC model; cont4), may I say that both codes below will produce the same fit measures?

!Default.
Model: f by y6-y9;
f on x1-x3;
Model gB: [y8];

!Fixing the variance of F to 1.
Model: f by y6* y7-y9;
f@1;
f on x1-x3;
Model gB: [y8];

How could I compare the factor loadings from these outputs?
 Linda K. Muthen posted on Tuesday, February 23, 2010 - 4:15 pm
Setting the metric by fixing one factor loading to one versus fixing a factor variance to one will result in the same fit if you do it correctly. Compare the standardized factor loadings.
 J.D. Haltigan posted on Thursday, August 18, 2011 - 12:10 pm
Is it possible that by fixing a factor var to 1 instead of fixing a marker indicator to one on that factor (i.e., to scale the latent variable) one could get better or worse fit to a model? Although I see the post above, an adviser ran the same model in LISREL by freeing the marker indicator and got better fit. Assuming estimator is the same and all else being equal, why might this be the case? In the current situation, all observed variables are on the same metric (forced responses to a Qsort). Which brings up my second question: with 100 items on a forced choice q-sort as the indicators, would ML be still the best estimator option? Or would one have to look at the normality of each individual card response across the sample (-4 to +4, rescored to a 1-9 metric).

Thanks for any input.
JD
 Linda K. Muthen posted on Thursday, August 18, 2011 - 12:34 pm
If you set the metric fixing a factor variance to one and freeing all factor loadings, you will get the same fit as if you have a free factor variance and fix one factor loading to one. If not, you have made another change, for example, leaving the indicator fixed to one and fixing the factor variance to one.

If you are treating the items as continuous, I would use MLR which is robust to non-normality. If you are treating them as categorical, this is not an issue.
 J.D. Haltigan posted on Friday, August 19, 2011 - 11:47 am
Thanks. When I do use MLM (Satorra-Bentler) the model does not converge (it does with ML). Why might this be case? MLR ironically, does allow the model to converge.
 J.D. Haltigan posted on Friday, August 19, 2011 - 1:10 pm
Ironically after freeing the marker loadings and setting the latent factors to 1, the MLM estimation did converge. Does something of this nature, which allows a model to converge (v. not) indicate something problematic with the indicators themselves?
 Linda K. Muthen posted on Friday, August 19, 2011 - 1:14 pm
The first factor loading is fixed to one as the default. If when estimated it is negative or not close to one, this can cause convergence problems. You can fix another factor loading to one. Choose one that is positive and large.
 Jo Brown posted on Monday, May 28, 2012 - 10:24 am
what is the advantage of setting the latent variables' variance to 1 over using the default approach?
 Linda K. Muthen posted on Monday, May 28, 2012 - 10:42 am
There is no advantage. It is just a reparametrization. Model fit is identical.
 Jo Brown posted on Tuesday, May 29, 2012 - 2:23 am
Thanks Linda.
 Oxnard Montalvo posted on Tuesday, August 21, 2012 - 11:06 pm
Hi,
If want to use my latent variable as a dependent variable in a regression
(e.g.
f by y1-y4;
f on X;) ,

can I freely estimate all loadings and set the variance to 1, or do I need to set a loading to 1 and let the variance be freely estimated, since X will be explaining the variance of f?

Thanks,
L
 Linda K. Muthen posted on Wednesday, August 22, 2012 - 9:22 am
You can do either one.
 Johnna Capitano posted on Thursday, April 25, 2013 - 8:34 am
I keep getting error messages when trying to run a type=twolevel basic command. I am trying to get a correlation matrix. I have specified the within variables in the VARIABLE command and that seems fine. However, MPlus is saying that I have some variance within certain clusters of some of my between variables even though I do not (I am looking back at the raw data). So I have tried setting the variance of those variables to 0, hoping that would run. But I am not doing that correctly, since I am getting an error statement that doesn't recognize Os@0; (Os is one of the problem variables) in the VARIABLE command. Can you please assist? Thank you!
 Linda K. Muthen posted on Thursday, April 25, 2013 - 8:36 am
There must be a problem in your reading of the data. If you can't see it, send the output, data, and your license number to support@statmodel.com.
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: