Statalist The Stata Listserver


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

Re: st: contrast with probit


From   [email protected] (Richard Gates)
To   [email protected]
Subject   Re: st: contrast with probit
Date   Tue, 15 Aug 2006 17:23:05 -0500

Dimitriy V. Masterov responded to Silke Humber's query on collinear
variables in probit and appling the "sigma" restrictions to the
coefficients of indicator variables:

> 
> If I understand your question correctly, there are two ways of doing it:
> 
> (1) Omit the constant, so that you can include the full set of dummies:
> probit outcome d1 d2 d3, nocons
> 
> (2) Use the linear combination command to construct coefficients you want:
> probit outcome d2 d3
> lincom _cons+d2
> 

To apply the sigma restrictions subtract one of your indicator 
variables from all the others.  For example:

. webuse auto
(1978 Automobile Data)

. gen byte wt1 = cond(weight<=3190,1,0)

. gen byte wt2 = 1-wt1

* first the over parameterized model
. probit foreign wt1 wt2 mpg

note: wt2 dropped due to collinearity
Iteration 0:   log likelihood =  -45.03321
Iteration 1:   log likelihood = -30.819636
Iteration 2:   log likelihood = -29.941532
Iteration 3:   log likelihood = -29.897746
Iteration 4:   log likelihood = -29.897518

Probit regression                                 Number of obs   =         74
                                                  LR chi2(2)      =      30.27
                                                  Prob > chi2     =     0.0000
Log likelihood = -29.897518                       Pseudo R2       =     0.3361

------------------------------------------------------------------------------
     foreign |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         wt1 |   2.134792   .5714695     3.74   0.000     1.014732    3.254851
         mpg |  -.0046676   .0385094    -0.12   0.904    -.0801445    .0708094
       _cons |  -1.847266     .77984    -2.37   0.018    -3.375725   -.3188077
------------------------------------------------------------------------------

* now use the indicator coding that will apply wt1+wt2 = 0
. gen byte w1 = wt1 - wt2

. probit foreign w1 mpg

Iteration 0:   log likelihood =  -45.03321
Iteration 1:   log likelihood = -30.819636
Iteration 2:   log likelihood = -29.941532
Iteration 3:   log likelihood = -29.897746
Iteration 4:   log likelihood = -29.897518

Probit regression                                 Number of obs   =         74
                                                  LR chi2(2)      =      30.27
                                                  Prob > chi2     =     0.0000
Log likelihood = -29.897518                       Pseudo R2       =     0.3361

------------------------------------------------------------------------------
     foreign |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
          w1 |   1.067396   .2857348     3.74   0.000      .507366    1.627426
         mpg |  -.0046676   .0385094    -0.12   0.904    -.0801445    .0708094
       _cons |  -.7798703   .8444172    -0.92   0.356    -2.434898    .8751571
------------------------------------------------------------------------------

At this point I argue that wt2 = -1.067396.  I can use -mprobit-
to verify it using constraints and preventing collinear variables
from being dropped.  First -mprobit- will require initial estimates
if we use the collinear option

. mat b = e(b)
. mat b1 = (0,0,b[1,2],b[1,3])

. constraint 1 wt1 +wt2 = 0

. mprobit foreign wt1 wt2 mpg, constraints(1) collinear from(b1,copy) probitparam

Iteration 0:   log likelihood = -48.158141  
Iteration 1:   log likelihood = -30.337043  
Iteration 2:   log likelihood = -29.900296  
Iteration 3:   log likelihood = -29.897519  
Iteration 4:   log likelihood = -29.897518  

Multinomial probit regression                     Number of obs   =         74
                                                  Wald chi2(2)    =      19.44
Log likelihood = -29.897518                       Prob > chi2     =     0.0001

 ( 1)  [Foreign]wt1 + [Foreign]wt2 = 0
------------------------------------------------------------------------------
     foreign |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
Foreign      |
         wt1 |   1.067396   .2857411     3.74   0.000     .5073535    1.627438
         wt2 |  -1.067396   .2857411    -3.74   0.000    -1.627438   -.5073535
         mpg |  -.0046676   .0385095    -0.12   0.904    -.0801447    .0708096
       _cons |  -.7798702   .8444202    -0.92   0.356    -2.434903    .8751631
------------------------------------------------------------------------------
(foreign=Domestic is the base outcome)


The estimated _cons is the overall mean and the wt1 and wt2 estimates
are deviations from that mean.

I used only two categories, but this works for as many as you want.
You can get the last estimate using -lincom-.


-Rich
[email protected]




*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



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