
Message/Author 


I've read that Mplus doesn't use row normalization in EFA, but I'd like to conduct my analyses using CuretonMulaik weighting. I'm finding the most interpretable results using ML extraction, promax rotation, and CuretonMulaik 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. 


I haven't heard of CuretonMulaik 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. 


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. 


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 


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. 


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 24 items per factor. I usually use the Promax approach of correlated factors and factor variances fixed at 1, so with only zero loading restrictions. 


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 1289) and my understanding of the model, this should work (but doesn't): TITLE: EFA 5 fac DATA: FILE IS "C:\Dissertation\Data\Subsamp data\5a Mplus 50.dat"; VARIABLE: NAMES ARE subid sex q6q55 sogsnar sogs3lev gamfreq subsamp5 ; USEVARIABLES ARE q6q55 ; CATEGORICAL ARE q6q55 ; ANALYSIS: ESTIMATOR IS WLSMV; MODEL: finan BY q6q55* q19@0 q48@0 q12@0 q30@0 ; xcite BY q6q55* q6@0 q48@0 q12@0 q30@0 ; control BY q6q55* q19@0 q6@0 q12@0 q30@0 ; parental BY q6q55* q19@0 q48@0 q6@0 q30@0 ; danger BY q6q55* q19@0 q48@0 q12@0 q6@0 ; finandanger@1 ; OUTPUT: sampstat ; Here's another way I tried, and still get the "model may be unidentified" error: MODEL: finan BY q6q55*0 q6@1 q19@0 q48@0 q12@0 q30@0 ; xcite BY q6q55*0 q19@1 q6@0 q48@0 q12@0 q30@0 ; control BY q6q55*0 q48@1 q19@0 q6@0 q12@0 q30@0 ; parental BY q6q55*0 q12@1 q19@0 q48@0 q6@0 q30@0 ; danger BY q6q55*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? 


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 support@statmodel.com. 

Back to top 

