Implements spatial error estimation and permutation-based variable importance measures for predictive models using spatial cross-validation and spatial block bootstrap.
The main functions of
sperrorest have been integrated into mlr. Review is still ongoing. Once it is available in the CRAN version of
mlr we will let you know. There will be no active development of
sperrorest anymore. We recommend to use
mlr for all future (spatial) cross-validation work. We will provide an tutorial for spatial data in the mlr-tutorial soon.
|Platforms:||Multiple||Linux & macOS||Windows|
|R CMD check|
Spatial Error Estimation and Variable Importance
This package implements spatial error estimation and permutation-based spatial variable importance using different spatial cross-validation and spatial block bootstrap methods. To cite
sperrorest in publications, reference the paper by Brenning (2012). To see the package in action, please check the vignette.
Get the released version from CRAN:
Or the development version from Github:
Brenning, A. 2005. “Spatial Prediction Models for Landslide Hazards: Review, Comparison and Evaluation.” Natural Hazards and Earth System Science 5 (6). Copernicus GmbH: 853–62. doi:10.5194/nhess-5-853-2005.
———. 2012. “Spatial Cross-Validation and Bootstrap for the Assessment of Prediction Rules in Remote Sensing: The R Package Sperrorest.” In 2012 IEEE International Geoscience and Remote Sensing Symposium, 5372–5. doi:10.1109/IGARSS.2012.6352393.
Russ, Georg, and Alexander Brenning. 2010a. “Data Mining in Precision Agriculture: Management of Spatial Information.” In Computational Intelligence for Knowledge-Based Systems Design: 13th International Conference on Information Processingand Management of Uncertainty, IPMU 2010, Dortmund, Germany, June 28 - July 2, 2010. Proceedings, edited by Eyke Hüllermeier, Rudolf Kruse, and Frank Hoffmann, 350–59. Berlin, Heidelberg: Springer Berlin Heidelberg. doi:10.1007/978-3-642-14049-5_36.
———. 2010b. “Spatial Variable Importance Assessment for Yield Prediction in Precision Agriculture.” In Lecture Notes in Computer Science, 184–95. Springer Science + Business Media. doi:10.1007/978-3-642-13062-5_18.
test_funare now handled correctly and eventual sub-sampling is correctly reflected to the resulting 'resampling' object
NAand a message is printed to the console.
sperrorest()will continue normally and uses the successful folds to calculate the repetition error. This helps to run CV with many repetitions using models which do not always converge like
ecuadorhas been adjusted to avoid exact duplicates of partitions when using
sperrorest()now runs in parallel using all available cores.
runreps()are now doing the heavy lifting in the background. All modes are now running on the same code base. Before, all parallel modes were running on different code implementations.
pbmclapply()on Unix and
multicore, etc.). Default option to
cluster. This is also the overall default mode for
sequential: sequential execution using
sperrorest(). Specifying a range like
repetition = 1:10will also stay valid.
sperrorest::parallel-modescomparing the various parallel modes.
sperrorest::custom-pred-and-model-functionsexplaining why and how custom defined model and predict functions are needed for some model setups.
do_tryargument has been removed.
err.trainarguments have been removed because they are all calculated by default now.
sperroresterrored during the predict step when this case occured. Now, this is accounted for and an informative message is given.
parsperrorest(): This function lets you exexute
sperrorest() in parallel. It includes two modes (
par.mode = 1 and
par.mode = 2) which use different parallelization approaches in the background. See
?parsperrorest() for more details.
partition.factor.cv(): This resampling method enables partitioning based
on a given factor variable. This can be used, for example, to resample
agricultural data, that is grouped by fields, at the agricultural field level
in order to preserve spatial autocorrelation within fields.
benchmark item to returned object giving information about execution time, used cores and other system details.
Changes to functions:
sperrorest(): Change argument naming.
err.unpooled is now
err.pooled is now
parsperrorest(): Change order and naming of returned object
sperrorestlist is now ordered as follows:
add package NEWS
add package vignette ->
vignette("sperrorest-vignette", package = "sperrorest")
package is now ByteCompiled
Github repo of
sperrorest now at