deviance.cca {vegan}R Documentation

Statistics Resembling Deviance and AIC for Constrained Ordination


The functions extract statistics that resemble deviance and AIC from the result of constrained correspondence analysis 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, ...)


object the result of a constrained ordination (cca or rda).
fit fitted model from constrained ordination.
scale optional numeric specifying the scale parameter of the model, see scale in step.
k numeric specifying the "weight" of the equivalent degrees of freedom (=:edf) part in the AIC formula.
... further arguments.


The functions find statistics that resemble 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.


The deviance functions return ``deviance'', and extractAIC returns effective degrees of freedom and ``AIC''.


These functions are unfounded and untested and they should not be used directly or implicitly. Moreover, usual caveats in using step are very valid.


Jari Oksanen


Godínez-Domínguez, E. & Freire, J. (2003) Information-theoretic approach for selection of spatial and temporal models of community organization. Marine Ecology Progress Series 253, 17–24.

See Also

cca, rda, anova.cca, step, extractAIC, add1.cca, drop1.cca.


# The deviance of correspondence analysis equals Chi-square
# Backward elimination from a complete model "dune ~ ."
ord <- cca(dune ~ ., dune.env)
# Stepwise selection (forward from an empty model "dune ~ 1")
step(cca(dune ~ 1, dune.env), scope = formula(ord))
# ANOVA: added variable + the first left out
anova(cca(dune ~ Moisture + Management, dune.env), permut=200,
      by = "terms")

[Package vegan version 1.16-32 Index]