cca or
redundancy analysis rda. These functions are rarely
needed directly, but they are called by step in
automatic model building. Actually, cca and
rda do not have AIC and these functions
are certainly wrong.## S3 method for class 'cca':
deviance(object, ...)## S3 method for class 'cca':
extractAIC(fit, scale = 0, k = 2, ...)
scale in step.edf) part in the AIC formula.deviance functions return ``deviance'', and
extractAIC returns effective degrees of freedom and ``AIC''.deviance and AIC in constrained
ordination. Actually, constrained ordination methods do not have a
log-Likelihood, which means that they cannot have AIC and deviance.
Therefore you should not use these functions, and if you use them, you
should not trust them. If you use these functions, it remains as your
responsibility to check the adequacy of the result. The deviance of cca is equal to the Chi-square of
the residual data matrix after fitting the constraints. The deviance
of rda is defined as the residual sum of squares. The
deviance function of rda is also used for
capscale. Function extractAIC mimics
extractAIC.lm in translating deviance to AIC.
There is little need to call these functions directly. However, they
are called implicitly in step function used in automatic
selection of constraining variables. You should check the resulting
model with some other criteria, because the statistics used here are
unfounded. In particular, the penalty k is not properly
defined, and the default k = 2 is not justified
theoretically. If you have only continuous covariates, the step
function will base the model building on magnitude of eigenvalues, and
the value of k only influences the stopping point (but the
variables with the highest eigenvalues are not necessarily the most
significant in permutation tests in anova.cca). If you
also have multi-class factors, the value of k will have a
capricious effect in model building. The step function
will pass arguments to add1.cca and
drop1.cca, and setting test = "permutation"
will provide permutation tests of each deletion and addition which
can help in judging the validity of the model building.
cca, rda, anova.cca,
step, extractAIC,
add1.cca, drop1.cca.# The deviance of correspondence analysis equals Chi-square
data(dune)
data(dune.env)
chisq.test(dune)
deviance(cca(dune))
# Stepwise selection (forward from an empty model "dune ~ 1")
ord <- cca(dune ~ ., dune.env)
step(cca(dune ~ 1, dune.env), scope = formula(ord))Run the code above in your browser using DataLab