Note: This chapter uses a suite of commands, called spost, written by J. Scott Long and Jeremy Freese. The commands must be downloaded prior to their use, and this can be done by typing search spost in the Stata command line (see How can I use the search command to search for programs and get additional help? for more information about using search).
Table 5.1, page 126.
use https://stats.idre.ucla.edu/stat/stata/examples/long/ordwarm2, clear
describe
Contains data from https://stats.idre.ucla.edu/stat/stata/examples/long/ordwarm2.dta
  obs:         2,293                          77 & 89 General Social Survey
 vars:            10                          3 May 2001 09:54
 size:        32,102 (96.9% of memory free)   (_dta has notes)
-------------------------------------------------------------------------------
              storage  display     value
variable name   type   format      label      variable label
-------------------------------------------------------------------------------
warm            byte   %10.0g      SD2SA      Mom can have warm relations
                                                with child
yr89            byte   %10.0g      yrlbl      Survey year: 1=1989 0=1977
male            byte   %10.0g      sexlbl     Gender: 1=male 0=female
white           byte   %10.0g      racelbl    Race: 1=white 0=not white
age             byte   %10.0g                 Age in years
ed              byte   %10.0g                 Years of education
prst            byte   %10.0g                 Occupational prestige
warmlt2         byte   %10.0g      SD         1=SD; 0=D,A,SA
warmlt3         byte   %10.0g      SDD        1=SD,D; 0=A,SA
warmlt4         byte   %10.0g      SDDA       1=SD,D,A; 0=SA
-------------------------------------------------------------------------------
Sorted by:  warm
sum warm yr89 male white age ed prst
    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
        warm |      2293    2.607501    .9282156          1          4
        yr89 |      2293    .3986044    .4897178          0          1
        male |      2293    .4648932    .4988748          0          1
       white |      2293    .8765809    .3289894          0          1
         age |      2293    44.93546    16.77903         18         89
-------------+--------------------------------------------------------
          ed |      2293    12.21805    3.160827          0         20
        prst |      2293    39.58526    14.49226         12         82
Table 5.2, page 127.
*lrm
reg warm yr89 male white age ed prst
      Source |       SS       df       MS              Number of obs =    2293
-------------+------------------------------           F(  6,  2286) =   52.82
       Model |     240.438     6      40.073           Prob > F      =  0.0000
    Residual |  1734.31298  2286  .758667096           R-squared     =  0.1218
-------------+------------------------------           Adj R-squared =  0.1195
       Total |  1974.75098  2292  .861584198           Root MSE      =  .87101
------------------------------------------------------------------------------
        warm |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
        yr89 |   .2624768   .0377971     6.94   0.000     .1883566    .3365969
        male |  -.3357608   .0366127    -9.17   0.000    -.4075583   -.2639632
       white |  -.1770232   .0559223    -3.17   0.002    -.2866869   -.0673596
         age |  -.0101114   .0011623    -8.70   0.000    -.0123907    -.007832
          ed |   .0312009   .0075313     4.14   0.000      .016432    .0459698
        prst |   .0026999   .0015574     1.73   0.083    -.0003542    .0057541
       _cons |   2.780412   .1100734    25.26   0.000     2.564558    2.996266
------------------------------------------------------------------------------
NOTE: Further discussion of the calculation for the threshold can found at http://www.stata.com/support/faqs/stat/ologit_con.html .
*ordered probit, setting the threshold = 0
oprobit warm yr89 male white age ed prst
Iteration 0:   log likelihood = -2995.7704
Iteration 1:   log likelihood = -2848.7542
Iteration 2:   log likelihood =  -2848.611
Ordered probit estimates                          Number of obs   =       2293
                                                  LR chi2(6)      =     294.32
                                                  Prob > chi2     =     0.0000
Log likelihood =  -2848.611                       Pseudo R2       =     0.0491
------------------------------------------------------------------------------
        warm |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
        yr89 |   .3188147   .0468519     6.80   0.000     .2269867    .4106427
        male |  -.4170287   .0455459    -9.16   0.000    -.5062971   -.3277603
       white |  -.2265002   .0694773    -3.26   0.001    -.3626733   -.0903272
         age |  -.0122213   .0014427    -8.47   0.000    -.0150489   -.0093937
          ed |   .0387234   .0093241     4.15   0.000     .0204485    .0569982
        prst |    .003283    .001925     1.71   0.088    -.0004899    .0070559
-------------+----------------------------------------------------------------
       _cut1 |  -1.428578   .1387742          (Ancillary parameters)
       _cut2 |  -.3605589   .1369219 
       _cut3 |   .7681637   .1370564 
------------------------------------------------------------------------------
*constant = -_cut1
lincom _b[_cut2] - _b[_cut1]
 ( 1) - _cut1 + _cut2 = 0
------------------------------------------------------------------------------
        warm |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         (1) |   1.068019   .0347528    30.73   0.000     .9999052    1.136134
------------------------------------------------------------------------------
lincom _b[_cut3] - _b[_cut1]
 ( 1) - _cut1 + _cut3 = 0
------------------------------------------------------------------------------
        warm |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         (1) |   2.196742   .0442095    49.69   0.000     2.110093    2.283391
------------------------------------------------------------------------------
*ordered probit, setting beta_0 = 0
oprobit warm yr89 male white age ed prst
Iteration 0:   log likelihood = -2995.7704
Iteration 1:   log likelihood = -2848.7542
Iteration 2:   log likelihood =  -2848.611
Ordered probit estimates                          Number of obs   =       2293
                                                  LR chi2(6)      =     294.32
                                                  Prob > chi2     =     0.0000
Log likelihood =  -2848.611                       Pseudo R2       =     0.0491
------------------------------------------------------------------------------
        warm |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
        yr89 |   .3188147   .0468519     6.80   0.000     .2269867    .4106427
        male |  -.4170287   .0455459    -9.16   0.000    -.5062971   -.3277603
       white |  -.2265002   .0694773    -3.26   0.001    -.3626733   -.0903272
         age |  -.0122213   .0014427    -8.47   0.000    -.0150489   -.0093937
          ed |   .0387234   .0093241     4.15   0.000     .0204485    .0569982
        prst |    .003283    .001925     1.71   0.088    -.0004899    .0070559
-------------+----------------------------------------------------------------
       _cut1 |  -1.428578   .1387742          (Ancillary parameters)
       _cut2 |  -.3605589   .1369219 
       _cut3 |   .7681637   .1370564 
------------------------------------------------------------------------------
*ordered logistic
ologit warm yr89 male white age ed prst
Iteration 0:   log likelihood = -2995.7704
Iteration 1:   log likelihood = -2846.4532
Iteration 2:   log likelihood = -2844.9142
Iteration 3:   log likelihood = -2844.9123
Ordered logit estimates                           Number of obs   =       2293
                                                  LR chi2(6)      =     301.72
                                                  Prob > chi2     =     0.0000
Log likelihood = -2844.9123                       Pseudo R2       =     0.0504
------------------------------------------------------------------------------
        warm |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
        yr89 |   .5239025   .0798988     6.56   0.000     .3673037    .6805013
        male |  -.7332997   .0784827    -9.34   0.000    -.8871229   -.5794766
       white |  -.3911595   .1183808    -3.30   0.001    -.6231815   -.1591374
         age |  -.0216655   .0024683    -8.78   0.000    -.0265032   -.0168278
          ed |   .0671728    .015975     4.20   0.000     .0358624    .0984831
        prst |   .0060727   .0032929     1.84   0.065    -.0003813    .0125267
-------------+----------------------------------------------------------------
       _cut1 |  -2.465362   .2389126          (Ancillary parameters)
       _cut2 |   -.630904   .2333155 
       _cut3 |   1.261854   .2340179 
------------------------------------------------------------------------------
Table 5.3, page 129.
quietly ologit warm yr89 male white age ed prst
listcoef, std
ologit (N=2293): Unstandardized and Standardized Estimates 
 Observed SD: .9282156
   Latent SD: 1.9410634
-------------------------------------------------------------------------------
        warm |      b         z     P>|z|    bStdX    bStdY   bStdXY      SDofX
-------------+-----------------------------------------------------------------
        yr89 |   0.52390    6.557   0.000   0.2566   0.2699   0.1322     0.4897
        male |  -0.73330   -9.343   0.000  -0.3658  -0.3778  -0.1885     0.4989
       white |  -0.39116   -3.304   0.001  -0.1287  -0.2015  -0.0663     0.3290
         age |  -0.02167   -8.778   0.000  -0.3635  -0.0112  -0.1873    16.7790
          ed |   0.06717    4.205   0.000   0.2123   0.0346   0.1094     3.1608
        prst |   0.00607    1.844   0.065   0.0880   0.0031   0.0453    14.4923
-------------------------------------------------------------------------------
quietly oprobit warm yr89 male white age ed prst
listcoef, std
oprobit (N=2293): Unstandardized and Standardized Estimates 
 Observed SD: .9282156
   Latent SD: 1.0760449
-------------------------------------------------------------------------------
        warm |      b         z     P>|z|    bStdX    bStdY   bStdXY      SDofX
-------------+-----------------------------------------------------------------
        yr89 |   0.31881    6.805   0.000   0.1561   0.2963   0.1451     0.4897
        male |  -0.41703   -9.156   0.000  -0.2080  -0.3876  -0.1933     0.4989
       white |  -0.22650   -3.260   0.001  -0.0745  -0.2105  -0.0693     0.3290
         age |  -0.01222   -8.471   0.000  -0.2051  -0.0114  -0.1906    16.7790
          ed |   0.03872    4.153   0.000   0.1224   0.0360   0.1137     3.1608
        prst |   0.00328    1.705   0.088   0.0476   0.0031   0.0442    14.4923
-------------------------------------------------------------------------------
Table 5.4, page 131.
ologit warm yr89 male white age ed prst
Iteration 0:   log likelihood = -2995.7704
Iteration 1:   log likelihood = -2846.4532
Iteration 2:   log likelihood = -2844.9142
Iteration 3:   log likelihood = -2844.9123
Ordered logit estimates                           Number of obs   =       2293
                                                  LR chi2(6)      =     301.72
                                                  Prob > chi2     =     0.0000
Log likelihood = -2844.9123                       Pseudo R2       =     0.0504
------------------------------------------------------------------------------
        warm |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
        yr89 |   .5239025   .0798988     6.56   0.000     .3673037    .6805013
        male |  -.7332997   .0784827    -9.34   0.000    -.8871229   -.5794766
       white |  -.3911595   .1183808    -3.30   0.001    -.6231815   -.1591374
         age |  -.0216655   .0024683    -8.78   0.000    -.0265032   -.0168278
          ed |   .0671728    .015975     4.20   0.000     .0358624    .0984831
        prst |   .0060727   .0032929     1.84   0.065    -.0003813    .0125267
-------------+----------------------------------------------------------------
       _cut1 |  -2.465362   .2389126          (Ancillary parameters)
       _cut2 |   -.630904   .2333155 
       _cut3 |   1.261854   .2340179 
------------------------------------------------------------------------------
predict sd d a sa
(option p assumed; predicted probabilities)
tabstat sd d a sa, stats(min mean max range)
   stats |        sd         d         a        sa
---------+----------------------------------------
     min |  .0153572   .073616  .1279493  .0268523
    mean |  .1293539  .3152335  .3738817  .1815308
     max |  .4657959  .4289543  .4407727  .6067042
   range |  .4504387  .3553383  .3128235  .5798519
--------------------------------------------------
Figure 5.3, page 132.
quietly ologit warm yr89 male white age ed prst
prgen age, from(20) to(80) x(male = 0 yr89 = 1) ncases(7) generate(w89)
ologit: Predicted values as age varies from 20 to 80.
         yr89       male      white        age         ed       prst
x=          1          0   .8765809  44.935456  12.218055  39.585259
label var w89p1 "SD"
label var w89p2 "D"
label var w89p3 "A" 
label var w89p4 "SA"
label var w89s1 "SD"
label var w89s2 "SD & D"
label var w89s3 "SD, D & A"
Panel A: Predicted Probabilities
graph twoway (scatter  w89p1 w89p2 w89p3 w89p4 w89x, msymbol(Oh Dh Sh Th) c(l l l l) xtitle("Age") ///
	ytitle("Predicted Probability") xlabel(20(20)80) ylabel(0 .25 .50 ) )
Panel B: Cumulative Probabilities
graph twoway (scatter  w89s1 w89s2 w89s3 w89x, msymbol(Oh Dh Sh) c(l l l) xtitle("Age") ///
	ytitle("Cumulative Probability") xlabel(20(20)80) ylabel(0(.25)1) )
Table 5.5, page 134.
quietly ologit warm yr89 male white age ed prst
prtab yr89 male, novarlbl
ologit: Predicted probabilities for warm
Predicted probability of outcome 1 (SD)
--------------------------
          |      male     
     yr89 |  Women     Men
----------+---------------
     1977 | 0.0989  0.1859
     1989 | 0.0610  0.1191
--------------------------
Predicted probability of outcome 2 (D)
--------------------------
          |      male     
     yr89 |  Women     Men
----------+---------------
     1977 | 0.3083  0.4026
     1989 | 0.2282  0.3394
--------------------------
Predicted probability of outcome 3 (A)
--------------------------
          |      male     
     yr89 |  Women     Men
----------+---------------
     1977 | 0.4129  0.3162
     1989 | 0.4406  0.3904
--------------------------
Predicted probability of outcome 4 (SA)
--------------------------
          |      male     
     yr89 |  Women     Men
----------+---------------
     1977 | 0.1799  0.0953
     1989 | 0.2703  0.1510
--------------------------
         yr89       male      white        age         ed       prst
x=  .39860445  .46489315   .8765809  44.935456  12.218055  39.585259
NOTE: The output from prtab needs to be rearranged to match Table 5.5 exactly.
Table 5.6, page 135.
quietly ologit warm yr89 male white age ed prst
prchange age ed prst, x(male = 0 yr89 = 1) rest(mean)
ologit: Changes in Predicted Probabilities for warm
age
            Avg|Chg|          SD           D           A          SA
Min->Max   .16441458   .10941909   .21941006  -.05462247  -.27420671
   -+1/2   .00222661   .00124099   .00321223   -.0001803  -.00427291
  -+sd/2    .0373125    .0208976   .05372739  -.00300205  -.07162295
MargEfct   .00222662   .00124098   .00321226  -.00018032  -.00427292
ed
            Avg|Chg|          SD           D           A          SA
Min->Max   .14300264  -.09153163  -.19447364   .04167268    .2443326
   -+1/2    .0069032  -.00384806  -.00995836   .00055891   .01324749
  -+sd/2   .02181124  -.01217654  -.03144595   .00176239   .04186009
MargEfct   .00690351  -.00384759  -.00995944   .00055906   .01324796
prst
            Avg|Chg|          SD           D           A          SA
Min->Max   .04278038  -.02352008  -.06204067   .00013945   .08542132
   -+1/2   .00062411  -.00034784  -.00090037   .00005054   .00119767
  -+sd/2   .00904405  -.00504204  -.01304607   .00073212   .01735598
MargEfct   .00062411  -.00034784  -.00090038   .00005054   .00119767
                SD          D          A         SA
Pr(y|x)  .06099996  .22815652  .44057754  .27026597
           yr89     male    white      age       ed     prst
    x=        1        0  .876581  44.9355  12.2181  39.5853
sd(x)=  .489718  .498875  .328989   16.779  3.16083  14.4923
Table 5.7, page 137.
NOTE: You may have to increase the matrix size in order to run this model. Type help matsize for more information.
quietly ologit warm yr89 male white age ed prst
prchange
ologit: Changes in Predicted Probabilities for warm
yr89
            Avg|Chg|          SD           D           A          SA
    0->1   .06372773  -.04993673  -.07751873   .05391335    .0735421
male
            Avg|Chg|          SD           D           A          SA
    0->1   .08961766   .07461427   .10462105  -.08137083  -.09786447
white
            Avg|Chg|          SD           D           A          SA
    0->1   .04694162   .03452424   .05935898  -.03557652  -.05830672
age
            Avg|Chg|          SD           D           A          SA
Min->Max   .18319855   .18012119    .1862759  -.17905769  -.18733941
   -+1/2   .00266841   .00214228   .00319454  -.00240716  -.00292964
  -+sd/2    .0446563   .03602537   .05328724   -.0401054   -.0492072
MargEfct   .00266844   .00214226   .00319461  -.00240723  -.00292964
ed
            Avg|Chg|          SD           D           A          SA
Min->Max   .16156666  -.15235534  -.17077798   .15631917   .16681415
   -+1/2   .00827261  -.00664248  -.00990272    .0074617   .00908352
  -+sd/2   .02612717  -.02101015  -.03124419   .02353376   .02872056
MargEfct   .00827335  -.00664198  -.00990472    .0074635   .00908319
prst
            Avg|Chg|          SD           D           A          SA
Min->Max   .05186236  -.04070839  -.06301633   .04440692   .05931778
   -+1/2   .00074795  -.00060046  -.00089544   .00067475   .00082116
  -+sd/2   .01083777  -.00870322  -.01297233   .00977433    .0119012
MargEfct   .00074795  -.00060046  -.00089543   .00067473   .00082116
                SD          D          A         SA
Pr(y|x)  .11125716  .32816544  .39936733  .16121005
           yr89     male    white      age       ed     prst
    x=  .398604  .464893  .876581  44.9355  12.2181  39.5853
sd(x)=  .489718  .498875  .328989   16.779  3.16083  14.4923
Table 5.8, page 142.
NOTE: We do not know why the z-scores are slightly different from those shown in the text.
gen mle1 = (warm>1)
gen mle2 = (warm>2)
gen mle3 = (warm>3)
ologit warm yr89 male white age ed prst
Iteration 0:   log likelihood = -2995.7704
Iteration 1:   log likelihood = -2846.4532
Iteration 2:   log likelihood = -2844.9142
Iteration 3:   log likelihood = -2844.9123
Ordered logit estimates                           Number of obs   =       2293
                                                  LR chi2(6)      =     301.72
                                                  Prob > chi2     =     0.0000
Log likelihood = -2844.9123                       Pseudo R2       =     0.0504
------------------------------------------------------------------------------
        warm |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
        yr89 |   .5239025   .0798988     6.56   0.000     .3673037    .6805013
        male |  -.7332997   .0784827    -9.34   0.000    -.8871229   -.5794766
       white |  -.3911595   .1183808    -3.30   0.001    -.6231815   -.1591374
         age |  -.0216655   .0024683    -8.78   0.000    -.0265032   -.0168278
          ed |   .0671728    .015975     4.20   0.000     .0358624    .0984831
        prst |   .0060727   .0032929     1.84   0.065    -.0003813    .0125267
-------------+----------------------------------------------------------------
       _cut1 |  -2.465362   .2389126          (Ancillary parameters)
       _cut2 |   -.630904   .2333155 
       _cut3 |   1.261854   .2340179 
------------------------------------------------------------------------------
logit mle1 yr89 male white age ed prst
Iteration 0:   log likelihood = -883.91038
Iteration 1:   log likelihood = -824.35787
Iteration 2:   log likelihood =  -819.6587
Iteration 3:   log likelihood = -819.61993
Iteration 4:   log likelihood = -819.61992
Logit estimates                                   Number of obs   =       2293
                                                  LR chi2(6)      =     128.58
                                                  Prob > chi2     =     0.0000
Log likelihood = -819.61992                       Pseudo R2       =     0.0727
------------------------------------------------------------------------------
        mle1 |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
        yr89 |   .9647422   .1542064     6.26   0.000     .6625033    1.266981
        male |  -.3053643   .1291546    -2.36   0.018    -.5585025    -.052226
       white |  -.5526576   .2305396    -2.40   0.017    -1.004507   -.1008082
         age |  -.0164704   .0040571    -4.06   0.000    -.0244221   -.0085187
          ed |   .1047962   .0253348     4.14   0.000     .0551409    .1544516
        prst |  -.0014112   .0056702    -0.25   0.803    -.0125246    .0097023
       _cons |   1.858405   .3958164     4.70   0.000     1.082619     2.63419
------------------------------------------------------------------------------
logit mle2 yr89 male white age ed prst
Iteration 0:   log likelihood = -1575.4005
Iteration 1:   log likelihood = -1450.7598
Iteration 2:   log likelihood = -1449.7869
Iteration 3:   log likelihood = -1449.7863
Logit estimates                                   Number of obs   =       2293
                                                  LR chi2(6)      =     251.23
                                                  Prob > chi2     =     0.0000
Log likelihood = -1449.7863                       Pseudo R2       =     0.0797
------------------------------------------------------------------------------
        mle2 |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
        yr89 |   .5654063   .0928433     6.09   0.000     .3834368    .7473757
        male |  -.6905423   .0898786    -7.68   0.000    -.8667012   -.5143834
       white |  -.3142708   .1405978    -2.24   0.025    -.5898374   -.0387042
         age |  -.0253345   .0028644    -8.84   0.000    -.0309486   -.0197203
          ed |   .0528527   .0184571     2.86   0.004     .0166774    .0890279
        prst |   .0095322   .0038184     2.50   0.013     .0020482    .0170162
       _cons |   .7303287    .269163     2.71   0.007      .202779    1.257878
------------------------------------------------------------------------------
logit mle3 yr89 male white age ed prst
Iteration 0:   log likelihood = -1087.3382
Iteration 1:   log likelihood = -1015.4742
Iteration 2:   log likelihood =  -1011.973
Iteration 3:   log likelihood = -1011.9542
Iteration 4:   log likelihood = -1011.9542
Logit estimates                                   Number of obs   =       2293
                                                  LR chi2(6)      =     150.77
                                                  Prob > chi2     =     0.0000
Log likelihood = -1011.9542                       Pseudo R2       =     0.0693
------------------------------------------------------------------------------
        mle3 |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
        yr89 |   .3190732   .1140756     2.80   0.005     .0954891    .5426572
        male |  -1.083789   .1220668    -8.88   0.000    -1.323035   -.8445422
       white |  -.3929984   .1577582    -2.49   0.013    -.7021989    -.083798
         age |  -.0185905   .0037659    -4.94   0.000    -.0259715   -.0112096
          ed |   .0575547   .0253812     2.27   0.023     .0078085    .1073008
        prst |   .0055304   .0048413     1.14   0.253    -.0039584    .0150193
       _cons |  -1.024517   .3463123    -2.96   0.003    -1.703276   -.3457571
------------------------------------------------------------------------------
Table 5.9, page 144.
NOTE: The brant, detail command produces the same results as Table 5.8.
quietly ologit warm yr89 male white age ed prst
brant, detail
Estimated coefficients from j-1 binary regressions
              y>1         y>2         y>3
 yr89    .9647422   .56540626   .31907316
 male  -.30536425  -.69054232  -1.0837888
white  -.55265759  -.31427081  -.39299842
  age   -.0164704  -.02533448  -.01859051
   ed   .10479624   .05285265   .05755466
 prst  -.00141118   .00953216   .00553043
_cons   1.8584045   .73032873  -1.0245168
Brant Test of Parallel Regression Assumption
    Variable |      chi2   p>chi2    df
-------------+--------------------------
         All |     49.18    0.000    12
-------------+--------------------------
        yr89 |     13.01    0.001     2
        male |     22.24    0.000     2
       white |      1.27    0.531     2
         age |      7.38    0.025     2
          ed |      4.31    0.116     2
        prst |      4.33    0.115     2
----------------------------------------
A significant test statistic provides evidence that the parallel
regression assumption has been violated.


