Announcement

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

  • LCA with binary variables - convergence not achieved

    Hi
    I know this has been covered in some previous posts, but unfortunately I have been able to get the code to achieve convergence in my 3 class (and any higher classes) LCA model.

    I am using 13 binary variables and trying to find the optimal LCA model to fit this data into interpretable classes. This is an example of the model code:

    gsem ( w0ohorsefn w0oanysportsfn w0opokercasinofn w0oslotsfn w0obingofn w0horsefn w0anysportsfn w0casinopokerfn w0lotfn w0scfn w0slotsfobtsfn w0bingofn w0poolsfn <- , logit), lclass(C 3)

    When I run this model I am told that convergence is not achieved. From reading previous posts, I understand that this may be due to a variable within a class needing to be constrained as the value is -/+ 15:

    In latent class analysis with binary outcomes, you also get issues with separation that prevent convergence. Say one of the latent classes has a prevalence of 0 on one indicator, or 1. The logit intercept is trying to wander off to - or + infinity. You'll see the log likelihood hit a ceiling with the issue "not concave", and then it will just keep iterating until the maximum number of iterations (which is now set at 300), but Stata won't declare convergence.

    In this case, it is acceptable to constrain the offending intercepts at - or + 15 respectively, and to note (and report, if submitting a poster or a paper) how many parameters were constrained. Too many parameters constrained that way should be taken as a sign that you're trying to extract too many latent classes (i.e. discard this model, go back to the previous one).


    I can see from my output that one variable within the first latent class has a co-efficient of -18, but when I try to constrain this variable it does not seem to work, and I get an r(111) error for the constraint I am trying to add. I have tried several ways of putting this (think I may not be using the correct code), but the outcome is the same e.g.:

    constraint 1 _b[/w0horsefn:1.C#cut1] = -15

    I have also run the model with nontolerance and saved the matrix to run the new starting values, but still I don't achieve convergence.

    Any suggestions welcome!
Working...
X