Calculates the Bayesian information criterion (BIC) for a fitted model object for which a log-likelihood value has been obtained.
BICvlm(object, …, k = log(nobs(object)))
Same as AICvlm
.
Numeric, the penalty per parameter to be used;
the default is log(n)
where
n
is the number of observations).
Returns a numeric value with the corresponding BIC, or …,
depending on k
.
Like AICvlm
, this code has not been double-checked.
The general applicability of BIC
for the VGLM/VGAM classes
has not been developed fully.
In particular, BIC
should not be run on some VGAM family
functions because of violation of certain regularity conditions, etc.
Many VGAM family functions such as
cumulative
can have the number of
observations absorbed into the prior weights argument
(e.g., weights
in vglm
), either
before or after fitting. Almost all VGAM family
functions can have the number of observations defined by
the weights
argument, e.g., as an observed frequency.
BIC
simply uses the number of rows of the model matrix, say,
as defining n
, hence the user must be very careful
of this possible error.
Use at your own risk!!
The so-called BIC or SBC (Schwarz's Bayesian criterion)
can be computed by calling AICvlm
with a
different k
argument.
See AICvlm
for information and caveats.
AICvlm
,
VGLMs are described in vglm-class
;
VGAMs are described in vgam-class
;
RR-VGLMs are described in rrvglm-class
;
BIC
,
AIC
.
# NOT RUN {
pneumo <- transform(pneumo, let = log(exposure.time))
(fit1 <- vglm(cbind(normal, mild, severe) ~ let,
cumulative(parallel = TRUE, reverse = TRUE), data = pneumo))
coef(fit1, matrix = TRUE)
BIC(fit1)
(fit2 <- vglm(cbind(normal, mild, severe) ~ let,
cumulative(parallel = FALSE, reverse = TRUE), data = pneumo))
coef(fit2, matrix = TRUE)
BIC(fit2)
# }
Run the code above in your browser using DataLab