calc.aicc: Calculate AICc from Maxent model prediction

Description Usage Arguments Details Value Note Author(s) References See Also

View source: R/calc.aicc.R


This function calculates AICc for Maxent models based on Warren and Seifert (2011).


calc.aicc(nparam, occ, predictive.maps)




The number of parameters in a model calculated with the get.params function.


A data.frame of occurrence localities.


A raster layer or RasterStack of predicted model surface(s).


A Maxent model object generated by the maxent function in the dismo package.


As motivated by Warren and Seifert (2011) and implemented in ENMTools (Warren et al. 2010), this function calculates the small sample size version of Akaike Information Criterion for ENMs (Akaike 1974). We use AICc (instead of AIC) regardless of sample size based on the recommendation of Burnham and Anderson (1998, 2004). The number of parameters is determined by counting the number of non-zero parameters in the maxent lambda file. See Warren et al. (2014) for limitations of this approach, namely that the number of parameters is an estimate of the true degrees of freedom. For Maxent ENMs, AICc is calculated by standardizing the raw output such that all cells in the study extent sum to 1. The likelihood of the data for a given model is then calculated by taking the product of the raw output values for all grid cells that contain an occurrence locality (Warren and Seifert 2011).


A data.frame with four columns:

AICc is the Akaike Information Criterion corrected for small sample sizes calculated as:

(2 * K - 2 * logLikelihood) + (2 * K) * (K+1) / (n - K - 1)

where K is the number of parameters in the model (i.e., number of non-zero parameters in Maxent lambda file) and n is the number of occurrence localities. The logLikelihood is calculated as:

sum(log(vals / total))

where vals is a vector of Maxent raw values at occurrence localities and total is the sum of Maxent raw values across the entire study area.

delta.AICc is the difference between the AICc of a given model and the AICc of the model with the lowest AICc.

w.AICc is the Akaike weight (calculated as the relative likelihood of a model (exp(-0.5 * delta.AICc)) divided by the sum of the likelihood values of all models included in a run. These can be used for model averaging (Burnham and Anderson 2002).

nparam is the number of parameters in a Maxent model (number of non-zero parameters in the lambda file) and is used internally during a call of calc.aicc by get.params.


Returns all NAs if the number of parameters is larger than the number of observations (occurrence localities).

This function could produce erroneous results in version 0.1.0. when calculating AICc on multiple models simultaneously. This problem has been addressed in version 0.1.1.


Robert Muscarella <> and Jamie M. Kass <>


Akaike, H. (1974) A new look at the statistical model identification. IEEE Transactions on Automatic Control, 19: 716-723.

Burnham, K. P. and Anderson, D. R. (1998) Model selection and multimodel inference: a practical information-theoretic approach. Springer, New York.

Burnham, K. P. and Anderson, D. R. (2004) Multimodel inference: understanding AIC and BIC in model selection. Sociological Methods and Research, 33: 261-304.

Warren, D. L., Glor, R. E, and Turelli, M. (2010) ENMTools: a toolbox for comparative studies of environmental niche models. Ecography, 33: 607-611.

Warren, D. L. and Seifert, S. N. (2011) Ecological niche modeling in Maxent: the importance of model complexity and the performance of model selection criteria. Ecological Applications, 21: 335-342.

Warren, D. L., Wright, A. N., Seifert, S. N., and Shaffer, H. B. (2014) Incorporating model complexity and sampling bias into ecological niche models of climate change risks faced by 90 California vertebrate species of concern. Diversity and Distributions, 20: 334-343.

See Also

maxent in the dismo package.

ENMeval documentation built on Jan. 13, 2021, 8:08 p.m.