Learn R Programming

VGAM (version 0.8-2)

AICvlm: Akaike's Information Criterion

Description

Calculates the Akaike information criterion for a fitted model object for which a log-likelihood value has been obtained.

Usage

AICvlm(object, ..., k = 2)

Arguments

object
Some VGAM object, for example, having class vglmff-class.
...
Other possible arguments fed into logLik in order to compute the log-likelihood.
k
Numeric, the penalty per parameter to be used; the default is the classical AIC.

Value

  • Returns a numeric value with the corresponding AIC (or BIC, or ..., depending on k).

Warning

This code has not been double-checked. The general applicability of AIC for the VGLM/VGAM classes has not been developed fully. In particular, AIC should not be run on some VGAM family functions because of violation of certain regularity conditions, etc.

Details

The following formula is used for VGLMs: $-2 \mbox{log-likelihood} + k n_{par}$, where $n_{par}$ represents the number of parameters in the fitted model, and $k = 2$ for the usual AIC. One could assign $k = \log(n)$ ($n$ the number of observations) for the so-called BIC or SBC (Schwarz's Bayesian criterion).

This code relies on the log-likelihood being defined, and computed, for the object. When comparing fitted objects, the smaller the AIC, the better the fit. The log-likelihood and hence the AIC is only defined up to an additive constant.

Any estimated scale parameter (in GLM parlance) is used as one parameter.

For VGAMs the nonlinear effective degrees of freedom for each smoothed component is used. This formula is heuristic.

See Also

VGLMs are described in vglm-class; VGAMs are described in vgam-class; RR-VGLMs are described in rrvglm-class; AIC.

Examples

Run this code
pneumo = transform(pneumo, let=log(exposure.time))
(fit1 <- vglm(cbind(normal, mild, severe) ~ let,
              cumulative(parallel=TRUE, reverse=TRUE), pneumo))
coef(fit1, matrix=TRUE)
AIC(fit1)
(fit2 <- vglm(cbind(normal, mild, severe) ~ let,
              cumulative(parallel=FALSE, reverse=TRUE), pneumo))
coef(fit2, matrix=TRUE)
AIC(fit2)

Run the code above in your browser using DataLab