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: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu]On Behalf Of Richard Gates
Sent: woensdag 16 augustus 2006 0:23
To: statalist@hsphsun2.harvard.edu
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
rgates@stata.com
*
* 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/