Ordered Probit Regression
The ordered probit model has the form:

or equivalently,

where

denotes the cumulative standard normal distribution function.
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;
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:
PROBIT Procedure
You can use the SAS PROC PROBIT to fit an ordered probit model:
proc probit; class y; model y = x1 x2; run;
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:
which are the same results as we obtained in Example 22.
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



