Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • CFA resulted "Warning: convergence not achieved" in

    Hi there,

    I have trouble in conducting a simple confirmatory factor analysis using SEM function in Stata. I have seen previous posts related to this issue but seems mine is a bit different.


    CFA on SEM model builder was specified using 10 items identifying 2 factors but the output just below the output says me " Note: The Discr. test of model vs. saturated is not reported because the fitted model is not full rank.
    Warning: convergence not achieved"

    Finally, Stata gives me option of "Estimation did not converge. Show results anyway?"

    I think if the model is not convergence, I don't see the point to get the estimation and even the model fit won't gives the correct and full results. Just to give you mode idea, each item was assessed on a 5-point scale and the vast majority respondents reported 4 or 5 out of the possible 5 options, which I think less variability in the responses but not sure tis is the reason for not converging.


    I used the below syntax:

    sem (Factor_1 -> Item_1, ) (Factor_1 -> Item_2, ) (Factor_1 -> Item_3, ) (Factor_1 -> Item_4, ) (Factor_1 -> Item_9, ) (Factor_1 -> Item_10, ) (Factor_2 -> Item_5, ) (Factor_2 -> Item_6, ) (Factor_2 -> Item_7, ) (Factor_2 -> Item_8, ), covstruct(_lexogenous, diagonal) iterate(100) latent(Factor_1 Factor_2 ) cov( e.Item_1*e.Item_2 e.Item_1*e.Item_3 e.Item_1*e.Item_4 e.Item_1*e.Item_9 e.Item_1*e.Item_10 e.Item_1*e.Item_5 e.Item_1*e.Item_6 e.Item_1*e.Item_7 e.Item_1*e.Item_8 e.Item_2*e.Item_3 e.Item_2*e.Item_4 e.Item_2*e.Item_9 e.Item_2*e.Item_10 e.Item_2*e.Item_5 e.Item_2*e.Item_6 e.Item_2*e.Item_7 e.Item_2*e.Item_8 e.Item_3*e.Item_4 e.Item_3*e.Item_9 e.Item_3*e.Item_10 e.Item_3*e.Item_5 e.Item_3*e.Item_6 e.Item_3*e.Item_7 e.Item_3*e.Item_8 e.Item_4*e.Item_9 e.Item_9*e.Item_10 e.Item_9*e.Item_5 e.Item_9*e.Item_6 e.Item_9*e.Item_7 e.Item_9*e.Item_8 e.Item_10*e.Item_5 e.Item_10*e.Item_6 e.Item_10*e.Item_7 e.Item_10*e.Item_8 e.Item_5*e.Item_6 e.Item_5*e.Item_7 e.Item_5*e.Item_8 e.Item_6*e.Item_7 e.Item_6*e.Item_8 e.Item_7*e.Item_8 Factor_1*Factor_2) nocapslatent


    Can someone please provide suggestion why CFA -SEM not converging and other possible option I should consider to resolve this issue.


    Much appreciation in advance!

    Liyu







  • #2
    First, there is actually a good reason to actually look at the results of a non-convergent estimation: sometimes by looking at the output you can tell what parts of the model were causing the difficulty. If you see standard errors that are outlandishly large, it's a good chance that removing that variable (or covariance term) from the model will be needed to make it converge.

    Next, I see that you specified a maximum of 100 iterations. What does the iteration log show as you approach the 100th iteration? Was Stata stuck or was the log likelihood continuing to improve? If the log likelihood was still improving, then perhaps you just need to allow Stata to do more iterations and it will eventually converge.

    Another issue here is that you have included an enormous number of parameters in the model: perhaps more than can be identified in the data you have given. So, consider simplifying the model by removing the estimated covariances. If that model converges, then you can try adding some of the covariances back, one or a few at a time, starting with the most important ones. You might consider using -estat mindices- to help you decide which covariances to include in the model.

    There may be other things as well--I'm not really expert in structural equations modeling. But the above are a few of the commoner problems causing non-convergence, and are worth trying. If none of them work, then post back, including showing the output of the still non-converging reduced model, and perhaps somebody else will be able to give you additional advice.

    Comment


    • #3
      Thank you Clyder for your quick and valuable comments.

      I have tried the comments of adding one interaction (covariate) at a time and it did work until two correlations left to include, which is theoretically does not make sense including some correlation but not the others as the pairwise correlations between all the ten items emerged significant. Do you think that this non-convergence message when I include all possible correlation emerging because my data can't identify in relation to the less variability of the responses, as I tried to mention in my #1 post?

      Thanks,
      Liyu

      Comment


      • #4
        I don't really know; my understanding of SEM is not deep enough to answer that.

        I still think it's likely that you simply want to build a model with too many parameters to identify. Here's one thought, since you seem to feel strongly that all of those covariances are necessary. Would it be reasonable to constrain some (or even all) of them to be equal? That way you would get some covariances, but with fewer parameters to estimate. But is that a reasonable assumption? Are the covariances you are actually getting in your outputs looking like some or all of them are equal?

        Comment

        Working...
        X