acat: Ordinal Regression with Adjacent Categories Probabilities In VGAM: Vector Generalized Linear and Additive Models

Description

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

Usage

 ```1 2``` ```acat(link = "loglink", parallel = FALSE, reverse = FALSE, zero = NULL, 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,…,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}. `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.

By default, the log link is used because the ratio of two probabilities is positive.

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.

Thomas W. Yee

References

Agresti, A. (2013). Categorical Data Analysis, 3rd ed. Hoboken, NJ, USA: Wiley.
Simonoff, J. S. (2003). Analyzing Categorical Data, New York: Springer-Verlag.
Yee, T. W. (2010). The VGAM package for categorical data analysis. Journal of Statistical Software, 32, 1–34. https://www.jstatsoft.org/v32/i10/.

`cumulative`, `cratio`, `sratio`, `multinomial`, `margeff`, `pneumo`.

Examples

 ```1 2 3 4 5``` ```pneumo <- transform(pneumo, let = log(exposure.time)) (fit <- vglm(cbind(normal, mild, severe) ~ let, acat, data = pneumo)) coef(fit, matrix = TRUE) constraints(fit) model.matrix(fit) ```

Example output

```Loading required package: stats4

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

Coefficients:
(Intercept):1 (Intercept):2         let:1         let:2
-8.9360297    -3.0390622     2.1653729     0.9020936

Degrees of Freedom: 16 Total; 12 Residual
Residual deviance: 5.347382
Log-likelihood: -25.25054

This is an adjacent categories model with 3 levels
loge(P[Y=2]/P[Y=1]) loge(P[Y=3]/P[Y=2])
(Intercept)           -8.936030          -3.0390622
let                    2.165373           0.9020936
\$`(Intercept)`
[,1] [,2]
[1,]    1    0
[2,]    0    1

\$let
[,1] [,2]
[1,]    1    0
[2,]    0    1

(Intercept):1 (Intercept):2    let:1    let:2
1:1             1             0 1.757858 0.000000
1:2             0             1 0.000000 1.757858
2:1             1             0 2.708050 0.000000
2:2             0             1 0.000000 2.708050
3:1             1             0 3.068053 0.000000
3:2             0             1 0.000000 3.068053
4:1             1             0 3.314186 0.000000
4:2             0             1 0.000000 3.314186
5:1             1             0 3.511545 0.000000
5:2             0             1 0.000000 3.511545
6:1             1             0 3.676301 0.000000
6:2             0             1 0.000000 3.676301
7:1             1             0 3.828641 0.000000
7:2             0             1 0.000000 3.828641
8:1             1             0 3.941582 0.000000
8:2             0             1 0.000000 3.941582
attr(,"assign")
attr(,"assign")\$`(Intercept)`
[1] 1 2

attr(,"assign")\$let
[1] 3 4

attr(,"vassign")
attr(,"vassign")\$`(Intercept):1`
[1] 1

attr(,"vassign")\$`(Intercept):2`
[1] 2

attr(,"vassign")\$`let:1`
[1] 3

attr(,"vassign")\$`let:2`
[1] 4

attr(,"constraints")
attr(,"constraints")\$`(Intercept)`
[,1] [,2]
[1,]    1    0
[2,]    0    1

attr(,"constraints")\$let
[,1] [,2]
[1,]    1    0
[2,]    0    1
```

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