Fixing factor loadings to zero PreviousNext
Mplus Discussion > Confirmatory Factor Analysis >
Message/Author
 Jon Elhai posted on Tuesday, January 09, 2007 - 7:19 pm
Drs. Muthen: I am testing a full model of 3 factors (17 observed, dichotomous variables, using WLMSV).
My model looks like this:
Y1 by x1 x2 x3 x4 x5;
Y2 by x6 x7 x8 x9 x10 x11 x12;
Y3 by x13 x14 x15 x16 x17;

I would like to test this full model against a more restrictive model using difftest - fixing the factor loadings for x8, x9, x13, x14, and x15 to zero, to assess if dropping these five observed variables from the CFA estimation results in a significantly worse fit.

I therefore, in my second step of difftest, specified this model, fixing those 5 parameters to zero:
Y1 by x1 x2 x3 x4 x5;
Y2 by x6 x7 x8@0 x9@0 x10 x11 x12;
Y3 by x13@0 x14@0 x15@0 x16 x17;

However, in the second step’s output, I received a message saying the following. So I’m wondering if perhaps I am not correctly understanding either what it means to fix a parameter to zero; or, if perhaps I am doing so incorrectly in Mplus:

“THE MODEL ESTIMATION TERMINATED NORMALLY THE CHI-SQUARE COMPUTATION COULD NOT BE COMPLETED BECAUSE OF A SINGULAR MATRIX.

THE STANDARD ERRORS OF THE MODEL PARAMETER ESTIMATES COULD NOT BE
COMPUTED. THE MODEL MAY NOT BE IDENTIFIED. CHECK YOUR MODEL. PROBLEM INVOLVING PARAMETER 16. THE CONDITION NUMBER IS -0.430D-17.”
 Linda K. Muthen posted on Wednesday, January 10, 2007 - 8:53 am
Please send your inputs, data, outputs, and license number to support@statmodel.com.
 Gwo-Bao Liou posted on Thursday, June 20, 2013 - 5:06 pm
This is my model using the estimator of WLSMV:

ANALYSIS: DIFFTEST IS deriv.dat;
MODEL:
A by a1 a2 a3;
B by b1 b2 b3 b4;
P by p1 p2 p3 p4 p5;
N by n1 n2 n3 n4 n5;
PR by pr1 pr2 pr3 pr4 pr5 pr6 pr7 pr8 pr9 pr10;
n2@0;

I tested the full model against a more restrictive model using difftest - fixing the factor loading of n2 to zero, to examine whether discarding the observed variable (i.e., n2) from the CFA estimation cause a significantly better fit.

My result showed as the following:

Chi-Square Test for Difference Testing
Value 121.243
Degrees of Freedom 1
P-Value 0.0000

My question is whether my process of DIFFTEST for WLSMV is correct?

Thank you!!
 Linda K. Muthen posted on Friday, June 21, 2013 - 8:49 am
The above fixes the residual variance of n2 at zero. The following fixes the factor loading to zero:

MODEL:
A by a1 a2 a3;
B by b1 b2 b3 b4;
P by p1 p2 p3 p4 p5;
N by n1 n2@0 n3 n4 n5;
PR by pr1 pr2 pr3 pr4 pr5 pr6 pr7 pr8 pr9 pr10;
 Gwo-Bao Liou posted on Friday, June 21, 2013 - 10:04 am
Dear Linda,

I got it.
Many thanks for your help!!
This is the new result:
Chi-Square Test for Difference Testing
Value 23.752
Degrees of Freedom 1
P-Value 0.0000

I think this is the right way for WLSMV, in Mplus, to examine whether discarding an observed variable from the CFA estimation cause a significantly better fit.
If there is anything still incorrect in the process, please let me know.

Thank you so much again!!
 Bengt O. Muthen posted on Friday, June 21, 2013 - 6:27 pm
It is a test of whether or not the n2 item is uncorrelated with not only the N factor but also every other factor and all other observed variables. The p-value of 0 says that this more restricted model is rejected.
 Gwo-Bao Liou posted on Saturday, June 22, 2013 - 2:40 pm
Dear Dr. Muthen,

Thank you very much for your interpretation.
I am so glad that I asked the question; otherwise, I wouldn’t know the process is not associated with my purpose.

My purpose is to examine whether discarding an observed variable (i.e., n2) from the CFA model using WLSMV estimation, in Mplus, cause a significantly better fit.

The following are the results of the model01 and 02:
Chi-Square Test of Model01 Fit (the model with n2)
Value 488.603
Degrees of Freedom 314

Chi-Square Test of Model02 Fit (the model without n2)
Value 419.705
Degrees of Freedom 289

If the above models use the ML estimation, the results (Chi-Square difference = 68.898; df difference = 25) showed that discarded the observed variable (n2) from the model01 causing a significantly better fit.

However, the two models use the WLSMV estimation; they are not using the ML estimation.

Would you please teach me what is the right process for the WLSMV estimation, in Mplus, for my purpose?

Thank you very much!!
 Bengt O. Muthen posted on Monday, June 24, 2013 - 7:40 am
You cannot do chi-2 difference testing when the two models have different sets of observed dependent variables (like with and without n2).

The more important point here, however, is that you want to take a quite different approach to answer your question "do we get a better CFA model fit without the n2 item?" I think the best way to answer that is to do an exploratory factor analysis. Your 5 factors should then show up clearly and you can see if the n2 item has a lot of significant cross-loadings on other factors and if it has a lot of significant residual correlations. If it does, it is an item that will contribute significantly to misfit of your the CFA model you postulate.
 Gwo-Bao Liou posted on Monday, June 24, 2013 - 12:05 pm
Dear Dr. Muthen,

Thank you very much for your teaching!!
I am surprised at the wrong of the approach that I learned from the other researchers using Mplus. I will introduce your valuable comment to the ones who took the same wrong approach as me.

I am deeply grateful for your teaching!!
 Line Auneau posted on Wednesday, August 01, 2018 - 1:05 am
Drs Muthen, I run a GMM with 2 classes and cubic effect in both classes. To simplify the model, i fixed parameters of cubic effect to 0 in all classes. This model does not work, the logLL is not replicated.

The extract of input is :
%OVERALL%
i s q cu| PF1 PF2 PF3 PF4 PF5 AT T1 T2 T3 T4 T5;
q@0;
cu@0;
%c#1%
[i s q cu@0] ;
i(1);
s(2);
PF1 PF2 PF3 PF4 PF5 (3);
%c#2%
[i s q cu@0];
i(4);
s(5);
PF1 PF2 PF3 PF4 PF5 (6);

If i run the same GMM without cubic effect in rows like this:
With this input, i have a different output and the logLL is replicated correctly.

%OVERALL%
i s q | PF1 PF2 PF3 PF4 PF5 AT T1 T2 T3 T4 T5;
q@0;
%c#1%
[i s q ] ;
i(1);
s(2);
PF1 PF2 PF3 PF4 PF5 (3);
%c#2%
[i s q ];
i(4);
s(5);
PF1 PF2 PF3 PF4 PF5 (6);

My question is : What is the difference between fixed a parameter to zero in input, and not write the parameter in input ?
 Bengt O. Muthen posted on Wednesday, August 01, 2018 - 1:44 pm
As a first step, make sure the 2 runs have the same number of parameters. If they do, send both outputs and data to Support along with your license number. If they don't, check Tech1 to see how they differ.
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: