Statalist


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

RE: st: Test of ordered probit vs ordinary probits


From   "Schaffer, Mark E" <M.E.Schaffer@hw.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   RE: st: Test of ordered probit vs ordinary probits
Date   Wed, 31 Oct 2007 23:48:15 -0000

Thanks, Richard, that's *really* helpful.  The only thing I would add is
that another reason my test result vs. the test result from -omodel-
differ is that I used -suest-, which means it was a heterosk-robust Wald
test vs. -omodel-'s non-robust approximate LR test.

Your use of the -coef- option of -test- is very nifty.  If I understand
what you've said and what the manual says about -coef- correctly:

(1) -gologit2- imposes during the estimation the one-step constraints
that the cutoffs are ordered.

(2) Separate -probit-s followed by -test- with the -coef- option in
effect imposes asymptotically equivalent two-step constraints that the
cutoffs are ordered.

Very nifty!

Cheers,
Mark

> -----Original Message-----
> From: owner-statalist@hsphsun2.harvard.edu 
> [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of 
> Richard Williams
> Sent: 31 October 2007 22:16
> To: statalist@hsphsun2.harvard.edu; statalist@hsphsun2.harvard.edu
> Subject: RE: st: Test of ordered probit vs ordinary probits
> 
> At 02:43 PM 10/31/2007, Schaffer, Mark E wrote:
> >Thanks for all this.  My motivation for asking, though, was 
> partly to 
> >see if I understood the FAQ and how these estimations work.  Put 
> >another way, I suspect that the end of Bill's FAQ should be changed 
> >from
> >
> >"with the constraint that the cofficients, but not the 
> INTERCEPTS, are 
> >equal."
> >
> >to
> >
> >"with the constraints that the cofficients, but not the 
> INTERCEPTS, are 
> >equal, and that /cut1 < /cut2."
> 
> A lot of output follows - so the executive summary is that 
> (a) your rephrasing of Bill's statement is unnecessary 
> because the equality constraint on the coefficients implies 
> the constraint you state for the cut points, and (b) your 
> test is right, but you need a better data set than auto to 
> illustrate it.
> 
> (a) If the coefficients are equal, I believe the relationship 
> you specify for the cutpoints has to follow.  The way you are 
> collapsing the ordinal var, the cutpoint has to get higher 
> and higher with each of the different collapses if you force 
> the coefficients to stay the same.  Slightly tweaking your 
> original example,
> 
> . test [probit34]turn=[probit45]turn, accum coef
> 
>   ( 1)  [probit12]turn - [probit23]turn = 0
>   ( 2)  [probit23]turn - [probit34]turn = 0
>   ( 3)  [probit34]turn - [probit45]turn = 0
> 
>             chi2(  3) =   14.82
>           Prob > chi2 =    0.0020
> 
> 
> Constrained coefficients
> 
> --------------------------------------------------------------
> ----------------
>               |               Robust
>               |      Coef.   Std. Err.      z    P>|z|     
> [95% Conf. Interval]
> -------------+------------------------------------------------
> ----------
> -------------+------
> probit12     |
>          turn |  -.0848508   .0191134    -4.44   0.000    
> -.1223123   -.0473893
>         _cons |   5.147589    .786685     6.54   0.000     
> 3.605715    6.689463
> -------------+------------------------------------------------
> ----------
> -------------+------
> probit23     |
>          turn |  -.0848508   .0191134    -4.44   0.000    
> -.1223123   -.0473893
>         _cons |   4.611418   .7877609     5.85   0.000     
> 3.067435    6.155401
> -------------+------------------------------------------------
> ----------
> -------------+------
> probit34     |
>          turn |  -.0848508   .0191134    -4.44   0.000    
> -.1223123   -.0473893
>         _cons |   3.105473    .778709     3.99   0.000     
> 1.579232    4.631715
> -------------+------------------------------------------------
> ----------
> -------------+------
> probit45     |
>          turn |  -.0848508   .0191134    -4.44   0.000    
> -.1223123   -.0473893
>         _cons |   2.057018   .7939805     2.59   0.010     
> .5008449    3.613191
> --------------------------------------------------------------
> ----------------
> 
> Note the decreasing magnitude of the intercepts (which would 
> correspond to increasing cutpoints in an oprobit).
> 
> (b) Also, I think part of the problem with your original 
> example is that auto is a crummy data set for ordinal 
> regression; the data are way too thin with the first few 
> categories.  This example works much better:
> 
> use 
> "http://www.indiana.edu/~jslsoc/stata/spex_data/ordwarm2.dta";,
>  clear drop if warm==.
> gen warm_12=warm>1
> gen warm_23=warm>2
> gen warm_34=warm>3
> qui probit warm_12 yr89
> est store probit12
> qui probit warm_23 yr89
> est store probit23
> qui probit warm_34 yr89
> est store probit34
> suest probit12 probit23 probit34
> test [probit12]yr89=[probit23]yr89
> test [probit23]yr89=[probit34]yr89, accum coef omodel probit warm yr89
> 
> Here is the output from the last few commands.
> 
> . test [probit23]yr89=[probit34]yr89, accum coef
> 
>   ( 1)  [probit12]yr89 - [probit23]yr89 = 0
>   ( 2)  [probit23]yr89 - [probit34]yr89 = 0
> 
>             chi2(  2) =   13.15
>           Prob > chi2 =    0.0014
> 
> 
> Constrained coefficients
> 
> --------------------------------------------------------------
> ----------------
>               |               Robust
>               |      Coef.   Std. Err.      z    P>|z|     
> [95% Conf. Interval]
> -------------+------------------------------------------------
> ----------
> -------------+------
> probit12     |
>          yr89 |    .363189    .045948     7.90   0.000     
> .2731326    .4532454
>         _cons |   .9988136    .037007    26.99   0.000     
> .9262812    1.071346
> -------------+------------------------------------------------
> ----------
> -------------+------
> probit23     |
>          yr89 |    .363189    .045948     7.90   0.000     
> .2731326    .4532454
>         _cons |  -.0067555   .0321153    -0.21   0.833    
> -.0697003    .0561892
> -------------+------------------------------------------------
> ----------
> -------------+------
> probit34     |
>          yr89 |    .363189    .045948     7.90   0.000     
> .2731326    .4532454
>         _cons |  -1.063885   .0365802   -29.08   0.000    
> -1.135581   -.9921892
> --------------------------------------------------------------
> ----------------
> 
> . omodel probit warm yr89
> 
> Iteration 0:   log likelihood = -2995.7704
> Iteration 1:   log likelihood = -2964.0161
> Iteration 2:   log likelihood = -2964.0136
> 
> Ordered probit estimates                          Number of 
> obs   =       2293
>                                                    LR chi2(1) 
>      =      63.51
>                                                    Prob > 
> chi2     =     0.0000
> Log likelihood = -2964.0136                       Pseudo R2   
>     =     0.0106
> 
> --------------------------------------------------------------
> ----------------
>          warm |      Coef.   Std. Err.      z    P>|z|     
> [95% Conf. Interval]
> -------------+------------------------------------------------
> ----------
> -------------+------
>          yr89 |   .3646929    .045823     7.96   0.000     
> .2748813    .4545044
> -------------+------------------------------------------------
> ----------
> -------------+------
>         _cut1 |  -1.002802   .0370072          (Ancillary parameters)
>         _cut2 |   .0070519   .0321106
>         _cut3 |   1.067839   .0366947
> --------------------------------------------------------------
> ----------------
> 
> Approximate likelihood-ratio test of equality of coefficients 
> across response categories:
>           chi2(2) =     13.49
>         Prob > chi2 =    0.0012
> 
> 
> So, you see, you get almost the exact same test stat (13.15 versus
> 13.49) and almost the exact same coefficients.  I think the 
> reason they are not exactly equal is because you are doing a 
> Wald test while omodel does an approximate LR test.
> 
> For good measure, doing this with a Wald test in gologit2,
> 
> . quietly gologit2  warm yr89, link (p) store(unconstrained)
> 
> . quietly test [#1]yr89 = [#2]yr89
> 
> . test [#2]yr89 = [#3]yr89, accum coef
> 
>   ( 1)  [1SD]yr89 - [2D]yr89 = 0
>   ( 2)  [2D]yr89 - [3A]yr89 = 0
> 
>             chi2(  2) =   13.16
>           Prob > chi2 =    0.0014
> 
> 
> Constrained coefficients
> 
> --------------------------------------------------------------
> ----------------
>               |      Coef.   Std. Err.      z    P>|z|     
> [95% Conf. Interval]
> -------------+------------------------------------------------
> ----------
> -------------+------
> 1SD          |
>          yr89 |   .3631891    .045938     7.91   0.000     
> .2731523    .4532259
>         _cons |   .9988135   .0369989    27.00   0.000      
> .926297     1.07133
> -------------+------------------------------------------------
> ----------
> -------------+------
> 2D           |
>          yr89 |   .3631891    .045938     7.91   0.000     
> .2731523    .4532259
>         _cons |  -.0067556   .0321083    -0.21   0.833    
> -.0696866    .0561755
> -------------+------------------------------------------------
> ----------
> -------------+------
> 3A           |
>          yr89 |   .3631891    .045938     7.91   0.000     
> .2731523    .4532259
>         _cons |  -1.063885   .0365722   -29.09   0.000    
> -1.135565   -.9922048
> --------------------------------------------------------------
> ----------------
> 
> i.e. you get virtually identical results with gologit2 that 
> you get by running all the probits separately.
> 
> The corresponding gologit2 LR test is
> 
> . quietly gologit2  warm yr89, link (p) pl store(constrained)
> 
> . lrtest unconstrained constrained
> 
> Likelihood-ratio test                                  LR 
> chi2(2)  =     13.45
> (Assumption: constrained nested in unconstrained)      Prob > 
> chi2 =    0.0012
> 
> The 13.45 is virtually identical to omodel's 13.49.
> 
> Hope this is semi-clear!
> 
> -------------------------------------------
> Richard Williams, Notre Dame Dept of Sociology
> OFFICE: (574)631-6668, (574)631-6463
> HOME:   (574)289-5227
> EMAIL:  Richard.A.Williams.5@ND.Edu
> WWW:    http://www.nd.edu/~rwilliam
> 
> *
> *   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–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index