Announcement

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

  • Calculating the latent variable with Two -stage confirmatory factor analysis

    I have constructed an index for Concept A, which has three dimensions; L1, L2, and L3. Each dimension has two or three parameters. In the first stage of CFA, I calculated the weight for each parameter to measure each dimension. I want to make sure the following equations show the relationships in the index.

    ConceptA = (coef for L1) L1 + (coef for L2) L2 + (coef for L3) L3 + (error term L1+error termL2+error termL3).


    L1= (coef for parameter1) parameter1 + (coef for parameter2) parameter2 + (error term parameter1 + error term parameter2)

    L2 = (coef for parameter3) parameter3 + (coef for parameter4) parameter4 + (error term parameter 3 + error term parameters)

    L3= (coef for parameter5) parameter5+ (coef for parameter6) parameter6 + (error term parameter5 + error term parameter6)

    I have a few issues:
    -Error terms: for each equation, I added the individual error for relevant parameters, is it correct?
    -For calculating each latent variable, I used (Factor score ) from (Postestimation), but I am not sure if this is the correct method.
    - the second stage of which is calculating Concept A through L1, L2, and L3, which goes through long iteration and continue, then give an error. How can I calculate the final latent variable?

    I really do appreciate it if you could help me to solve these issues.


    Last edited by Maryam Sholeva; 17 Dec 2021, 11:03.

  • #2
    Sorry, I got the formula wrong.
    The following is the correct one

    parameter 1 b1L1 + u1
    . =
    parameterk bkLK + uk
    Last edited by Maryam Sholeva; 19 Dec 2021, 04:34.

    Comment


    • #3
      It might be better to show actual commands that you typed and the output that you have questions about or have trouble interpreting.

      If you have questions about how to improve the likelihood of a helpful response to your post, maybe you can review the recommendations about posting in the forum's FAQ here.

      Comment


      • #4
        Thanks, Joseph.

        The command for the first order was
        sem (L1 -> ql1, ) (L1 -> ql5, ) (L1 -> qt8, ) (L2 -> ql13, ) (L2 -> ql16, ) (L2 -> ql19, ) (L2 -> ql24, ) (L2 -> ql27, ) (L2 -> ql30, ) (L3 -> qt4, ) (L3 -> qt6, ), construct( > _lexogenous, diagonal) standardized latent(L1 L2 L3 ) cov( L1*L2 L2*L3) nocapslatent.

        To calculate the value of the latent variables L1, L2, L3, I used the following command:
        predict l1, latent(L1)
        predict l2, latent(L2)
        predict l3, latent(L3)

        The values are negative which are not correct theoretically.

        I wonder if there is any other way to calculate the value of these latent varibales.

        thanks again.



        Comment


        • #5
          Originally posted by Maryam Sholeva View Post
          The values are negative which are not correct theoretically.
          It's not clear what you mean by that. The latent factors, L1 through L3, have a mean of zero. Are you saying that all of the predictions are negative? Or are you saying that, because the responses to the questionnaire's items happen always to be coded as positive, you expect that the latent factors' predictions always to be nonnegative?

          The command for the first order was
          sem (L1 -> ql1, ) (L1 -> ql5, ) (L1 -> qt8, ) (L2 -> ql13, ) (L2 -> ql16, ) (L2 -> ql19, ) (L2 -> ql24, ) (L2 -> ql27, ) (L2 -> ql30, ) (L3 -> qt4, ) (L3 -> qt6, ), construct( > _lexogenous, diagonal) standardized latent(L1 L2 L3 ) cov( L1*L2 L2*L3) nocapslatent.
          I don't quite follow that syntax (it seems internally inconsistent to me), and I think that it won't actually execute without error (construct( >covstructure().

          Regardless, if what you mean by two-stage CFA is second-order CFA, then the preferred approach I believe is to include the second-order latent factor in with the first-order factors, all together, in an omnibus model. Maybe something like the following.
          Code:
          sem ///
              (ql1 ql5 qt8 <- L1) ///
              (ql13  ql16 ql19 ql24 ql27 ql30 <- L2) ///
              (qt4 qt6 <- L3) ///
              (L1 L2 L3 <- A)
          
          // sem , standardized
          Stata sometimes has difficulty in fitting second-order CFA models with only three first-order factors and inauspicious datasets, and so you might need to tinker with constraints in order to get workable starting values. (There was a recent example of this on the List; you could Google for it.)

          Comment

          Working...
          X