Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
kmacdonald@stata.com (Kristin MacDonald, StataCorp LP) |

To |
"statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu> |

Subject |
Re: st: Latent Growth model and mixed effects random slopes model - equivalent ? |

Date |
Wed, 01 May 2013 17:57:27 -0500 |

Robert Long <W.R.Long@leeds.ac.uk> is trying to reproduce a growth curve model fit by -xtmixed- with a latent growth curve model fit by -sem- and is obtaining different results. Robert began by fitting a random-intercept model using the commands . use http://www.stata-press.com/data/r12/pig.dta, clear . xtmixed weight week ||id: , var . reshape wide weight, i(id) j(week) . sem (Intercept@1 Slope@0 -> weight1) /// (Intercept@1 Slope@1 -> weight2) /// (Intercept@1 Slope@2 -> weight3) /// (Intercept@1 Slope@3 -> weight4) /// (Intercept@1 Slope@4 -> weight5) /// (Intercept@1 Slope@5 -> weight6) /// (Intercept@1 Slope@6 -> weight7) /// (Intercept@1 Slope@7 -> weight8) /// (Intercept@1 Slope@8 -> weight9) /// , nocons means(Intercept Slope) /// cov(Slope@0 e.weight1@fix1 e.weight2@fix1 e.weight3@fix1 /// e.weight4@fix1 e.weight5@fix1 e.weight6@fix1 e.weight7@fix1 /// e.weight8@fix1 e.weight9@fix1 Intercept*Slope@0) These commands produce equivalent variance components, and the coefficient reported by -xtmixed- for in the fixed portion of the model corresponds to the mean of the latent variable Slope in the -sem- output. However, -xtmixed- reports the intercept in the fixed portion of the model as 19.35561 while the mean of the Intercept latent variable in the -sem- output is 25.56551. This difference is related to the way week is coded. In the original dataset, the values of week range from 1 to 9. If we recode this so that week ranges from 0 to 8, the values of week will now correspond to the constraints placed on the Slope coefficients in the -sem- command when we type Slope@0, Slope@1, and so on. With this modification, -sem- and -xtmixed- will produce equivalent results for each of Robert's proposed models. The full code is given below. -- Kristin kmacdonald@stata.com use http://www.stata-press.com/data/r12/pig.dta, clear replace week = week - 1 /* random intercept */ xtmixed weight week || id: , var preserve reshape wide weight, i(id) j(week) sem (Intercept@1 Slope@0 -> weight0) /// (Intercept@1 Slope@1 -> weight1) /// (Intercept@1 Slope@2 -> weight2) /// (Intercept@1 Slope@3 -> weight3) /// (Intercept@1 Slope@4 -> weight4) /// (Intercept@1 Slope@5 -> weight5) /// (Intercept@1 Slope@6 -> weight6) /// (Intercept@1 Slope@7 -> weight7) /// (Intercept@1 Slope@8 -> weight8) /// , nocons means(Intercept Slope) /// cov(Slope@0 e.weight0@fix1 e.weight1@fix1 e.weight2@fix1 /// e.weight3@fix1 e.weight4@fix1 e.weight5@fix1 e.weight6@fix1 /// e.weight7@fix1 e.weight8@fix1 Intercept*Slope@0) restore /* random intercept and random slope */ xtmixed weight week || id: week, var preserve reshape wide weight, i(id) j(week) sem (Intercept@1 Slope@0 -> weight0) /// (Intercept@1 Slope@1 -> weight1) /// (Intercept@1 Slope@2 -> weight2) /// (Intercept@1 Slope@3 -> weight3) /// (Intercept@1 Slope@4 -> weight4) /// (Intercept@1 Slope@5 -> weight5) /// (Intercept@1 Slope@6 -> weight6) /// (Intercept@1 Slope@7 -> weight7) /// (Intercept@1 Slope@8 -> weight8) /// , nocons means(Intercept Slope) /// cov(e.weight0@fix1 e.weight1@fix1 e.weight2@fix1 /// e.weight3@fix1 e.weight4@fix1 e.weight5@fix1 e.weight6@fix1 /// e.weight7@fix1 e.weight8@fix1 Intercept*Slope@0) restore /* covariance between random intercept and random slope */ xtmixed weight week || id: week, var covariance(unstructured) reshape wide weight, i(id) j(week) sem (Intercept@1 Slope@0 -> weight0) /// (Intercept@1 Slope@1 -> weight1) /// (Intercept@1 Slope@2 -> weight2) /// (Intercept@1 Slope@3 -> weight3) /// (Intercept@1 Slope@4 -> weight4) /// (Intercept@1 Slope@5 -> weight5) /// (Intercept@1 Slope@6 -> weight6) /// (Intercept@1 Slope@7 -> weight7) /// (Intercept@1 Slope@8 -> weight8) /// , nocons means(Intercept Slope) /// cov(e.weight0@fix1 e.weight1@fix1 e.weight2@fix1 /// e.weight3@fix1 e.weight4@fix1 e.weight5@fix1 e.weight6@fix1 /// e.weight7@fix1 e.weight8@fix1) * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/

- Prev by Date:
**Re: st: Adding a time-invariant covariate in SEM builder** - Next by Date:
**st: Re: Reshaping dataset** - Previous by thread:
**Re: st: Adding a time-invariant covariate in SEM builder** - Next by thread:
**st: Re: Reshaping dataset** - Index(es):