/ Home

StatBox 4.2

# Example Session using ordinal

`ordinal` performs logistic regression or ordinal logistic regression.

```» help ordinal

ORDINAL	Ordinal logistic regression.  ORDINAL(Y,X,1); regresses the ordinal
response  Y  on the design matrix  X  and prints summary results.

Suppose  Y  takes values in  k  ordered categories, and let  p_ij
be the cumulative probability that  Y(i)  falls in the j'th category
or higher.  The ordinal logistic regression model is

logit(p_ij) = theta(j) + x_i'beta , i = 1,..,length(Y), j = 1,..,k-1,

where  x_i  is the i'th row of  X .  The number of ordinal
categories  k  is taken to be the number of distinct values of
round(Y) .  If  k = 2  the model is ordinary logistic regression.
X  is assumed to have full column rank.

ORDINAL(Y)  fits the model with baseline logit odds only.  The full
form is  [BETA,THETA,DEV,DL,D2L,P] = ORDINAL(Y,X,PRINT,BETA,THETA)
in which all output arguments and all input arguments except  Y  are
optional.  PRINT = 1  requests summary information about the fitted
model to be displayed.  PRINT = 2  requests information about
convergence at each iteration.  Other values request no information
to be displayed.  Input arguments BETA  and  THETA  give initial
estimates for beta and theta.  DEV holds minus twice the
log-likelihood,  DL  the log-likelihood derivative vector with
respect to theta and beta,  D2L  the second derivative matrix, and
P  the estimates of the cell probabilities, p_{ij}-p_{i,j+1}.```

Two simple logistic regressions with binary responses using ordinal. The first is just a fit of a constant model. The estimated parameter is this case is just minus the log-odds of a success. The proportion of successes is 4/10=0.4. The estimated intercept is -log(0.4/(1-0.4))=0.4055. The deviance 13.4602 is the total or null deviance.

```» y = [0 1 0 0 1 0 0 0 1 1]'
y =
0
1
0
0
1
0
0
0
1
1
» ordinal(y,[],1);
Number of iterations
0

Deviance
13.4602

Theta      SE
0.4055    0.6455```

Now a simple logistic regression with a continuous covariate.

```» x = (1:10)'
x =
1
2
3
4
5
6
7
8
9
10
» ordinal(y,x,1);
Number of iterations
2

Deviance
12.6305

Theta      SE
1.6129    1.5734

Beta       SE
0.2129    0.2436```

We can compare the above output to output from the same regression using another statistical program, in this case R:

```> y <- c(0,1,0,0,1,0,0,0,1,1)
> x <- 1:10
> cbind(x,y)
x y
[1,]  1 0
[2,]  2 1
[3,]  3 0
[4,]  4 0
[5,]  5 1
[6,]  6 0
[7,]  7 0
[8,]  8 0
[9,]  9 1
[10,] 10 1
> out <- glm(y~x,family=binomial)
> summary(out)

Call:
glm(formula = y ~ x, family = binomial)

Deviance Residuals:
Min       1Q   Median       3Q      Max
-1.2161  -0.9977  -0.7318   1.0304   1.7055

Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept)  -1.6146     1.5726  -1.027    0.305
x             0.2131     0.2435   0.875    0.381

(Dispersion parameter for binomial family taken to be 1)

Null deviance: 13.460  on 9  degrees of freedom
Residual deviance: 12.631  on 8  degrees of freedom
AIC: 16.631

Number of Fisher Scoring iterations: 3```

Comparing this with the output from ordinal above, we see that the coefficient beta from ordinal is the same as the regression coefficient from R. The coefficient theta from ordinal is minus the intercept coefficient from R. The standard errors are the same in each case. The deviance from ordinal is the residual deviance from R. The null deviance in R is the same as the residual deviance from the null model, output as the deviance from ordinal above when there was no predictor variable.

Here is now a little ordinal regression example. There are now three levels of the response and there are two intercepts in the output to distinguish the three levels. The regression coefficient of 0.8 shows a positive association between the covariate and the responses.

```» y=[1 1 2 1 3 2 3 2 3 3]'
y =
1
1
2
1
3
2
3
2
3
3
» ordinal(y,x,1);
Number of iterations
4

Deviance
13.6793

Theta      SE
2.7793    1.7581
5.3661    2.4971

Beta       SE
0.8070    0.3720```

## References

McCullagh, P. (1980). Regression models for ordinal data (with discussion). Journal of the Royal Statistical Society Series B 42, 109-142.