Announcement

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

  • 'convergence not achieved' error while running the SEM

    Hello,
    Q: I would like to ask how to resolve the issue of the 'convergence not achieved' error that I got while running the structural equation model (SEM).

    Background: I am currently testing the psychometric properties of a newly developed questionnaire with 5 Likert scales. First, I performed the exploratory factor analysis on all scales separately. The PCA suggested 3 factors for one of the scales. I used those three factors to build my SEM for confirmatory factor analysis using maximum likelihood while all other options were kept as default.

    The below command is used for the SEM:

    sem (Attitude_F1 -> Attitude_5, ) (Attitude_F1 -> Attitude_7, ) (Attitude_F1 -> Attitude_9, ) (Attitude_F1 -> Attitude_10, ) (Attitude_F1 -> Attitude_11, ) (Attitude_F1 -> Attitude_12, ) (Attitude_F2 -> Attitude_1, ) (Attitude_F2 -> Attitude_2, ) (Attitude_F3 -> Attitude_3, ) (Attitude_F3 -> Attitude_4, ) (Attitude_F3 -> Attitude_6, ), covstruct(_lexogenous, diagonal) standardized latent(Attitude_F1 Attitude_F2 Attitude_F3 ) nocapslatent

    I got the 'convergence not achieved' error and 'estimation failed' on the SEM builder page.

    I appreciate your assistance in resolving this issue.
    Thanks

  • #2
    Originally posted by Sa El View Post
    . . . I performed the exploratory factor analysis on all scales separately. The PCA suggested . . .
    So which did you do? (You don't show any code.)

    I got the 'convergence not achieved' error and 'estimation failed' on the SEM builder page.
    You've got only two indicator variables loading onto your second latent factor and, with covstructure(_LEx, diagonal), it has no help from the other two latent factors. Try something like the following.
    Code:
    renpfix Attitude_F a
    sem ///
        (a5 a7 a9 a10 a11 a12 <- F1) ///
        (a1 a2 <- F2) ///
        (a3 a4 a6 <- F3), ///
            covstructure(_LEx, unstructured)

    Comment


    • #3
      Thanks very much, Joseph for your reply.

      So which did you do? (You don't show any code.)
      The below is the command that I used:
      sem (Attitude_F1 -> Attitude_5, ) (Attitude_F1 -> Attitude_7, ) (Attitude_F1 -> Attitude_9, ) (Attitude_F1 -> Attitude_10, ) (Attitude_F1 -> Attitude_11, ) (Attitude_F1 -> Attitude_12, ) (Attitude_F2 -> Attitude_1, ) (Attitude_F2 -> Attitude_2, ) (Attitude_F3 -> Attitude_3, ) (Attitude_F3 -> Attitude_4, ) (Attitude_F3 -> Attitude_6, ), covstruct(_lexogenous, diagonal) standardized latent(Attitude_F1 Attitude_F2 Attitude_F3 ) nocapslatent


      When I used your suggestion, I got the following error:
      model not identified;
      no paths from latent variable A5 to observed variables

      I appreciate your assistance in resolving this issue.
      Thanks

      Comment


      • #4
        For the PCA,
        I used the following commands

        . pca Attitude_1 Attitude_2 Attitude_3 Attitude_4 Attitude_5 Attitude_6 Attitude_7 Attitude_9 Attitude_10 Attitude_11 Attitude_12

        . screeplot

        . factor Attitude_1 Attitude_2 Attitude_3 Attitude_4 Attitude_5 Attitude_6 Attitude_7 Attitude_9 Attitude_10 Attitude_11 Attitude_12, ipf factors(3) altdivisor cit(25)

        . rotate, varimax kaiser altdivisor

        . sem (Attitude_F1 -> Attitude_5, ) (Attitude_F1 -> Attitude_7, ) (Attitude_F1 -> Attitude_9, ) (Attitude_F1 -> Attitude_10, ) (Attitude_F1 -> Attitude_11, ) (Attitude_F1 -> Attitude_12, ) (Attitude_F2 -> Attitude_1, ) (Attitude_F2 -> Attitude_2, ) (Attitude_F3 -> Attitude_3, ) (Attitude_F3 -> Attitude_4, ) (Attitude_F3 -> Attitude_6, ), covstruct(_lexogenous, diagonal) standardized latent(Attitude_F1 Attitude_F2 Attitude_F3 ) nocapslatent

        Comment


        • #5
          Originally posted by Sa El View Post
          When I used your suggestion, I got the following error:
          model not identified;
          no paths from latent variable A5 to observed variables
          If you used my suggestion, then you could not possibly have got that error message because my suggestion does not contain any latent variable A5.

          Once again:
          Code:
          renpfix Attitude_F a
          sem ///
              (a5 a7 a9 a10 a11 a12 <- F1) ///
              (a1 a2 <- F2) ///
              (a3 a4 a6 <- F3), ///
                  covstructure(_LEx, unstructured)
          Type carefully.

          Comment


          • #6
            Hi Joseph,
            I have got the following error when I used your suggestion:

            "variable a5 not found;
            Perhaps you meant 'a5' to specify a latent variable.
            For 'a5' to be a valid latent variable specification, 'a5' must begin with a capital letter."

            That's why I tried it with A5, and I got:
            "model not identified;
            no paths from latent variable A5 to observed variables"

            Comment


            • #7
              Okay, then modify my suggestion to the following.
              Code:
              renpfix Attitude_F F
              renpfix Attitude_ a
              sem ///
                  (a5 a7 a9 a10 a11 a12 <- F1) ///
                  (a1 a2 <- F2) ///
                  (a3 a4 a6 <- F3), ///
                      covstructure(_LEx, unstructured)

              Comment


              • #8
                Thanks, Joseph.
                I also got the same error:
                "convergence not achieved"

                Comment


                • #9
                  You can try constraining the latent factors' covariances equal or the residual variances for a1 and a2 equal and see whether either of those models converge, but they fail, then you might have to concede that your data just won't support your ambition to fit this model with a latent factor having just two indicator variables.

                  Comment

                  Working...
                  X