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]
st: Mixed ordered probit (Stata 13) varying intercept when there is no intercept
From
[email protected] (Rafal Raciborski, StataCorp)
To
[email protected]
Subject
st: Mixed ordered probit (Stata 13) varying intercept when there is no intercept
Date
Fri, 19 Jul 2013 14:53:25 -0500
Sam <[email protected]> has some questions about the -meoprobit-
command:
> How do I specify a varying intercept in the -meoprobit- model when the
> model does not have an intercept?
> How do I specify a level-2 explanatory covariate for variance in that
> intercept in the -meoprobit- model when the model does not have an
> intercept?
In Stata's implementation of ordered outcomes models, the effect of the
constant term in the fixed-effects equation is absorbed into the cutpoints.
Therefore, there is no -noconstant- option for the fixed-effects equation.
This is explained in the following FAQ:
Why is there no constant term reported in ologit and oprobit?
http://www.stata.com/support/faqs/statistics/ordered-logistic-and-probit-models/
Essentially, from the model, we cannot identify all the cutpoints and the
constant. Introducing a constant equal to c, would result in the same model
with the constant added to all the cutpoints, for example:
. sysuse auto, clear
(1978 Automobile Data)
. oprobit rep mpg disp turn, nolog
Ordered probit regression Number of obs = 69
LR chi2(3) = 19.65
Prob > chi2 = 0.0002
Log likelihood = -83.865955 Pseudo R2 = 0.1049
------------------------------------------------------------------------------
rep78 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
mpg | .0206013 .0374653 0.55 0.582 -.0528293 .0940318
displacement | .0002449 .0026009 0.09 0.925 -.0048528 .0053426
turn | -.1231891 .0555626 -2.22 0.027 -.2320897 -.0142885
-------------+----------------------------------------------------------------
/cut1 | -6.562678 2.523843 -11.50932 -1.616037
/cut2 | -5.677153 2.49473 -10.56674 -.7875718
/cut3 | -4.19813 2.444281 -8.988833 .5925736
/cut4 | -3.215816 2.437516 -7.993258 1.561627
------------------------------------------------------------------------------
. generate one = 1
. constraint 1 _b[one] = 5
. oprobit rep mpg disp turn one, constraint(1) nolog collinear
Ordered probit regression Number of obs = 69
Wald chi2(3) = 18.66
Log likelihood = -83.865955 Prob > chi2 = 0.0003
( 1) [rep78]one = 5
------------------------------------------------------------------------------
rep78 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
mpg | .0206013 .0374653 0.55 0.582 -.0528293 .0940318
displacement | .0002449 .0026009 0.09 0.925 -.0048528 .0053426
turn | -.1231891 .0555626 -2.22 0.027 -.2320897 -.0142885
one | 5 (constrained)
-------------+----------------------------------------------------------------
/cut1 | -1.562678 2.523843 -6.50932 3.383963
/cut2 | -.6771535 2.49473 -5.566735 4.212428
/cut3 | .8018702 2.444281 -3.988833 5.592574
/cut4 | 1.784184 2.437516 -2.993258 6.561627
------------------------------------------------------------------------------
Therefore, if we want to introduce the equivalent to different 'constants'
for boys and girls, we just need to include a dummy variable for one
of the two groups; the coefficient for this dummy will tell us how
much this group is shifted with respect to the other, for example:
clear
use http://www.stata-press.com/data/r13/childweight
gen weightcat = int(weight/4)
oprobit weightcat girl c.age c.age#c.age
Notice that if we try to include both dummies, boy and girl, one of
them will be dropped for the same reason that the model does not have
a constant.
If we fit a two-level model, the option -noconstant- is valid at the second
level. For example, in the model
oprobit y girl || school:
The 'constant' at the school level models a random shift in the cutpoints
from their overall values. If, in addition, we want to introduce a different
random slope for boys and girls at the school level, we just include the two
dummies at the school level, with the option -noconstant-, as in the following
artificial example:
clear
set seed 13597
webuse childweight
egen v = group(id)
gen school =int(v)
gen sch_eff = rnormal()
bysort school: replace sch_eff = sch_eff[1]
replace weight = weight + sch_eff
gen weightcat = int(weight/5)
gen boy = 1-girl
meoprobit weightcat girl c.age c.age#c.age || school: boy girl, nocons
Sam may have a look at the "Heteroskedastic random effects" section of the
-mixed- entry of the Multilevel Mixed-Effects Reference Manual for more
examples. The manual is available on-line at
http://www.stata-press.com/manuals/multilevel-mixed-effects-reference-manual.
-- Isabel -- Rafal
[email protected] [email protected]
*
* 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/