Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: RE: st: Constraining alpha and theta in slogit


From   "Jun Xu" <mystata@hotmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: RE: st: Constraining alpha and theta in slogit
Date   Tue, 15 Nov 2005 15:40:05 -0600

If I am right, it's titled "Adding Covariates to Loglinear Models for the Study of Social Mobility" in American Sociological Review, 55(5):757-773 and relevant discussion appears on the right column of p.761, I believe.

Jun Xu
Ph.D. Candidate
Department of Sociology
Indiana University at Bloomington


From: rgates@stata.com (Richard Gates)
Reply-To: statalist@hsphsun2.harvard.edu
To: statalist@hsphsun2.harvard.edu
Subject: Re: RE: st: Constraining alpha and theta in slogit
Date: Tue, 15 Nov 2005 08:43:01 -0600

Jun Xu <mystata@hotmail.com> responded to Michael Hout's
<mikehout@berkeley.edu> inquiry about setting constraints in -slogit-. He
suggested constraining the sum of the phi's to zero.

> For setting the first constraint, it's like
>
> constrain def 1
> [phi1_1]_cons+[phi1_2]_cons+[phi1_3]_cons+...+[phi1_j]_cons=0
>
> and it should work well, but I do find problems with your magnitude
> constraints. I only have limited working knowledge with slogit, so others or
> Stata staff might have some suggestions. But I guess one possibility why
> this does not work is probably slogit in Stata has used the first strategy
> (impose the first phi to be 1 and last to be zero) that DiPrete's paper
> mentioned just above the discussion on Goodman's strategy (P.761), and that
> might cause Goodman's strategy hard to implement?
>

The phi associated with the base category is always zero. For a dependent
variable that is an ordered factor we set the last cateogory to be the base and
constrain phi1_1 associated with the first category to be one. If the
categories are truly ordered then the phi's will be monotonically decreasing
from 1 to zero. Here I am assuming that the model is of dimension 1.

Constraining the phi's to sum to zero is an interesting approach, if you would
be kind enough to give me details of the Goodman and DiPrete references I would
like to read them. Meanwhile, we still can constrain the sum of the phi's to zero
(excluding the one associated with the base category). We have to turn off the
corner constraints constraining the phi1_1 to 1 and use initialize(random) or
initialize(svd) Below is a demonstation using the auto2yr data.

. constraint 1 [phi1_1]_cons+[phi1_2]_cons+[phi1_3]_cons+[phi1_4]_cons = 0

. slogit repair foreign mpg price gratio, constraint(1) nocorner init(random)

Iteration 0: log likelihood = -199.21095 (not concave)
Iteration 1: log likelihood = -190.87692 (not concave)
Iteration 2: log likelihood = -185.76278 (not concave)
Iteration 3: log likelihood = -181.58171 (not concave)
Iteration 4: log likelihood = -180.35418 (not concave)
Iteration 5: log likelihood = -179.47387 (not concave)
Iteration 6: log likelihood = -179.04793 (not concave)
Iteration 7: log likelihood = -178.81528
Iteration 8: log likelihood = -178.54224 (not concave)
Iteration 9: log likelihood = -178.42258 (not concave)
Iteration 10: log likelihood = -178.41219
Iteration 11: log likelihood = -178.40734
Iteration 12: log likelihood = -178.40732
Iteration 13: log likelihood = -178.40732 (not concave)
Iteration 14: log likelihood = -178.40732

Stereotype logistic regression Number of obs = 135
Wald chi2(4) = 0.00
Log likelihood = -178.40732 Prob > chi2 = 1.0000

( 1) [phi1_1]_cons + [phi1_2]_cons + [phi1_3]_cons + [phi1_4]_cons = 0
------------------------------------------------------------------------------
repair | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
foreign | -3.919207 2346.913 -0.00 0.999 -4603.784 4595.946
mpg | -.0670937 40.1774 -0.00 0.999 -78.81336 78.67917
price | .000244 .1460856 0.00 0.999 -.2860786 .2865665
gratio | 2.752465 1648.241 0.00 0.999 -3227.74 3233.245
-------------+----------------------------------------------------------------
/phi1_1 | .668205 400.1371 0.00 0.999 -783.586 784.9224
/phi1_2 | -.2599337 155.6544 -0.00 0.999 -305.337 304.8172
/phi1_3 | -.4009208 240.0809 -0.00 0.999 -470.9508 470.149
/phi1_4 | -.0073505 4.407548 -0.00 0.999 -8.645986 8.631285
/phi1_5 | 0 (base outcome)
-------------+----------------------------------------------------------------
/theta1 | 2.96203 5.387697 0.55 0.582 -7.597662 13.52172
/theta2 | -1.658354 1.559043 -1.06 0.287 -4.714022 1.397314
/theta3 | -1.59848 3.312416 -0.48 0.629 -8.090697 4.893737
/theta4 | .8148797 1.604376 0.51 0.612 -2.32964 3.959399
/theta5 | 0 (base outcome)
------------------------------------------------------------------------------
(repair=Excellent is the base outcome)

It does not seem to fit the data very well. Note that the default, initialize(const),
does not work here since the phi's wind up constrained to zero. (I need to chew my
cud on that.)

If there is a need for other constraint options we would certainly consider
adding the functionality to -slogit-.

--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/
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/

*
* 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–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index