Learn R Programming

ecospat (version 3.3)

ecospat.cv.glm: GLM Cross Validation

Description

K-fold and leave-one-out cross validation for GLM.

Usage

ecospat.cv.glm (glm.obj, K=10, cv.lim=10, jack.knife = FALSE, verbose = FALSE)

Value

Returns a dataframe with the observations (obs) and the corresponding predictions by cross-validation or jacknife.

Arguments

glm.obj

Any calibrated GLM object with a binomial error distribution.

K

Number of folds. 10 is recommended; 5 for small data sets.

cv.lim

Minimum number of presences required to perform the K-fold cross-validation.

jack.knife

If TRUE, then the leave-one-out / jacknife cross-validation is performed instead of the 10-fold cross-validation.

verbose

Boolean indicating whether to print progress output during calculation. Default is FALSE.

Author

Christophe Randin christophe.randin@unibas.ch and Antoine Guisan antoine.guisan@unil.ch

Details

This function takes a calibrated GLM object with a binomial error distribution and returns predictions from a stratified 10-fold cross-validation or a leave-one-out / jack-knived cross-validation. Stratified means that the original prevalence of the presences and absences in the full dataset is conserved in each fold.

References

Randin, C.F., T. Dirnbock, S. Dullinger, N.E. Zimmermann, M. Zappa and A. Guisan. 2006. Are niche-based species distribution models transferable in space? Journal of Biogeography, 33, 1689-1703.

Pearman, P.B., C.F. Randin, O. Broennimann, P. Vittoz, W.O. van der Knaap, R. Engler, G. Le Lay, N.E. Zimmermann and A. Guisan. 2008. Prediction of plant species distributions across six millennia. Ecology Letters, 11, 357-369.

Examples

Run this code
# \donttest{

if(require("rms",quietly=TRUE)){
  data('ecospat.testData')

  # data for Soldanella alpina
  data.Solalp<- ecospat.testData[c("Soldanella_alpina","ddeg","mind","srad","slp","topo")] 

  # gbm model for Soldanella alpina

  glm.Solalp <- glm(Soldanella_alpina ~ pol(ddeg,2) + pol(mind,2) + pol(srad,2) + pol(slp,2) 
      + pol(topo,2), data = data.Solalp, family = binomial)

  # cross-validated predictions
  glm.pred <- ecospat.cv.glm (glm.obj=glm.Solalp , K=10, cv.lim=10, jack.knife=FALSE)
}
# }

Run the code above in your browser using DataLab