Multi-model inference
The package MuMIn contains functions to streamline the information-theoretic model selection and carry out model averaging based on information criteria.
The collection of functions includes:
dredge
performs an automated model selection with subsets of the supplied ‘global’ model, and optional choices of other model properties (such as different link functions). The set of models may be generated either with ‘all possible’ combinations or tailored according to the conditions specified.
pdredge
does the same, but can parallelize model fitting
process using a cluster.
model.sel
creates a model selection table from hand-picked models.
model.avg
calculates model-averaged parameters,
with standard errors and confidence intervals.
Furthermore, the predict
method
produces model-averaged predictions.
AICc
calculates second-order Akaike information criterion. Some other criteria are provided, see below.
stdize
, stdizeFit
, std.coef
,
partial.sd
can be used for standardization of data and model coefficients by Standard Deviation or Partial Standard Deviation.
For a complete list of functions, use library(help = "MuMIn")
.
By default, AICc is used to rank the models and to obtain model
weights, though any other information criteria can be utilised. At least the
following ones are currently implemented in R:
AIC
and BIC
in package stats, and
QAIC
, QAICc
, ICOMP
,
CAICF
, and Mallows' Cp in MuMIn. There is also
DIC
extractor for MCMC models, and QIC
for
GEE.
Most of R's common modelling functions are supported, for a full inventory see the list of supported models.
Apart from the “regular” information criteria, model averaging can be performed
using various types of model weighting algorithms:
Bates-Granger,
bootstrapped,
cos-squared,
jackknife,
stacking, or
ARM.
These weighting functions apply mostly to glm
s.
Kamil Bartoń
Burnham, K. P. and Anderson, D. R (2002) Model selection and multimodel inference: a practical information-theoretic approach. 2nd ed. New York, Springer-Verlag.
options(na.action = "na.fail") # change the default "na.omit" to prevent models # from being fitted to different datasets in # case of missing values. fm1 <- lm(y ~ ., data = Cement) ms1 <- dredge(fm1) # Visualize the model selection table: par(mar = c(3,5,6,4)) plot(ms1, labAsExpr = TRUE) model.avg(ms1, subset = delta < 4) confset.95p <- get.models(ms1, cumsum(weight) <= .95) avgmod.95p <- model.avg(confset.95p) summary(avgmod.95p) confint(avgmod.95p)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.