R: Comparing the results of cross-validations

compare.cv {automap} | R Documentation

## Comparing the results of cross-validations

### Description

Allows comparison of the results from several outcomes of `autoKrige.cv` in both statistics and spatial plots (bubble plots).

### Usage

    compare.cv(...,
    	   col.names,
    	   bubbleplots = FALSE,
    	   zcol = "residual",
    	   layout,
    	   key.entries,
    	   reference = 1,
    	   plot.diff = FALSE,
           digits = 4,
           ggplot = FALSE,
           addPoly = NULL)

### Arguments

`...` | `autoKrige.cv` objects that are compared to each other. Also accepts the output form krige.cv, these objects are transformed to `autoKrige.cv` objects.
`col.names` | Names for the different objects in `...`. This defaults to the names of the objects in `...`.
`bubbleplots` | logical, if `TRUE` then bubble plots of the objects in `...` are drawn using the same value for the color breaks.
`zcol` | Which column in the objects in `...` is going to be drawn in the bubbleplots. Options are: `var1.pred`, `var1.var`, `observed`, `residual` and `zscore`.
`layout` | `layout` of the bubbleplot, e.g. c(2,2). The argument gives the number of rows and columns in which the set of bubbleplots is to be drawn. Useful defaults are selected.
`key.entries` | A list of numbers telling what the key entries in the bubbleplots are. See `bubble` for more details.
`reference` | An integer telling which of the objects should be taken as a reference if `plot.diff` equals TRUE. `reference` equal to 1 means that the first object is the reference, `reference` equal to 2 means that the second object is the reference etc.
`plot.diff` | logical, if `plot.diff` is TRUE the number specified in `reference` defines the CV object that is taken as a reference What is shown in the plot is reference data squared minus the other data squared. So the color red means that the CV is doing worse than the reference, vice-versa for green. This is very useful to see where the differences between the results are spatially and if there is a pattern.
`digits` | The number of significant digits in the resulting data.frame.
`ggplot` | logical, determines if spplot or ggplot2 is used to make the spatial plot of the cross-validation residuals. Note that the `plot.diff` and `reference` arguments are obsolete when `ggplot` equals TRUE.
`addPoly` | if this object contains a `SpatialPolygons*` object, it is added to the plot as layout. Note that this only works when `ggplot` equals TRUE.

### Value

A data.frame with for each cross-validation result a number of diagnostics:

`mean_error` | The mean of the cross-validation residual. Ideally small.
`me_mean` | mean error divided by the mean of the observed values, measure for how large the mean_error is in contrast to the mean of the dataset
`MSE` | Mean Squared error.
`MSNE` | Mean Squared Normalized Error, mean of the squared z-scores. Ideally small.
`cor_obspred` | Correlation between the observed and predicted values. Ideally 1.
`cor_predres` | Correlation between the predicted and the residual values. Ideally 0.
`RMSE` | Root Mean Squared Error of the residual. Ideally small.
`RMSE_sd` | RMSE divided by the standard deviation of the observed values. Provides a measure variation of the residuals vs the variation of the observed values.
`URMSE` | Unbiased Root Mean Squared Error of the residual. Ideally small.
`iqr` | Interquartile Range of the residuals. Ideally small.

### Author(s)

Paul Hiemstra, paul@numbertheory.nl

### See Also

`krige.cv`, `bubble`, `autofitVariogram`, `autoKrige.cv`,

### Examples

    # Load the data
    data(meuse)
    coordinates(meuse) = ~x+y
    data(meuse.grid)
    gridded(meuse.grid) = ~x+y

    # Perform cross-validation
    kr.cv = autoKrige.cv(log(zinc)~1, meuse, model = c("Exp"), nfold = 10)
    kr_dist.cv = autoKrige.cv(log(zinc)~sqrt(dist), meuse,
           model = c("Exp"), nfold = 10)
    kr_dist_ffreq.cv = autoKrige.cv(log(zinc)~sqrt(dist)+ffreq,
           meuse, model = c("Exp"), nfold = 10)

    # Compare the results
    compare.cv(kr.cv, kr_dist.cv, kr_dist_ffreq.cv)
    compare.cv(kr.cv, kr_dist.cv, kr_dist_ffreq.cv,
               bubbleplots = TRUE)
    compare.cv(kr.cv, kr_dist.cv, kr_dist_ffreq.cv,
               bubbleplots = TRUE, col.names = c("OK","UK1","UK2"))
    compare.cv(kr.cv, kr_dist.cv, kr_dist_ffreq.cv,
               bubbleplots = TRUE, col.names = c("OK","UK1","UK2"),
               plot.diff = TRUE)

    # I recently added a new bubble plot that uses ggplot
    # I find it preferable, note that it requires ggplot2.
    ## Not run:
    compare.cv(kr.cv, kr_dist.cv, kr_dist_ffreq.cv,
               bubbleplots = TRUE, col.names = c("OK","UK1","UK2"),
               ggplot = TRUE)

    ## End(Not run)

[Package automap version 1.0-14 Index]