ortho.AIC | R Documentation |
This function is now deprecated. Please try the new mem.select
function.
ortho.AIC(Y, X, ord.var = FALSE)
Y |
A matrix with response variables (univariate or multivariate response) |
X |
A set of orthonormal and centered vectors |
ord.var |
A logical value indicating if the order of variables and cumulative R2 must be returned |
This function compute corrected AIC for models with orthonormal and centered explanatory variables such as MEM spatial eigenfunctions. Variables are sorted by their contribution to R2.
It ensures that a model with k variables is the best one that can be obtained. By default, response variables are centered (model with intercept).
A vector with corrected AIC if ord.var=FALSE
. A list if
ord.var=TRUE
with:
AICc |
Values of corrected AIC. |
AICc0 |
Values of corrected AIC for the null model (only intercept). |
ord |
Order of variables to be enter in the model |
R2 |
Cumulative R2 |
Stéphane Dray stephane.dray@univ-lyon1.fr
Godinez-Dominguez E. and Freire J. (2003) Information-theoretic approach for selection of spatial and temporal models of community organization. Marine Ecology - Progress Series. 253, 17–24
y <- matrix(rnorm(50),50,1)
x <- svd(scale(y %*% c(0.1,0.5,2,0,0.7)+matrix(rnorm(250),50,5)))$u
res <- ortho.AIC(y,x,ord.var=TRUE)
minAIC <- which.min(res$AICc)
nvar <- length(1:minAIC)+1 # number of orthogonal vectors + 1 for intercept
lm1 <- lm(y~x[,res$ord[1:minAIC]])
summary(lm1)$r.squared # R2
res$R2[minAIC] # the same
min(res$AICc) # corrected AIC
extractAIC(lm1) # classical AIC
min(res$AICc)-2*(nvar*(nvar+1))/(nrow(x)-nvar-1) # the same
lm2 <- lm(y~1)
res$AICc0 # corrected AIC for the null model
extractAIC(lm2) # classical AIC
res$AICc0-2*(1*(1+1))/(nrow(x)-1-1) # the same
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.