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]
Re: st: How do I graph prediction of mean growth trajectory?
From
David Torres <[email protected]>
To
[email protected]
Subject
Re: st: How do I graph prediction of mean growth trajectory?
Date
Sat, 22 May 2010 11:59:12 -0400
Thanks, Michael, for the help. I think your suggestion may get my
closer to where I need to be. Now I just need to find a quick and
easy way to graph it so I can sit back and enjoy some old James Bond
movies today.
Ciao,
Diego
--------------------------------------------
David Diego Torres, MA(Sociology)
PhD Candidate in Sociology
Quoting Michael Norman Mitchell <[email protected]>:
Dear David
I think that this is a case where the -margins- command could be
your friend. It won't directly draw the graph that you seek, but I
think it will be useful for obtaining the adjusted means that you
could then use for drawing a graph. I have created an example
modeled after your description using the Stata example dataset
-nlswork-. I renamed the variables to match your description and fit
a model based on what I saw in your email. The creating of the
dataset and the xtmixed command to fit the model is shown below...
. webuse nlswork, clear
. * age
. rename ttl_exp assess
. rename collgrad homeenv
. rename c_city trt
. rename race matiq
. xtmixed ln_w c.age##c.age assess homeenv i.matiq##i.trt || id: ,
cov(unstruct)
Then, after fitting this model, I used the -margins- command to
get the adjusted means (averaging across the other variables in the
model) for ages ranging from 40 to 45 crossed with the three levels
of maternal IQ. This yields 6 (age) times 3 (matiq) = 18 predicted
means.
. margins , at(age=(40(1)45) matiq=(1 2 3))
The margins command, by default, is giving the "Average Marginal
Effect", which is averaging the across all of the other predictors
in the model. You might be asking yourself, shouldn't these be held
constant at their mean? (I ask myself this.) On my website, I have a
page that describes the difference between "Marginal Effect at the
Mean" and "Average Marginal Effects", and it shows that although
these are different in a logit model, they are identical in a linear
model. The URL (which may wrap) is....
http://www.michaelnormanmitchell.com/stow/marginal-effect-at-mean-vs-average-marginal-effect.html
Below I show the commands again with the output...
. webuse nlswork, clear
(National Longitudinal Survey. Young Women 14-26 years of age in 1968)
..
. * age
. rename ttl_exp assess
. rename collgrad homeenv
. rename c_city trt
. rename race matiq
..
. xtmixed ln_w c.age##c.age assess homeenv i.matiq##i.trt || id: ,
cov(unstruct)
Note: single-variable random-effects specification; covariance
structure set to
identity
Performing EM optimization:
Performing gradient-based optimization:
Iteration 0: log restricted-likelihood = -9818.6258
Iteration 1: log restricted-likelihood = -9818.6258
Computing standard errors:
Mixed-effects REML regression Number of obs =
28502
Group variable: idcode Number of groups =
4710
Obs per group: min =
1
avg =
6.1
max =
15
Wald chi2(9) =
7180.74
Log restricted-likelihood = -9818.6258 Prob > chi2 =
0.0000
------------------------------------------------------------------------------
ln_wage | Coef. Std. Err. z P>|z| [95% Conf.
Interval]
-------------+----------------------------------------------------------------
age | .0456086 .0026478 17.22 0.000 .040419
.0507983
|
c.age#c.age | -.0009042 .000044 -20.53 0.000 -.0009905
-.0008179
|
assess | .0450014 .0009785 45.99 0.000 .0430836
.0469192
homeenv | .3603894 .0117634 30.64 0.000 .3373336
.3834452
|
matiq |
2 | -.121281 .0127061 -9.55 0.000 -.1461844
-.0963776
3 | .1005461 .0497622 2.02 0.043 .0030141
.1980782
|
1.trt | .0390282 .0071551 5.45 0.000 .0250044
.053052
|
matiq#trt |
2 1 | .0363523 .0137009 2.65 0.008 .0094991
.0632055
3 1 | -.0515755 .0558514 -0.92 0.356 -.1610422
.0578911
|
_cons | .8204718 .0391195 20.97 0.000 .7437989
.8971446
------------------------------------------------------------------------------
------------------------------------------------------------------------------
Random-effects Parameters | Estimate Std. Err. [95% Conf.
Interval]
-----------------------------+------------------------------------------------
idcode: Identity |
sd(_cons) | .281425 .003769 .274134
.28891
-----------------------------+------------------------------------------------
sd(Residual) | .2962138 .0013607 .2935589
.2988928
------------------------------------------------------------------------------
LR test vs. linear regression: chibar2(01) = 9454.47 Prob >=
chibar2 = 0.0000
. margins , at(age=(40(1)45) matiq=(1 2 3))
Predictive margins Number of obs =
28502
Expression : Linear prediction, fixed portion, predict()
1._at : age = 40
matiq = 1
2._at : age = 40
matiq = 2
3._at : age = 40
matiq = 3
4._at : age = 41
matiq = 1
5._at : age = 41
matiq = 2
6._at : age = 41
matiq = 3
7._at : age = 42
matiq = 1
8._at : age = 42
matiq = 2
9._at : age = 42
matiq = 3
10._at : age = 43
matiq = 1
11._at : age = 43
matiq = 2
12._at : age = 43
matiq = 3
13._at : age = 44
matiq = 1
14._at : age = 44
matiq = 2
15._at : age = 44
matiq = 3
16._at : age = 45
matiq = 1
17._at : age = 45
matiq = 2
18._at : age = 45
matiq = 3
------------------------------------------------------------------------------
| Delta-method
| Margin Std. Err. z P>|z| [95% Conf.
Interval]
-------------+----------------------------------------------------------------
_at |
1 | 1.552311 .0093973 165.19 0.000 1.533893
1.570729
2 | 1.444016 .0119263 121.08 0.000 1.420641
1.467392
3 | 1.634432 .043937 37.20 0.000 1.548318
1.720547
4 | 1.524682 .0102364 148.95 0.000 1.504619
1.544745
5 | 1.416388 .0126123 112.30 0.000 1.391668
1.441107
6 | 1.606804 .0441239 36.42 0.000 1.520322
1.693285
7 | 1.495245 .0111808 133.73 0.000 1.473331
1.517159
8 | 1.38695 .0134051 103.46 0.000 1.360677
1.413224
9 | 1.577366 .0443525 35.56 0.000 1.490437
1.664296
10 | 1.463999 .0122296 119.71 0.000 1.44003
1.487969
11 | 1.355705 .0143071 94.76 0.000 1.327663
1.383746
12 | 1.546121 .0446286 34.64 0.000 1.45865
1.633591
13 | 1.430945 .0133814 106.93 0.000 1.404718
1.457172
14 | 1.322651 .0153192 86.34 0.000 1.292626
1.352676
15 | 1.513067 .0449583 33.65 0.000 1.42495
1.601183
16 | 1.396083 .014635 95.39 0.000 1.367399
1.424767
17 | 1.287788 .0164415 78.33 0.000 1.255564
1.320013
18 | 1.478204 .0453477 32.60 0.000 1.389324
1.567084
------------------------------------------------------------------------------
..
end of do-file
I hope this helps,
Best luck,
Michael N. Mitchell
See the Stata tidbit of the week at...
http://www.MichaelNormanMitchell.com
On 2010-05-21 2.27 PM, David Torres wrote:
Hello all,
I am trying to graph expected growth in IQ scores by maternal IQ
class and treatment/control group assignment. Since there are
three maternal IQ classes and two group assignments, I should have
six lines or growth curves.
Now, my models were calculated using Stata's -xtmixed- command, so
I've been following Rabe-Hesketh and Skrondal's text on multilevel
modeling, 2nd edition, page 210-220. They give an example of how
to graph growth, but the example does not include interactions nor
does it allow for the slopes to change between some other
time-varying covariate, which I have in my model. The outcome is
test score, of course. The list of the predictor variables in the
full model from which I would like to create my graphs follow:
1. age
2. age^2
3. assessment given (two different assessments over several years, so
this is entered as a time-varying covariate. It would be great if I
could get the slope to vary by assessment) - Stanford-Binet or Wechsler
4. home environment - 0/1, less stimulating/more stimulating
5. treatment - 0/1, control/treatment
6 & 7. maternal IQ class - 1/2/3, IQ<=75/IQ between 76&90/IQ between 91&110
1 is the reference category
8 & 9. interaction between treatment and maternal IQ class
All of the variables in this model are significant, so I want to
make sure that my graph accurately reflects that. Also, I
understand that since interactions can be difficult to interpret
sometimes a visual represention of the data are always good as an
accompaniment.
A related question is this: If I have to produce these lines
separately, creating six graphs, is there a way I can overlay them?
--------------------------------------------
David Diego Torres, MA(Sociology)
PhD Candidate in Sociology
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/