ICtab
Compute table of information criteria and auxiliary info
Computes information criteria for a series of models, optionally giving information about weights, differences between ICs, etc.
- Keywords
- misc
Usage
ICtab(…, type=c("AIC","BIC","AICc","qAIC","qAICc"),
weights = FALSE, delta = TRUE, base = FALSE,
logLik=FALSE, sort = TRUE,
nobs=NULL, dispersion = 1, mnames, k = 2)
AICtab(…,mnames)
BICtab(…,mnames)
AICctab(…,mnames)
# S3 method for ICtab
print(x,…,min.weight)
Arguments
- …
a list of (logLik or?) mle objects; in the case of
AICtab
etc., could also include other arguments toICtab
- type
specify information criterion to use
- base
(logical) include base IC (and log-likelihood) values?
- weights
(logical) compute IC weights?
- logLik
(logical) include log-likelihoods in the table?
- delta
(logical) compute differences among ICs (and log-likelihoods)?
- sort
(logical) sort ICs in increasing order?
- nobs
(integer) number of observations: required for
type="BIC"
ortype="AICc"
unless objects have anobs
method- dispersion
overdispersion estimate, for computing qAIC: required for
type="qAIC"
ortype="qAICc"
unless objects have a"dispersion"
attribute- mnames
names for table rows: defaults to names of objects passed
- k
penalty term (largely unused: left at default of 2)
- x
an ICtab object
- min.weight
minimum weight for exact reporting (smaller values will be reported as "<[min.weight]")
Value
A data frame containing:
information criterion
degrees of freedom/number of parameters
difference in IC from minimum-IC model
exp(-dIC/2)/sum(exp(-dIC/2))
Note
(1) The print method uses sensible defaults; all ICs are rounded
to the nearest 0.1, and IC weights are printed using
format.pval
to print an inequality for
values <0.001. (2) The computation of degrees of freedom/number of
parameters (e.g., whether
variance parameters are included in the total) varies enormously
between packages. As long as the df computations
for a given set of models is consistent, differences
don't matter, but one needs to be careful with log likelihoods
and models taken from different packages. If necessary
one can change the degrees of freedom manually by
saying attr(obj,"df") <- df.new
, where df.new
is the desired number of parameters.
(3) Defaults have changed to sort=TRUE
, base=FALSE
,
delta=TRUE
, to match my conviction that it rarely makes
sense to report the overall values of information criteria
References
Burnham and Anderson 2002
Examples
# NOT RUN {
set.seed(101)
d <- data.frame(x=1:20,y=rpois(20,lambda=2))
m0 <- glm(y~1,data=d)
m1 <- update(m0,.~x)
m2 <- update(m0,.~poly(x,2))
AICtab(m0,m1,m2,mnames=LETTERS[1:3])
AICtab(m0,m1,m2,base=TRUE,logLik=TRUE)
AICtab(m0,m1,m2,logLik=TRUE)
AICctab(m0,m1,m2,weights=TRUE)
print(AICctab(m0,m1,m2,weights=TRUE),min.weight=0.1)
# }