[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: GLLAMM latent dv in multilevel model

From   Naomi Levy <>
Subject   st: GLLAMM latent dv in multilevel model
Date   Tue, 17 Jul 2007 14:31:43 -0700 (PDT)

i am hoping that there are some very experienced GLLAMM users on this list that can help me with a complicated problem:

my model involves a dependent latent variable with 6 indicators, 5 of which are ordinal, one of which is continuous.  the data are hierarchical in nature with students (approx n=1400) nested within schools (n=12).  there are 4 individual-level IVs and 1 school-level IV.  so far, my most successful model involves an overly simplistic measurement model and does not include the 3rd level, but instead produces robust standard errors given the school-level clustering (syntax and results at end of message).

i need help with the following modifications to the model -- i'd love to hear from you even if you only have insight into one aspect of the problem:


 1. proper set-up for the measurement portion of the model:

i tried carefully following the ordinal responses chapter in the gllamm manual, but i got an error message when i attempted to run the following syntax:

. gllamm n, i(id) we(wt) l(opr opr opr id opr opr) lv(item) f(bin bin bin gau bin bin) fv(item)

stata error message:
could not calculate numerical derivatives
flat or discontinuous region encountered
(error occurred in ML computation)
(use trace option and check correctness of initial model)

where am i going wrong here?  i can't find any documentation for how to set up a model with different link functions for the various indicators of a latent variable.


 2. proper syntax for specifying the 3-level model:

my hunch is that i should run something like the following -- but since it takes several hours to run each model, i haven't attempted this yet:

gen cons=1

 eq id: d1-d6

 eq school: cons

 eq f1: oc sx rg dp ct

 gllamm n d1-d6, i(id school) eqs(id school) geqs(f1) adapt

does this seem right?  i am concerned because this syntax does not seem to specify that the variable ct is operating at the school level.

 3. extensions from this model:

 a) is it possible to have 2 correlated latent DVs in a single model?

 b) multiple group analysis -- so far, i'm just running the model separately for each of my 3 groups.  in AMOS, i can run a model that constrains the measurement model (factor loadings) to be equivalent across groups, but allows the regression weights to vary across groups.  is anything like this possible in GLLAMM?


Thanks in advance for any wisdom/insight you might be able to provide,

Naomi Levy


here's the syntax and results of my most successful model to date:

eq f1: oc sx rg dp ct

eq id: d1-d6

gllamm n d1-d6, nocons i(id) eqs(id) geqs(f1) weight(wt) adapt cluster(school)


Non-adaptive log-likelihood: -6823.3687


number of level 1 units = 7871

number of level 2 units = 1366


Condition Number = 10.224484


gllamm model


log likelihood = -6823.3687


Robust standard errors for clustered data: cluster(school)


           n |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]


          d1 |  -.1445307   .0880877    -1.64   0.101    -.3171794    .0281179

          d2 |   .1943338   .0600214     3.24   0.001      .076694    .3119736

          d3 |  -.1882382   .0316765    -5.94   0.000     -.250323   -.1261533

          d4 |   .5323579   .0432071    12.32   0.000     .4476735    .6170424

          d5 |   .4592705   .0574705     7.99   0.000     .3466304    .5719107

          d6 |   .0238796   .0907236     0.26   0.792    -.1539353    .2016946



Variance at level 1


  .29326947 (.00865416)

Variances and covariances of random effects



***level 2 (id)


    var(1): .14192701 (.00958219)


    loadings for random effect 1

    d1: 1 (fixed)

    d2: .61693877 (.04893845)

    d3: .51532306 (.10844831)

    d4: .35188478 (.02873148)

    d5: .24185411 (.0421882)

    d6: .62708161 (.08509467)



Regressions of latent variables on covariates



    random effect 1 has 5 covariates:

    oc: -.44669068 (.0784577)

    sx: .26469683 (.05907624)

    rg: .30631192 (.04871772)

    dp: -.13629127 (.03229067)

    ct: .26053256 (.04990558)


these results are fairly comparable to results i have obtained in AMOS with a similar model.  but nested analyses in AMOS suggest that the error variances should be allowed to vary across indicators.  given the flexibility of GLLAMM, i am fairly certain there is a way to do this, but i have yet to figure out how (and if i get the measurement model right, this might not be necessary).

*   For searches and help try:

© Copyright 1996–2017 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index