sratio: Ordinal Regression with Stopping Ratios

View source: R/family.categorical.R

sratioR Documentation

Ordinal Regression with Stopping Ratios

Description

Fits a stopping ratio logit/probit/cloglog/cauchit/... regression model to an ordered (preferably) factor response.

Usage

sratio(link = "logitlink", 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 M stopping ratio probabilities. See Links for more choices.

parallel

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

reverse

Logical. By default, the stopping ratios used are \eta_j = logit(P[Y=j|Y \geq j]) for j=1,\dots,M. If reverse is TRUE, then \eta_j = logit(P[Y=j+1|Y \leq j+1]) will be used.

zero

Can be an integer-valued vector specifying which linear/additive predictors are modelled as intercepts only. The values must be from the set {1,2,...,M}. The default value means none are modelled as intercept-only terms. See CommonVGAMffArguments for 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,\dots,M+1, so that M is the number of linear/additive predictors \eta_j.

There are a number of definitions for the continuation ratio in the literature. To make life easier, in the VGAM package, we use continuation ratios (see cratio) and stopping ratios. Continuation ratios deal with quantities such as logitlink(P[Y>j|Y>=j]).

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.

Boersch-Supan (2021) considers a sparse data set (called budworm) and the numerical problems encountered when fitting models such as cratio, sratio, cumulative. Although improvements to links such as clogloglink have been made, currently these family functions have not been properly adapted to handle sparse data as well as they could.

Note

The response should be either a matrix of counts (with row sums that are all positive), or a 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.

Boersch-Supan, P. H. (2021). Modeling insect phenology using ordinal regression and continuation ratio models. ReScience C, 7.1, 1–14. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.18637/jss.v032.i10")}.

McCullagh, P. and Nelder, J. A. (1989). Generalized Linear Models, 2nd ed. London: Chapman & Hall.

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

cratio, acat, cumulative, multinomial, margeff, pneumo, budworm, logitlink, probitlink, clogloglink, cauchitlink.

Examples

pneumo <- transform(pneumo, let = log(exposure.time))
(fit <- vglm(cbind(normal, mild, severe) ~ let,
             sratio(parallel = TRUE), data = pneumo))
coef(fit, matrix = TRUE)
constraints(fit)
predict(fit)
predict(fit, untransform = TRUE)

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