acat: Ordinal Regression with Adjacent Categories Probabilities

View source: R/family.categorical.R

acatR Documentation

Ordinal Regression with Adjacent Categories Probabilities

Description

Fits an adjacent categories regression model to an ordered (preferably) factor response.

Usage

acat(link = "loglink", parallel = FALSE, reverse = FALSE,
     zero = NULL, thresholds = c("unconstrained", "equidistant",
     "symmetric1", "symmetric0"), Treverse = reverse,
     Tref = if (Treverse) "M" else 1, whitespace = FALSE)

Arguments

link

Link function applied to the ratios of the adjacent categories probabilities. See Links for more choices.

parallel

A logical, or formula specifying which terms have equal/unequal coefficients.

reverse

Logical. By default, the linear/additive predictors used are \eta_j = \log(P[Y=j+1]/P[Y=j]) for j=1,\ldots,M. If reverse is TRUE then \eta_j = \log(P[Y=j]/P[Y=j+1]) will be used.

zero

An integer-valued vector specifying which linear/additive predictors are modelled as intercepts only. The values must be from the set {1,2,...,M}. See CommonVGAMffArguments for more information.

thresholds, Treverse, Tref

See cumulative for information. These arguments apply to ordinal categorical regression models.

whitespace

See CommonVGAMffArguments for information.

Details

In this help file the response Y is assumed to be a factor with ordered values 1,2,\ldots,M+1, so that M is the number of linear/additive predictors \eta_j. By default, the log link is used because the ratio of two probabilities is positive.

Internally, deriv3 is called to perform symbolic differentiation and consequently this family function will struggle if M becomes too large. If this occurs, try combining levels so that M is effectively reduced. One idea is to aggregate levels with the fewest observations in them first.

Value

An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm, rrvglm and vgam.

Warning

No check is made to verify that the response is ordinal if the response is a matrix; see ordered.

Note

The response should be either a matrix of counts (with row sums that are all positive), or an ordered factor. In both cases, the y slot returned by vglm/vgam/rrvglm is the matrix of counts.

For a nominal (unordered) factor response, the multinomial logit model (multinomial) is more appropriate.

Here is an example of the usage of the parallel argument. If there are covariates x1, x2 and x3, then parallel = TRUE ~ x1 + x2 -1 and parallel = FALSE ~ x3 are equivalent. This would constrain the regression coefficients for x1 and x2 to be equal; those of the intercepts and x3 would be different.

Author(s)

Thomas W. Yee

References

Agresti, A. (2013). Categorical Data Analysis, 3rd ed. Hoboken, NJ, USA: Wiley.
Tutz, G. (2012). Regression for Categorical Data, Cambridge: Cambridge University Press.
Yee, T. W. (2010). The VGAM package for categorical data analysis. Journal of Statistical Software, 32, 1–34. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.18637/jss.v032.i10")}.

See Also

cumulative, cratio, sratio, multinomial, margeff, pneumo, budworm, deriv3.

Examples

pneumo <- transform(pneumo, let = log(exposure.time))
(fit <- vglm(cbind(normal, mild, severe) ~ let, acat, pneumo))
coef(fit, matrix = TRUE)
constraints(fit)
model.matrix(fit)

VGAM documentation built on Sept. 19, 2023, 9:06 a.m.