Learn R Programming

rms (version 5.1-0)

orm.fit: Ordinal Regression Model Fitter

Description

Fits ordinal cumulative probability models for continuous or ordinal response variables, efficiently allowing for a large number of intercepts by capitalizing on the information matrix being sparse. Five different distribution functions are implemented, with the default being the logistic (yielding the proportional odds model). Penalized estimation will be implemented in the future. Weights are not implemented. The optimization method is Newton-Raphson with step-halving. Execution time is linear in the number of intercepts.

Usage

orm.fit(x=NULL, y, family='logistic', offset=0., initial, maxit=12L, eps=.005, tol=1e-7, trace=FALSE, penalty.matrix=NULL, scale=FALSE)

Arguments

x
design matrix with no column for an intercept
y
response vector, numeric, factor, or character. The ordering of levels is assumed from factor(y).
family
the distribution family, corresponding to logistic (the default), Gaussian, Cauchy, Gumbel maximum ($exp(-exp(-x))$; extreme value type I), and Gumbel minimum ($1-exp(-exp(x))$) distributions. These are the cumulative distribution functions assumed for $Prob[Y \ge y | X]$. The family argument can be an unquoted or a quoted string, e.g. family=loglog or family="loglog". To use a built-in family, the string must be one of the following corresponding to the previous list: logistic, probit, loglog, cloglog, cauchit. The user can also provide her own customized family by setting family to a list with elements cumprob, inverse, deriv, deriv2; see the body of orm.fit for examples. An additional element, name must be given, which is a character string used to name the family for print and latex.
offset
optional numeric vector containing an offset on the logit scale
initial
vector of initial parameter estimates, beginning with the intercepts. If initial is not specified, the function computes the overall score $\chi^2$ test for the global null hypothesis of no regression.
maxit
maximum no. iterations (default=12).
eps
difference in $-2 log$ likelihood for declaring convergence. Default is .005. If the $-2 log$ likelihood gets worse by eps/10 while the maximum absolute first derivative of
-2 log
likelihood is below 1E-9, convergence is still declared. This handles the case where the initial estimates are MLEs, to prevent endless step-halving.
tol
Singularity criterion. Default is 1e-7
trace
set to TRUE to print -2 log likelihood, step-halving fraction, change in -2 log likelihood, and maximum absolute value of first derivative at each iteration.
penalty.matrix
a self-contained ready-to-use penalty matrix - seelrm
scale
set to TRUE to subtract column means and divide by column standard deviations of x before fitting, and to back-solve for the un-normalized covariance matrix and regression coefficients. This can sometimes make the model converge for very large sample sizes where for example spline or polynomial component variables create scaling problems leading to loss of precision when accumulating sums of squares and crossproducts.

Value

a list with the following components:

See Also

orm, lrm, glm, gIndex, solve

Examples

Run this code
#Fit an additive logistic model containing numeric predictors age, 
#blood.pressure, and sex, assumed to be already properly coded and 
#transformed
#
# fit <- orm.fit(cbind(age,blood.pressure,sex), death)

Run the code above in your browser using DataLab