cratio: Ordinal Regression with Continuation Ratios

Description Usage Arguments Details Value Warning Note Author(s) References See Also Examples

View source: R/family.categorical.R

Description

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

Usage

1
2
cratio(link = "logitlink", parallel = FALSE, reverse = FALSE, zero = NULL,
       whitespace = FALSE)

Arguments

link

Link function applied to the M continuation ratio probabilities. See Links for more choices.

parallel

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

reverse

Logical. By default, the continuation ratios used are eta_j = logit(P[Y>j|Y>=j]) for j=1,…,M. If reverse is TRUE, then eta_j=logit(P[Y<j+1|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}. The default value means none are modelled as intercept-only terms.

whitespace

See CommonVGAMffArguments for information.

Details

In this help file the response Y is assumed to be a factor with ordered values 1,2,…,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 and stopping ratios (see sratio). Stopping 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.

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.

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

Yee, T. W. (2010). The VGAM package for categorical data analysis. Journal of Statistical Software, 32, 1–34. https://www.jstatsoft.org/v32/i10/.

See Also

sratio, acat, cumulative, multinomial, margeff, pneumo, logitlink, probitlink, clogloglink, cauchitlink.

Examples

1
2
3
4
5
6
7
8
pneumo <- transform(pneumo, let = log(exposure.time))
(fit <- vglm(cbind(normal, mild, severe) ~ let,
             cratio(parallel = TRUE), data = pneumo))
coef(fit, matrix = TRUE)
constraints(fit)
predict(fit)
predict(fit, untransform = TRUE)
margeff(fit)

Example output

Loading required package: stats4
Loading required package: splines

Call:
vglm(formula = cbind(normal, mild, severe) ~ let, family = cratio(parallel = TRUE), 
    data = pneumo)


Coefficients:
(Intercept):1 (Intercept):2           let 
    -8.733797     -8.051302      2.321359 

Degrees of Freedom: 16 Total; 13 Residual
Residual deviance: 7.626763 
Log-likelihood: -26.39023 
            logit(P[Y>1|Y>=1]) logit(P[Y>2|Y>=2])
(Intercept)          -8.733797          -8.051302
let                   2.321359           2.321359
$`(Intercept)`
     [,1] [,2]
[1,]    1    0
[2,]    0    1

$let
     [,1]
[1,]    1
[2,]    1

  logit(P[Y>1|Y>=1]) logit(P[Y>2|Y>=2])
1         -4.6531774         -3.9706824
2         -2.4474398         -1.7649448
3         -1.6117442         -0.9292491
4         -1.0403809         -0.3578859
5         -0.5822388          0.1002563
6         -0.1997827          0.4827124
7          0.1538548          0.8363499
8          0.4160301          1.0985252
  P[Y>1|Y>=1] P[Y>2|Y>=2]
1 0.009441281  0.01851142
2 0.079625970  0.14617212
3 0.166346597  0.28307708
4 0.261076501  0.41147144
5 0.358417612  0.52504310
6 0.450219786  0.61838815
7 0.538388014  0.69769591
8 0.602532898  0.74998366
, , 1

                 normal        mild        severe
(Intercept)  0.08167972 -0.07878663 -0.0028930983
let         -0.02170968  0.02090961  0.0008000745

, , 2

                normal       mild      severe
(Intercept)  0.6400622 -0.4664909 -0.17357136
let         -0.1701224  0.1221861  0.04793632

, , 3

                normal       mild     severe
(Intercept)  1.2111629 -0.5965056 -0.6146573
let         -0.3219154  0.1524215  0.1694939

, , 4

                normal       mild    severe
(Intercept)  1.6848854 -0.4825758 -1.202310
let         -0.4478263  0.1167953  0.331031

, , 5

                normal        mild     severe
(Intercept)  2.0083753 -0.23426941 -1.7741059
let         -0.5338068  0.04605304  0.4877538

, , 6

                normal        mild     severe
(Intercept)  2.1618063  0.03043788 -2.1922442
let         -0.5745873 -0.02736296  0.6019503

, , 7

               normal        mild     severe
(Intercept)  2.170579  0.25808932 -2.4286681
let         -0.576919 -0.08919657  0.6661155

, , 8

                normal       mild     severe
(Intercept)  2.0916309  0.3866929 -2.4783238
let         -0.5559354 -0.1232739  0.6792092

VGAM documentation built on Jan. 16, 2021, 5:21 p.m.