Rotations in EFA PreviousNext
Mplus Discussion > Exploratory Factor Analysis >
 Emerson Wickwire posted on Tuesday, April 04, 2006 - 9:10 am
I've read that Mplus doesn't use row normalization in EFA, but I'd like to conduct my analyses using Cureton-Mulaik weighting. I'm finding the most interpretable results using ML extraction, promax rotation, and Cureton-Mulaik weighting, and I'd like to use this appraoch except with WLSMV for ordered categorical data.

1. Is it possible to use row normalization in Mplus version 2?
2. Could I export the varimax pattern matrix from Mplus, and then weight/rotate in another software program? Or would that ruin the benefit of using WLSMV in Mplus?

Thank you.
 Bengt O. Muthen posted on Tuesday, April 04, 2006 - 9:27 am
I haven't heard of Cureton-Mulaik weighting, which makes me suspect it isn't essential. By row normalization, do you mean that the sums of squares of the loadings in a row should be constrained to 1?

1. Pending the answer to above.

2. The estimated varimax solution was created from a WLSMV solution, so you would not ruin the benefit of that. There is no saving in a file of the varimax solution, so it would have to be cut and paste.
 Emerson Wickwire posted on Tuesday, April 04, 2006 - 11:06 am
Cureton Mulaik is an alternative to Kaiser row normalization, which, I believe, is as you indicated with sum of squared row loadings constrained to 1. You can correct me on that, I am sure. CM was delevoped (1973) to maximize hihest loading in items with complex factor patterns. It is available in CEFA and SAS.

To clarify, then,

1. Is "Kaiser" normalization possible in Mplus? Can you comment on necessity/benefits of this constraint?

2. If I wanted to use CM weighting, would you recommend copying & pasting the varimax solution, as you proposed, and submitting to promax with CM in SAS, or another software program?

Thank you.
 Bengt O. Muthen posted on Tuesday, April 04, 2006 - 5:38 pm
1. Only if you do EFA within CFA, in which case you can use Model Constraint to impose the restrictions on the loadings.

2. Right
 Emerson Wickwire posted on Tuesday, April 04, 2006 - 6:02 pm
Many thanks. I had tried EFA in CFA (for other reasons than Kaiser) but was unable to have the model converge. I tried with fixing factor variances to 1 (and anchor items loading 0 on otherfactors, for m^2 restrictoins), then freeing those and fixing factor loading for anchor item to 1 (and 0 for other factors), even fixing trivial loadings to 0. The model DID converge/identify when I had achor loadings fixed at 1 AND factor variances at 1, for what it's worth. I also tried playing with the starting values, per another post of your on this forum, but only gave items a *0 or a *1 depending on whether the loading seemed small or large. It's a different topic, I realize, but if you have any suggestions, I'd love to try implementing them. Model has 6 factors and ~40 variables, depending on what I cut from EFA.
 Bengt O. Muthen posted on Tuesday, April 04, 2006 - 6:10 pm
I am surprised that you have had problems with EFA within CFA. In my experience I have so far never failed to get a model to converge by the approach we teach in the Day 1 handout (2005 version). And I only give unit loading starting values for 2-4 items per factor. I usually use the Promax approach of correlated factors and factor variances fixed at 1, so with only zero loading restrictions.
 Emerson Wickwire posted on Tuesday, April 04, 2006 - 6:59 pm
The handouts I've been using are the 2005 version- I just ordered them a couple weeks ago.

Here is the syntax I've tried for the EFA in CFA. I've played with fixing various loadings, and starting values (although they are not included in the syntax below), as I indicated. Based on the handout (p 128-9) and my understanding of the model, this should work (but doesn't):

TITLE: EFA 5 fac

FILE IS "C:\Dissertation\Data\Subsamp data\5a Mplus 50.dat";

NAMES ARE subid sex q6-q55 sogsnar sogs3lev gamfreq subsamp5 ;


finan BY q6-q55*
q19@0 q48@0 q12@0 q30@0 ;

xcite BY q6-q55* q6@0 q48@0 q12@0 q30@0 ;

control BY q6-q55* q19@0 q6@0 q12@0 q30@0 ;

parental BY q6-q55* q19@0 q48@0 q6@0 q30@0 ;

danger BY q6-q55* q19@0 q48@0 q12@0 q6@0 ;

finan-danger@1 ;
sampstat ;

Here's another way I tried, and still get the "model may be unidentified" error:
finan BY q6-q55*0 q6@1 q19@0 q48@0 q12@0 q30@0 ;

xcite BY q6-q55*0 q19@1 q6@0 q48@0 q12@0 q30@0 ;

control BY q6-q55*0 q48@1 q19@0 q6@0 q12@0 q30@0 ;

parental BY q6-q55*0 q12@1 q19@0 q48@0 q6@0 q30@0 ;

danger BY q6-q55*0 q30@1 q19@0 q48@0 q12@0 q6@0 ;

I even tried tyong out all the ind variable names in the USEVARIABLES command, etc.

For what it's worth, I'm using version 2, and a SEM that converges fine in version 4 (a friend generously ran it for me) won't converge for me in version 2 unless I remove one of the DVs. Perhaps these issues are related?
 Linda K. Muthen posted on Wednesday, April 05, 2006 - 6:46 am
In the example in the handout, the factor loadings that are not fixed for identificatin purposes have starting values of zero except for those that are large like the anchor items. Those have starting values of one. In the first example, it looks like you start all free factor loadings at the default of one. In the second example, you start all free factor loadings at zero. There should be a combination of starting values such that the small factor loadings have starting values of zero and the larger ones have starting values of one. If you continue to have problems, send your input, data, output, and license number to
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