Statalist The Stata Listserver


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

RE: st: contrast with probit


From   "Maarten Buis" <[email protected]>
To   <[email protected]>
Subject   RE: st: contrast with probit
Date   Wed, 16 Aug 2006 11:39:47 +0200

Silke:
What Richard called "sigma" restriction and I called 
"effect coding" are actually the same thing. These kinds
of things tend to be independently discovered in 
different disciplines and thus get different names. I 
know that the term "effect coding" is popular in 
psychology, I have never heard of sigma restriction, and 
in your discipline it may even have yet another name... 
Anyhow -xi3- can give you an easier way (and thus less 
chance of making errors) of achieving the coding scheme 
you want than Richard showed, though it is good to know 
how to do it by hand. 

HTH,
Maarten

Richard:
Just for my curiosity: In what discipline is this coding 
scheme known as sigma restriction?

-----------------------------------------
Maarten L. Buis
Department of Social Research Methodology 
Vrije Universiteit Amsterdam 
Boelelaan 1081 
1081 HV Amsterdam 
The Netherlands

visiting adress:
Buitenveldertselaan 3 (Metropolitan), room Z434 

+31 20 5986715

http://home.fsw.vu.nl/m.buis/
-----------------------------------------

-----Original Message-----
From: [email protected] [mailto:[email protected]]On Behalf Of Richard Gates
Sent: woensdag 16 augustus 2006 0:23
To: [email protected]
Subject: Re: st: contrast with probit

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/

*
*   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