How can I convert Stata’s parameterization of ordered probit and logistic
models to one in which a constant is estimated?
Why is there no constant term reported in
ologit and
oprobit?
|
Title
|
|
Fitting ordered logistic and probit models with constraints
|
|
Author
|
Mark Inlow, StataCorp
Ronna Cong, StataCorp
|
|
Date
|
August 1999;
minor revisions July 2009
|
Consider a parameterization in which a constant is present, e.g.,
Greene’s formulation (Greene 2003, 736):
Pr(Y = 0) = F(−Xb)
Pr(Y = 1) = F(u1 −Xb) − F(−Xb)
Pr(Y = 2) = F(u2 −Xb) − F(u1 −Xb)
...
In the preceding, F is the cumulative distribution function (CDF), either
the cumulative standard normal distribution for ordered probit regression
or the cumulative logistic distribution for ordered logistic regression.
Since Greene includes a constant in his Xb, we need to indicate this
to make his notation and Stata’s ordered probit/logistic notation
comparable:
Pr(Y = 0) = F(−Xb − con)
Pr(Y = 1) = F(u1 − Xb − con) − F(−Xb − con)
Pr(Y = 1) = F(u2 − Xb − con) − F(u1 −Xb − con)
...
Now, compare this with Stata’s no-constant model:
Pr(Y = 0) = F(/cut1 − Xb)
Pr(Y = 1) = F(/cut2 − Xb) − F(/cut1 − Xb)
Pr(Y = 2) = F(/cut3 − Xb) − F(/cut2 − Xb)
...
Examining the expressions for Pr(Y = 0), we see that
−Xb − con = /cut1 − Xb
so Greene’s constant equals –/cut1. Greene set
the first cut point to zero, whereas Stata set the constant to zero.
Combining this observation with the expressions for Pr(Y = 1), we
see that Greene’s u1 = /cut2 + con = /cut2 − /cut1. Doing the same
for Pr(Y = 2), we see that u2 = /cut3 − /cut1. Thus to estimate
Greene’s model using the coefficient estimates from Stata’s ordered
probit/logistic regression commands we can use the following:
Greene's intercept = −/cut1
Greene's u1 = /cut2 − /cut1
Greene's u2 = /cut3 − /cut1
...
After you fit your model using Stata, you can convert to
Greene’s parameterization using lincom, which will provide
both the coefficient estimate and the standard error as follows:
ologit/oprobit ...
lincom _b[/cut2] - _b[/cut1]
lincom _b[/cut3] - _b[/cut1]
...
To make things concrete, consider the following example using the auto
dataset, which is shipped with Stata.
. sysuse auto, clear
(1978 Automobile Data)
. replace rep78 = 2 if rep78 == 1 | missing(rep78)
(7 real changes made)
. tabulate rep78
Repair |
Record 1978 | Freq. Percent Cum.
------------+-----------------------------------
2 | 15 20.27 20.27
3 | 30 40.54 60.81
4 | 18 24.32 85.14
5 | 11 14.86 100.00
------------+-----------------------------------
Total | 74 100.00
. oprobit rep78 price weight
Iteration 0: log likelihood = -97.440603
Iteration 1: log likelihood = -91.088192
Iteration 2: log likelihood = -91.074229
Iteration 3: log likelihood = -91.074223
Ordered probit regression Number of obs = 74
LR chi2(2) = 12.73
Prob > chi2 = 0.0017
Log likelihood = -91.074223 Pseudo R2 = 0.0653
------------------------------------------------------------------------------
rep78 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
price | .0000966 .0000515 1.88 0.061 -4.36e-06 .0001976
weight | -.0007095 .0002013 -3.52 0.000 -.0011041 -.000315
-------------+----------------------------------------------------------------
/cut1 | -2.468357 .5580629 -3.56214 -1.374573
/cut2 | -1.276601 .5310947 -2.317528 -.2356748
/cut3 | -.3720451 .5046055 -1.361054 .6169635
------------------------------------------------------------------------------
Thus the intercept (constant) is −/cut1 = 2.47, and now we compute the
point estimate and standard error of u1:
. lincom _b[/cut2] - _b[/cut1]
( 1) - [cut1]_cons + [cut2]_cons = 0
------------------------------------------------------------------------------
rep78 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | 1.191755 .183964 6.48 0.000 .8311925 1.552318
------------------------------------------------------------------------------
Our estimate of u1 is 1.19 with a standard error of 0.18.
Finally we estimate u2:
. lincom _b[/cut3] - _b[/cut1]
( 1) - [cut1]_cons + [cut3]_cons = 0
------------------------------------------------------------------------------
rep78 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | 2.096311 .2457135 8.53 0.000 1.614722 2.577901
------------------------------------------------------------------------------
Thus our estimate of u2 is 2.096 with a standard error of .246.
Reference
- Greene, W. H. 2003.
- Econometric Analysis.
5th ed. Upper Saddle River, NJ: Prentice Hall.
|