I am experiencing a similar problem. In my case, I have 8 items each with a 9 point scale that may load on one or two factors. When I try to do the EFA, I find that the solution will not converge for two factors. Any suggestions?
Should I send you the data and the code as you asked of others in the past?
These types of problems require looking at the specific data/model situation. They require going through support and sending the appropriate files.
Michael Baum posted on Wednesday, February 24, 2010 - 1:12 pm
I have 11 continuous indicators (several of which are highly, highly skewed - with many zeroes) which failed to satisfactorily fit the hypothesized 2- factor structure. I've been unable to successfully run an EFA in MPlus (wanted MLR but tried other ML-based estimators as well with similar results). I then ran the EFA in SAS using ML and results suggested a 3-factor solution - surprisingly when i run EFA 1 5 (in Mplus), it is exactly the 3-factor (with some estimators also 4-factor) solution that fails to converge...
Typically, failure to converge in EFA is due to Heywood cases - negative residual variances - which in turn can be a sign of overfactoring or using too small a sample with small population residual variances. I can't tell what the difference compared to SAS may be due to - you would have to send both outputs so we can be sure you use exactly the same sample size and analysis settings.
Michael Baum posted on Wednesday, February 24, 2010 - 1:19 pm
(To add to the previous post)
I also tried a two-part model (0 vs non-0) which did not give a proper solution: ### Final stage loglikelihood values at local maxima, seeds, and initial stage start numbers:
THE STANDARD ERRORS OF THE MODEL PARAMETER ESTIMATES MAY NOT BE TRUSTWORTHY FOR SOME PARAMETERS DUE TO A NON-POSITIVE DEFINITE FIRST-ORDER DERIVATIVE PRODUCT MATRIX. THIS MAY BE DUE TO THE STARTING VALUES BUT MAY ALSO BE AN INDICATION OF MODEL NONIDENTIFICATION. THE CONDITION NUMBER IS 0.100D+01. PROBLEM INVOLVING PARAMETER 1.
THE MODEL ESTIMATION TERMINATED NORMALLY
Michael Baum posted on Wednesday, February 24, 2010 - 1:27 pm
Thank you for the response. Yes, you are completely right. I did get the message about heywood case in SAS - one little option forced the solution; is there something similar in MPlus?
I don't know much about heywood cases, but the little i read seemed to suggest that there is some disagreement on how to handle the analysis in these cases. You are rigth that my sample is small (only 101). I know that some variables are extremely skewed (that's why i tried the two-part model) but I don't think the heywood case is related (or caused by) the skeweness - am I correct here ? I see them as different things, but I may be unaware that there is a connection between the two? ...
I don't know why you have several likelihoods reported unless you are using a mixture two-part model. For two-part factor mixture analysis modeling, see
Kim, Y.K. & Muthén, B. (2009). Two-part factor mixture modeling: Application to an aggressive behavior measurement instrument. Structural Equation Modeling, 16, 602-624.
which is on our web site. A small sample such as your n=101 makes such modeling difficult, however, because you end up with few people in a class.
I don't think strong skewness necessarily causes Heywood, but it may make it more likely. The linear model isn't really right when as I assume you have strong floor or ceiling effects. Another approach is censored-normal. Or categorizing the variables.
Regarding EFA Heywood cases, Mplus does not "fix up" negative residual variances but let them show up. Their existence may indicate model misspecification.
Michael Baum posted on Thursday, February 25, 2010 - 12:57 pm
thanks again for the response and reference. I read the paper but it is more complex than what i need for my analysis, since I don't care to do the mixture part. This was the first time i was writing the code for a two-part model so I hope i did correctly (the multiple LLscome from the starts command which i set as starts = 100 10 - ok?) ---------------------- DATA TWOPART: NAMES ARE walk chgpos usehand uncmove exhaust concen panic pains swallow urgurin sweat; BINARY ARE b_walk b_chgpos b_usehand b_uncmove b_exhaust b_concen b_panic b_pains b_swallow b_urgurin b_sweat; CONTINUOUS ARE c_walk c_chgpos c_usehand c_uncmove c_exhaust c_concen c_panic c_pains c_swallow c_urgurin c_sweat; CUTPOINT IS 0;
TRANSFORM IS log; [...] MODEL: ms0 BY b_walk* b_chgpos* b_usehand* b_uncmove* ; msc BY c_walk* c_chgpos* c_usehand* c_uncmove*; nms0 BY b_exhaust* b_concen* b_panic* b_pains* b_swallow* b_urgurin* b_sweat*; nmsc BY c_exhaust* c_concen* c_panic* c_pains* c_swallow* c_urgurin* c_sweat*;
I finally got around to trying the censored normal specification as you mention in your post of 2/24 above. It worked somewhat better, although I still have convergence problems for some of the models with 3 or more factors (I'm less interested in those so this may be ok for now). Because of the small sample, I'm doing a sort of cross-validatiom by taking 1/10 of the data in turn and seeing if the results stay roughly the same (which they do for the most part), so everything gets run 10 times. I have a feeling that MPlus may have a better way to handle this, perhaps? some type of simulation procedure?
Also, is there a reference that you recommend specifcally for factor analysis with censored normal indicators?
See the following paper which is available on the website under Papers:
Muthén, B. (1989). Tobit factor analysis. British Journal of Mathematical and Statistical Psychology, 42, 241-250.
You could use WLSMV. You will get chi-square and related fit statistics with that estimator. With maximum likeilhood, chi-square and related fit statistics are not available because means, variances, and covariances are not sufficient statistics for model estimation.
anonymous posted on Wednesday, January 25, 2012 - 9:48 am
Hello, I'm attempting to run an EFA (samle size=233). I'm having problems with convergence and believe that there must be Heywood cases since running the same analysis in spss generates a solution. 1. Is there a way to manually constrain the residual variances to 0 in an attempt to address this problem? 2. How do I obtain the residual variances in the output? I have requested residual in the output command (please see below), yet they do not seem to appear. OUTPUT: TECH1 TECH8 TECH10 TECH11 PATTERNS SAMPSTAT RESIDUAL MODINDICES;
1. You cannot do this is EFA but you can in ESEM. See Example 5.24 in the user's guide. The model without covariates and direct effects is an EFA model.
2. They are printed automatically if the model converges.
Bart Simms posted on Sunday, March 18, 2012 - 5:54 am
Hello, I tried to run an EFA (of the 1 3 variety; solutions from 1-3 factors)with three count variables and four categorical variables. Before any iterations occurred (i.e., nearly immediately) output appeared and read in part,
NO CONVERGENCE. PROBLEM OCCURRED IN EXPLORATORY FACTOR ANALYSIS WITH 1 FACTOR(S).
NO CONVERGENCE. PROBLEM OCCURRED IN EXPLORATORY FACTOR ANALYSIS WITH 2 FACTOR(S).
NO CONVERGENCE. PROBLEM OCCURRED IN EXPLORATORY FACTOR ANALYSIS WITH 3 FACTOR(S).
The correct number of observations was read, however.
Interestingly, I switched from the default estimator to WLSMV. Mplus iterated for a while. In the output I was warned that WLSMV was not available under these circumstances, and that the default estimator would be used. For some reason it had run this time (with the default MLR estimator that I had original hoped to use), seemingly perfectly.
I tried repeating the EFA as a mixture (my ultimate purpose), and the first problem happened again (i.e., immediately telling me there was no convergence, apparently without any real computation happening). (When I added the request for WLSMV, it didn't somehow get around it this time.)
AT Jothees posted on Tuesday, January 31, 2017 - 4:05 pm
I an trying to run CFA with categorical and continuos indicator variable. When I run the command below, I get the diagram , but I do not see the model fit information in the output. Rather I see this error message NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED.