Announcement

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

  • Constrained outcome in SEM

    Hi all,

    Let me just start out by saying that I am very new to SEM in general, not just in Stata. I've asked a few Doctoral students for help, but none of them were able to, so now I am here.

    I have a dataset consisting of answers to a questionnaire (all answers are numerical). I have also created a few (latent) variables, and grouped the observed variables (the answers to questions) based on the Cronbach alpha's values. This leads me to create the SEM model below from Stata's model builder:
    Click image for larger version

Name:	image_2024-03-07_191449969.png
Views:	1
Size:	95.5 KB
ID:	1745907

    Originally, I had variables "compliance" and "policy_recomd_1" as latent variables, since each had 4-7 observed variables feeding into them. However, doing so resulted in "compliance" being constrained in the results. I then averaged the values of "compliance" and "policy_recomd_1" to turn them into observed variables to see if that would un-constrain "compliance". Unfortunately, that did not help, and had the same result, with "compliance" still constrained. What am I doing wrong here? Any help would be greatly appreciated.

  • #2
    You can keep trying this and the closest you come to success is perhaps you will get one of the other relationships to be constrained instead.

    Without some constraint, the model is unidentified. To see this, assume you have some solution. Since percep, efficacy, colleague_comply, undesirable, and risk are all latent variables, they have no inherent scale. The same is true of ingroup_3rdperson. Now, pick a number, any number other than 0. You could multiply all of the arrows that lead into ingroup_3rdperson by that arbitrary number, and then divide the coefficients on all of the arrows coming out of ingroup_3rdperson by that same arbitrary number and, voila! You have a new solution that's just as good as the original.

    So in order to identify the model, some arbitrary constraint has to be imposed somewhere. Once you do that, all the others will adjust to work with that constraint. The default way of doing this in Stata's -sem- is to constrain the coefficient of the first variable in the output to be 1. If you don't like that, you can impose some other constraint of your own on the model using the @ operator. But you can't get away with no constraints at all.

    Comment


    • #3
      Thank you for your input Clyde.

      Is there no way for me to be able to observe both output variables? Or would it be okay to constrain output A, record the value of output B, then constrain output B and record the value of output A, and those values can be my results?

      Comment


      • #4
        No, you cannot do that. Well, it's a free country and you can do what you want. But the results would not be interpretable as effects of ingroup_3rdperson on those two variables.

        The model simply does not identify separate effects of ingroup_3rdperson on obs_compliance and obs_policy_recomd_1. There is only information about the ratio of those two effects.

        Comment


        • #5
          Thank you for your help Clyde, I have figured out my problem: ingroup_3rdperson was erroneously entered in as a latent variable, when it was supposed to be an observed variable. My output variables are no longer constrained (yay!). My model now works without any issues!

          Comment

          Working...
          X