Announcement

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

  • Negative binomial CFA that won't run

    Hi, this is my first post here. I'm using Stata 14.0 on Windows 7 SP1. I'm trying to run a CFA, using the SEM-builder, for 6 indicators of being bullied as a one-factor solution (n=1323). The indicators are all ordinal (5-scale) variables. A normal CFA (identity-link funtion) works fine, but as the data are very skewed I tried running it with a negative binomial/log link function. As this didn't converge, I tried specifying the number of iterations to see if I could see what was going on, but Stata kept on iterating (i.e. the iterations command didn't seem to work). The code is below (copied from the command window, after I'd used the builder) but with the iterations command that I added in. I'd be hugely grateful for any tips/advice.

    Code:
    gsem (Bullied-> v53d, family(nbinomial mean) link(log)) ///
    (Bullied -> v54a, family(nbinomial mean) link(log)) ///
    (Bullied -> v54e, family(nbinomial mean) link(log)) ///
    (Bullied -> v55a, family(nbinomial mean) link(log)) ///
    (Bullied -> v55b, family(nbinomial mean) link(log)) ///
    (Bullied -> v55c, family(nbinomial mean) link(log)), ///
    latent(Bullied) nocapslatent iterate(20)
    Cheers.

  • #2
    Any particular reason for not using the ologit specification if your data are ordinal in nature?

    Comment


    • #3
      Thanks for your reply wbuchanan. I thought that the negative binomial specification would fit the data better given that although ordinal, the response categories are a kind of count data (and zero inflated), e.g. Never (around 70% of answers), Occasionally (around 20% of answers), At least once a month, etc.

      Would the ologit work just as well to this kind of zero-inflated count data? If so, then I'll give it a try - although I'd still like to understand why the negative binomial model (and the iterate command) wouldn't work.

      Comment


      • #4
        The negative binomial model is making a specific assumption about the measurement (e.g., the integers are equally spaced), but you have a different type of measure. With the ologit you'll basically be modeling the thresholds between the levels. It could also probably give you a bit more flexibility in terms of the modeling in general since you could add constraints in a manner similar to some of the differences in the IRT literature (e.g., constraining threshold probabilities to be equal, to be sequential in nature, etc...).

        Comment


        • #5
          Thanks again wbuchanan I tried running the CFA with ologit, but now the estimation fails after two iterations. Here's the code:

          Code:
          gsem (Bullied-> v53d v54a v54e v55a v55b v55c, ///
          family(ordinal) link(logit)), latent(Bullied) nocapslatent
          I'd be grateful for any tips here.

          Comment

          Working...
          X