Ordered Probit Regression

The ordered probit model has the form:

orderedprobit

or equivalently,

orderedprobit2

where

phi_inverse
is the inverse of the cumulative standard normal distribution function, often referred to as probit or normit, and phi denotes the cumulative standard normal distribution function.

Ordered Probit Regression with SAS

LOGISTIC Procedure

To fit an ordered probit model in PROC LOGISTIC, use the LINK=NORMIT (or PROBIT) option as:


  proc logistic;

  model y=x1 x2 / link=normit;

  run;

Example 22: SAS Ordered Probit Regression in PROC LOGISTIC

Using the data set CHEESE in Example 19, if you use:


  proc logistic data=cheese;

  freq f;

  model y=x1-x3 / link=normit;

  run;

you will have:


                   Sample Program: Ordered Probit Regression                  



                             The LOGISTIC Procedure



     Data Set: WORK.CHEESE

     Response Variable: Y

     Response Levels: 9

     Number of Observations: 28

     Frequency Variable: F

     Link Function: Normit





                                Response Profile



                           Ordered

                             Value       Y     Count



                                 1       1         7

                                 2       2        10

                                 3       3        19

                                 4       4        27

                                 5       5        41

                                 6       6        28

                                 7       7        39

                                 8       8        25

                                 9       9        12



NOTE: 8 observation(s) having zero frequencies or weights were excluded since

      they do not contribute to the analysis.





                   Score Test for the Equal Slopes Assumption



                   Chi-Square = 15.0251 with 21 DF (p=0.8217)





      Model Fitting Information and Testing Global Null Hypothesis BETA=0



                               Intercept

                 Intercept        and

   Criterion       Only       Covariates    Chi-Square for Covariates



   AIC             875.802       729.391         .

   SC              902.502       766.104         .

   -2 LOG L        859.802       707.391      152.411 with 3 DF (p=0.0001)

   Score              .             .         108.491 with 3 DF (p=0.0001)





                   Analysis of Maximum Likelihood Estimates



                 Parameter   Standard      Wald         Pr >      Standardized

 Variable   DF    Estimate     Error    Chi-Square   Chi-Square     Estimate



 INTERCP1   1      -4.0762     0.2867     202.1202       0.0001              .

 INTERCP2   1      -3.5087     0.2496     197.6200       0.0001              .

 INTERCP3   1      -2.8628     0.2248     162.2226       0.0001              .

 INTERCP4   1      -2.2356     0.2067     117.0124       0.0001              .

 INTERCP5   1      -1.4641     0.1858      62.0947       0.0001              .

 INTERCP6   1      -0.9155     0.1730      28.0144       0.0001              .

 INTERCP7   1      -0.0276     0.1607       0.0296       0.8634              .

 INTERCP8   1       0.8779     0.1841      22.7341       0.0001              .

 X1         1       0.9643     0.2119      20.7122       0.0001       0.418540

 X2         1       2.8618     0.2508     130.2471       0.0001       1.242206

 X3         1       1.9408     0.2296      71.4236       0.0001       0.842421





                             The LOGISTIC Procedure



         Association of Predicted Probabilities and Observed Responses



                   Concordant = 58.4%          Somers' D = 0.512

                   Discordant =  7.2%          Gamma     = 0.781

                   Tied       = 34.4%          Tau-a     = 0.443

                   (18635 pairs)               c         = 0.756

This result shows eight fitted regression lines as:

regcomp
PROBIT Procedure

You can use the SAS PROC PROBIT to fit an ordered probit model:


  proc probit;

  class y;

  model y = x1 x2;

  run;

Example 23: SAS Ordered Probit Regression in PROC PROBIT

Using the data set CHEESE2 in Example 21, you can use:


  proc probit data=cheese2;

  class y;

  model y = x1-x3;

  run;                 

Your SAS output will be:


                   Sample Program: Ordered Probit Regression                 



                                Probit Procedure

                            Class Level Information



                     Class    Levels    Values



                     Y             9    1 2 3 4 5 6 7 8 9



                       Number of observations used = 208





                                Probit Procedure



   Data Set          =WORK.CHEESE2

   Dependent Variable=Y



         Weighted Frequency Counts for the Ordered Response Categories



                                   Level     Count

                                       1         7

                                       2        10

                                       3        19

                                       4        27

                                       5        41

                                       6        28

                                       7        39

                                       8        25

                                       9        12



   Log Likelihood for NORMAL -353.6953428





                                Probit Procedure



          Variable  DF   Estimate  Std Err ChiSquare  Pr>Chi Label/Value



          INTERCPT   1 -4.0761911   0.2868       202  0.0001 Intercept

          X1         1  0.9642503 0.211624    20.761  0.0001

          X2         1 2.86184814  0.24956  131.5057  0.0001

          X3         1 1.94080682 0.230248  71.05121  0.0001

          INTER.2    1 0.56749271 0.166663                              2

          INTER.3    1 1.21337982 0.200722                              3

          INTER.4    1 1.84054882 0.216171                              4

          INTER.5    1 2.61204661 0.229904                              5

          INTER.6    1 3.16070252 0.241469                              6

          INTER.7    1 4.04855742 0.263792                              7

          INTER.8    1 4.95412966 0.298786                              8

This result shows eight fitted regression lines as:

regcomp2

which are the same results as we obtained in Example 22.

Example 24: Predicted Probability Computation

Predicted probability computation can be easily obtained using:


  proc probit data=cheese2;

  class y;

  model y = x1-x3;

  output out=prob2 prob=phat;

  run;

  proc print data=prob2;

  run;

As a result, you will have:


                   Sample Program: Ordered Probit Regression                 



                OBS    X1    X2    X3    Y    _LEVEL_      PHAT



                  1     1     0     0    3       1       0.00093

                  2     1     0     0    3       2       0.00547

                  3     1     0     0    3       3       0.02881

                  4     1     0     0    3       4       0.10179

                  5     1     0     0    3       5       0.30857

                  6     1     0     0    3       6       0.51945

                  7     1     0     0    3       7       0.82552

                  8     1     0     0    3       8       0.96728

                                       .

                                       .

               1657     0     0     0    9       1       0.00002

               1658     0     0     0    9       2       0.00023

               1659     0     0     0    9       3       0.00210

               1660     0     0     0    9       4       0.01269

               1661     0     0     0    9       5       0.07158

               1662     0     0     0    9       6       0.17997

               1663     0     0     0    9       7       0.48898

               1664     0     0     0    9       8       0.81001


Next: Models for Unordered Multiple Choices
Prev: Ordered Logit Regression
Up: Contents