From 9e4f08505cd518567b682d8edb41c35ec88d4ab1 Mon Sep 17 00:00:00 2001 From: Raimon Tolosana-Delgado <tolosa53@fwg206.ad.fz-rossendorf.de> Date: Wed, 14 Jul 2021 15:42:07 +0200 Subject: [PATCH] gmGeostats 0.10.7.9006 --- .Rbuildignore | 1 + DESCRIPTION | 2 +- NAMESPACE | 8 +- NEWS.md | 7 + R/accuracy.R | 59 ++++- R/gmSpatialModel.R | 282 +++++++++++++--------- R/grids.R | 4 +- R/gstatCompatibility.R | 40 ++- README.Rmd | 21 +- README.md | 50 ++-- man/figures/README-structural-1.png | Bin 58262 -> 67070 bytes vignettes/gmGeostats.Rmd | 20 +- vignettes/register_new_layer_datatype.Rmd | 159 ++++++++++++ 13 files changed, 500 insertions(+), 153 deletions(-) create mode 100644 vignettes/register_new_layer_datatype.Rmd diff --git a/.Rbuildignore b/.Rbuildignore index 19be397..f0a1a18 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -13,3 +13,4 @@ svn ^cran-comments\.md$ jurapred ^README\.Rmd$ +^.*\.vscode$ diff --git a/DESCRIPTION b/DESCRIPTION index a2f6fde..3a9b161 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: gmGeostats -Version: 0.10-7.9005 +Version: 0.10-7.9006 Date: 2020-10-05 Title: Geostatistics for Compositional Analysis Authors@R: c(person(given = "Raimon", diff --git a/NAMESPACE b/NAMESPACE index 9827121..1268eb1 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -99,10 +99,7 @@ S3method(plot,gmEVario) S3method(plot,logratioVariogramAnisotropy) S3method(plot,swarmPlot) S3method(precision,accuracy) -S3method(predict,LMCAnisCompo) -S3method(predict,genDiag) S3method(predict,gmCgram) -S3method(predict,gmSpatialModel) S3method(print,mask) S3method(setMask,DataFrameStack) S3method(setMask,GridTopology) @@ -134,6 +131,7 @@ S3method(variogramModelPlot,gstatVariogram) S3method(variogramModelPlot,logratioVariogram) S3method(xvErrorMeasures,DataFrameStack) S3method(xvErrorMeasures,data.frame) +S3method(xvErrorMeasures,default) export("stackDim<-") export(CholeskyDecomposition) export(DSpars) @@ -194,6 +192,9 @@ export(noSpatCorr.test) export(noStackDim) export(pairsmap) export(precision) +export(predict) +export(predict.LMCAnisCompo) +export(predict.genDiag) export(pwlrmap) export(setCgram) export(setGridOrder) @@ -233,6 +234,7 @@ exportClasses(gmUnconditionalSpatialModel) exportClasses(gmValidationStrategy) exportMethods(as.gstat) exportMethods(logratioVariogram) +exportMethods(predict) exportMethods(stackDim) exportMethods(variogram) import(RColorBrewer) diff --git a/NEWS.md b/NEWS.md index ffb8bde..acbde3e 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,10 @@ +# gmGeostats 0.10.7.9006 + +* new vignette "How to register new layer datatypes", with a howto adapt gmGeostats to deal with your very special data type (with an example for regionalized circular data) +* (2021-07-06) new option to extract univariate accuracy() from multivariate kriging results +* NEWS.md and vignettes/gmGeostats.Rmd polished +* "predict"-methods for objects of class gmSpatialModel now programmed with multiple dispatching, to enable further extensions + # gmGeostats 0.10.7.9005 * (2021-06-30) bugs in xvErrorMeasures() for simulated data corrected diff --git a/R/accuracy.R b/R/accuracy.R index 2727592..742265a 100644 --- a/R/accuracy.R +++ b/R/accuracy.R @@ -72,12 +72,27 @@ accuracy <- function(x,...) UseMethod("accuracy", x) #' c("simulation", "mahalanobis", "flow") for `x` of class [DataFrameStack()]. #' @param outMahalanobis if TRUE, do not do the final accuracy calculations and return the Mahalanobis #' norms of the residuals; if FALSE do the accuracy calculations +#' @param ivar if `method`="kriging" or "cokriging" you can also specify here one single variable name +#' to consider for univariate accuracy; this variable name must exist both in `x` +#' (including "pred" and "var" prefixes or suffixes in the column names) and in `observed`; +#' this might require renaming the columns of these files! #' @export accuracy.data.frame <- function(x, observed=x$observed, prob = seq(from=0, to=1, by=0.05), - method="kriging", outMahalanobis=FALSE, ...){ + method="kriging", outMahalanobis=FALSE, + ivar, ...){ methods = c("kriging", "cokriging", "simulation") mm = methods[pmatch(method, methods)] + if(!missing(ivar)){ + iTrue = grep(ivar, colnames(observed)) + iPred = intersect(grep(ivar, colnames(x)), grep("pred", colnames(x))) + iVar = intersect(grep(ivar, colnames(x)), grep("var", colnames(x))) + if(any(sapply(list(iTrue, iPred, iVar), length)!=1)) + stop("accuracy: univariate case by specifying an `ivar` requires the named variable to occur ONCE in `observed` and once in `x`, here prefixed or suffixed with `pred` and `var` to identify kriging predictions and variances") + mm = "kriging" + observed = observed[,iTrue] + x = x[, c(iPred, iVar)] + } if(mm=="kriging"){ mynorms = xvErrorMeasures(x, observed=observed, output = "Mahalanobis", univariate=TRUE) D = 1 @@ -121,11 +136,11 @@ accuracy.data.frame <- function(x, observed=x$observed, #' @describeIn accuracy Compute accuracy and precision -#' @param vars in multivariate cases, a vector of names of the variables to analyse +#' @param ivars in multivariate cases, a vector of names of the variables to analyse (or one single variable name) #' @method accuracy DataFrameStack #' @export accuracy.DataFrameStack <- function(x, observed, - vars = intersect(colnames(observed), dimnames(x)[[noStackDim(x)]]), + ivars = intersect(colnames(observed), dimnames(x)[[noStackDim(x)]]), prob = seq(from=0, to=1, by=0.05), method = ifelse(length(vars)==1, "simulation", "Mahalanobis"), outMahalanobis=FALSE, ...){ @@ -146,8 +161,8 @@ accuracy.DataFrameStack <- function(x, observed, if(nrow(x)!=length(observed)) if(nrow(x)!=nrow(observed)) stop("accuracy: dimensions of x and observed do not match") - sims = as.matrix(gmApply(x, FUN=function(xx)xx[,vars])) - res = sapply(1:nrow(sims), function(i) oneAcc.sim(sims[i,], observed[i, vars])) + sims = as.matrix(gmApply(x, FUN=function(xx)xx[,ivars, drop=FALSE])) + res = sapply(1:nrow(sims), function(i) oneAcc.sim(sims[i,], observed[i, ivars, drop=FALSE])) aa = outer(res, prob, "<=") a = colMeans(aa) erg = data.frame(p=prob, accuracy=a) @@ -157,8 +172,8 @@ accuracy.DataFrameStack <- function(x, observed, sim_array = as.array(x) permidx = c(ifelse(is.numeric(stackDim(x)),1,names(dimnames(x))[1]),stackDim(x),noStackDim(x)) sim_array = aperm(sim_array, perm = permidx) - sim_array = sim_array[,,vars] - observed = as.matrix(unclass(observed)[,vars]) + sim_array = sim_array[,,ivars, drop=FALSE] + observed = as.matrix(unclass(observed)[,ivars, drop=FALSE]) N = dim(sim_array)[1] S = dim(sim_array)[stackDim(x)] D = dim(sim_array)[noStackDim(x)] @@ -305,6 +320,36 @@ plot.accuracy <- function(x, xlim=c(0,1), ylim=c(0,1), xaxs="i", yaxs="i", type= xvErrorMeasures <- function(x,...) UseMethod("xvErrorMeasures", x) + +#' Cross-validation errror measures +#' +#' Compute one or more error measures from cross-validation output +#' +#' @param x a vector containing the predicted values +#' @param krigVar a vector containing the kriging variances +#' @param observed a vector containing the true values +#' @param output which output do you want? a vector of one or several of c("ME","MSE","MSDR","Mahalanobis") +#' +#' @return +#' +#' @export +#' @method xvErrorMeasures default +#' @family accuracy functions +xvErrorMeasures.default <- function(x, krigVar, observed, output="MSDR1"){ + if(length(output)>1) + return(sapply(output, function(o) xvErrorMeasures(x, krigVar, observed, output=o))) + + outputs = c("ME","MSE","MSDR","MSDR1","MSDR2","Mahalanobis") + output = outputs[pmatch(output, outputs, duplicates.ok = TRUE)] + + resids = x - observed + mynorms = resids^2/krigVar + if(output=="ME") return(mean(resids, na.rm=TRUE)) + if(output=="MSE") return(mean(resids^2, na.rm=TRUE)) + if(output=="MSDR") return(mean(mynorms, na.rm=TRUE)) + if(output=="Mahalanobis") return(mynorms) +} + #' Cross-validation errror measures #' #' Compute one or more error measures from cross-validation output diff --git a/R/gmSpatialModel.R b/R/gmSpatialModel.R index a2719be..c489ab1 100644 --- a/R/gmSpatialModel.R +++ b/R/gmSpatialModel.R @@ -286,10 +286,10 @@ as.gstat.gmSpatialModel <- function(object, ...){ # data elements coords = sp::coordinates(object) X = compositions::rmult(object@data, V= gsi.getV(object@data), orig=gsi.orig(object@data)) - compo = backtransform(X) V = gsi.getV(X) if(!is.null(V)){ # compositional case + compo = backtransform(X) Vinv = t(gsiInv(V)) prefix = sub("1","",colnames(V)[1]) if(is.null(prefix) | length(prefix)==0) prefix = sub("1","",colnames(object@data)[1]) @@ -313,7 +313,16 @@ as.gstat.gmSpatialModel <- function(object, ...){ return(res) }else{ # non-compositional case - + prefix = sub("1","",colnames(V)[1]) + vgLMC <- object@model@structure + formulaterm = paste(as.character(object@model@formula), collapse="") + beta = object@model@beta + if(any(is.infinite(beta))) beta = NULL + # neighbourhood + ng = object@parameters + res = rmult2gstat(coords=coords, data=X, V=V, vgLMC=vgLMC, + nscore=FALSE, formulaterm = formulaterm, prefix=prefix, beta=beta, + nmax=ng$nmax, nmin=ng$nmin, omax=ng$omax, maxdist=ng$maxdist, force=ng$force) } } @@ -356,7 +365,8 @@ as.gmSpatialModel.gstat = function(object, V=NULL, ...){ #' @param newdata a collection of locations where a prediction/simulation is desired; this is typically #' a [sp::SpatialPoints()], a data.frame or similar of X-Y(-Z) coordinates; or perhaps for gridded data #' an object of class [sp::GridTopology()], [sp::SpatialGrid()] or [sp::SpatialPixels()] -#' @param pars parameters describing the method to use, *encloded in an object of appropriate class* (see below) +#' @param pars parameters describing the method to use, *enclosed in an object of appropriate class* +#' (according to the method; see below) #' @param ... further parameters for generic functionality, currently ignored #' #' @return Depending on the nature of `newdata`, the result will be a data container of the same kind, @@ -383,114 +393,168 @@ as.gmSpatialModel.gstat = function(object, V=NULL, ...){ #' Conversely, to run a multipoint geostatistics algorithm, the first condition is that `object@model` contains a #' training image. Additionally, `pars` must describe the characteristics of the algorithm to use. Currently, only #' direct sampling is available: it can be obtained by providing some parameter object created with a call to -#' [DirectSamplingParameters()]. Currently it is also necessary that `newdata` is a gridded set of locations. +#' [DirectSamplingParameters()]. This method requires `newdata` to be on a gridded set of locations (acceptable +#' object classes are `sp::gridTopology`, `sp::SpatialGrid`, `sp::SpatialPixels`, `sp::SpatialPoints` or `data.frame`, +#' for the last two a forced conversion to a grid will be attempted). +#' @family gmSpatialModel +#' @name predict_gmSpatialModel +NULL + +#' @rdname predict_gmSpatialModel #' @export -#' @family gmSpatialModel -predict.gmSpatialModel <- function(object, newdata=NULL, pars=object@parameters, ...){ - # deal with (co)kriging - if(is(pars, "gmNeighbourhoodSpecification")){ - cat("starting cokriging \n") - object@parameters = pars - return(predict(as.gstat(object), newdata=newdata, ...)) - } - # probe on simulation methods - if(is(pars, "gmDirectSamplingParameters")){ - cat("starting direct sampling \n") - # extract training image - gt.ti = sp::getGridTopology(object@model) - dt.ti = as(object@model,"SpatialGridDataFrame")@data - # extract newdata mask - mask = getMask(newdata) - # fuse newdata, conditioning data and mask - if(is.null(newdata)){ - gt.nw = NULL # object@grid - newdata = sp::SpatialPixelsDataFrame(points = as(object, "SpatialPoints"), data=object@data) - # tolerance = sqrt(sum(gt.nw@cellsize^2))/2 , grid=gt.nw) - }else if(is(newdata, "GridTopology")){ - gt.nw = newdata - newdata = sp::SpatialPixelsDataFrame(points = as(object, "SpatialPoints"), data=object@data, - tolerance = sqrt(sum(gt.nw@cellsize^2))/2 , grid=gt.nw) - }else if(is(newdata, "SpatialGrid")){ - gt.nw = sp::getGridTopology(newdata) - newdata = sp::SpatialPixelsDataFrame(points = as(object, "SpatialPoints"), data=object@data, - tolerance = sqrt(sum(gt.nw@cellsize^2))/2 , grid=gt.nw) - }else if(is(newdata, "SpatialPixels")){ - gt.nw = sp::getGridTopology(newdata) - cc = rbind(sp::coordinates(newdata), sp::coordinates(object)) - ### WARNING: This is how it works!! COrrect from SpatialPoints and data.frame - aux = matrix(NA, nrow=nrow(sp::coordinates(newdata)), ncol=ncol(object@data)) - colnames(aux) = colnames(object@data) - dt = rbind( aux , object@data) - newdata = sp::SpatialPixelsDataFrame(points = sp::SpatialPoints(cc), data=dt, - tolerance = sqrt(sum(gt.nw@cellsize^2))/2 , grid=gt.nw) - }else if(is(newdata, "SpatialPoints")){ - gt.nw = object@model@grid - cc = rbind(sp::coordinates(object), sp::coordinates(newdata)) - ### WARNING: NOT YET TESTED WHAT HAPPENS WITH DUPLICATE LOCATIONS!!! - aux = matrix(NA, nrow=nrow(sp::coordinates(newdata)), ncol=ncol(object@data)) - colnames(aux) = colnames(object@data) - dt = rbind( object@data, aux ) - newdata = sp::SpatialPixelsDataFrame(points = sp::SpatialPoints(cc), data=dt, - tolerance = sqrt(sum(gt.nw@cellsize^2))/2) # , grid=gt.nw) - }else if(is.data.frame(newdata)){ - gt.nw = NULL # object@grid - cc = rbind(sp::coordinates(object), newdata[,1:2]) - if( all( colnames(object@data) %in% colnames(newdata) ) ){ - aux = as.matrix(newdata[,colnames(object@data)]) - }else{ - aux = matrix(NA, nrow=nrow(sp::coordinates(newdata)), ncol=ncol(object@data)) - } - colnames(aux) = colnames(object@data) - ### WARNING: NOT YET TESTED WHAT HAPPENS WITH DUPLICATE LOCATIONS!!! - dt = rbind( object@data, aux ) - newdata = sp::SpatialPixelsDataFrame(points = sp::SpatialPoints(cc), data=dt) - # tolerance = sqrt(sum(gt.nw@cellsize^2))/2 , grid=gt.nw) - } - if(is.null(gt.nw)) gt.nw = sp::getGridTopology(newdata) - dt.nw = as(newdata,"SpatialGridDataFrame")@data - dt.ti = as(object@model,"SpatialGridDataFrame")@data - if(all(gt.nw@cellsize!=gt.ti@cellsize)) - stop("predict.gmSpatialModel with gmDirectSamplingParameters: inferred grid topologies for newdata, conditioning data and model do not coincide") - if(is.null(mask)) mask = rep(TRUE, nrow(dt.nw)) - #erg = gsi.DS4CoDa(n=pars$patternSize, f=pars$scanFraction, t=pars$gof, n_realiz=pars$nsim, - # nx_TI=gt.ti@cells.dim[1], ny_TI=gt.ti@cells.dim[2], - # nx_SimGrid= gt.nw@cells.dim[1], ny_SimGrid=gt.nw@cells.dim[2], - # TI_input=as.matrix(dt.ti), - # SimGrid_input=as.matrix(dt.nw), - # V = "I", W=gsi.getV(object@data), - # ivars_TI = colnames(dt.ti), - # SimGrid_mask = mask, - # invertMask = FALSE) - erg = gsi.DS(n=pars$patternSize, f=pars$scanFraction, t=pars$gof, n_realiz=pars$nsim, - dim_TI=gt.ti@cells.dim, dim_SimGrid=gt.nw@cells.dim, - TI_input=as.matrix(dt.ti), SimGrid_input=as.matrix(dt.nw), - ivars_TI = colnames(dt.ti), - SimGrid_mask = mask, - invertMask = FALSE) - erg = gmApply(erg, FUN=ilrInv, V=gsi.getV(object@data), orig=gsi.orig(object@data)) - erg = sp::SpatialGridDataFrame(grid = gt.nw, data=erg) - return(erg) - }else if(is(pars, "gmSequentialSimulation")){ - cat("starting SGs \n") - object@parameters = pars$ng - erg = predict(as.gstat(object), newdata=newdata, nsim=pars$nsim, debug.level=pars$debug.level, ...) - Dg = ncol(object@coords) - erg = DataFrameStack(erg[,-(1:Dg)], - dimnames=list( - loc=1:nrow(erg), sim=1:pars$nsim, - var=colnames(object@data) - ), - stackDim="sim") - attr(erg, "coords") = newdata - return(erg) - }else if(is(pars, "gmTurningBands")){ - cat("starting turning bands \n") - }else if(is(pars, "gmCholeskyDecomposition")){ - cat("starting Choleski decomposition \n") - } - -} +setGeneric("predict", function(object, newdata, pars, ...){ + standardGeneric("predict") +}) + + +#' @rdname predict_gmSpatialModel +#' @export +setMethod("predict",signature(object="gmSpatialModel", newdata="ANY", pars="missing"), + function(object, newdata, pars, ...){ + if(is.null(object$pars)) object$pars = KrigingNeighbourhood() + predict(object, newdata, pars = object$pars, ...) + } +) + +#' @rdname predict_gmSpatialModel +#' @export +setMethod("predict",signature(object="gmSpatialModel", newdata="ANY", pars="gmNeighbourhoodSpecification"), + function(object, newdata, pars, ...){ + cat("starting cokriging \n") + object@parameters = pars + out = gstat:::predict.gstat(as.gstat(object), newdata=newdata) + return(out) + } +) + + + +#' @rdname predict_gmSpatialModel +#' @export +setMethod("predict",signature(object="gmSpatialModel", newdata="ANY", pars="gmTurningBands"), + function(object, newdata, pars, ...){ + stop("Turning Bands method not yet interfaced here; use") + cat("starting turning bands \n") + } +) + + +#' @rdname predict_gmSpatialModel +#' @export +setMethod("predict",signature(object="gmSpatialModel", newdata="ANY", pars="gmCholeskyDecomposition"), + function(object, newdata, pars, ...){ + stop("Choleski decomposition method not yet implemented") + cat("starting Choleski decomposition \n") + } +) + + + + +#' @rdname predict_gmSpatialModel +#' @export +setMethod("predict",signature(object="gmSpatialModel", newdata="ANY", pars="gmSequentialSimulation"), + function(object, newdata, pars, ...){ + cat("starting SGs \n") + object@parameters = pars$ng + erg = predict(as.gstat(object), newdata=newdata, nsim=pars$nsim, debug.level=pars$debug.level, ...) + Dg = ncol(object@coords) + erg = DataFrameStack(erg[,-(1:Dg)], + dimnames=list( + loc=1:nrow(erg), sim=1:pars$nsim, + var=colnames(object@data) + ), + stackDim="sim") + attr(erg, "coords") = newdata + return(erg) + } +) + + + +#' @rdname predict_gmSpatialModel +#' @export +setMethod("predict",signature(object="gmSpatialModel", newdata="ANY", pars="gmDirectSamplingParameters"), + function(object, newdata, pars, ...){ + + cat("starting direct sampling \n") + # extract training image + gt.ti = sp::getGridTopology(object@model) + dt.ti = as(object@model,"SpatialGridDataFrame")@data + # extract newdata mask + mask = getMask(newdata) + # fuse newdata, conditioning data and mask + if(is.null(newdata)){ + gt.nw = NULL # object@grid + newdata = sp::SpatialPixelsDataFrame(points = as(object, "SpatialPoints"), data=object@data) + # tolerance = sqrt(sum(gt.nw@cellsize^2))/2 , grid=gt.nw) + }else if(is(newdata, "GridTopology")){ + gt.nw = newdata + newdata = sp::SpatialPixelsDataFrame(points = as(object, "SpatialPoints"), data=object@data, + tolerance = sqrt(sum(gt.nw@cellsize^2))/2 , grid=gt.nw) + }else if(is(newdata, "SpatialGrid")){ + gt.nw = sp::getGridTopology(newdata) + newdata = sp::SpatialPixelsDataFrame(points = as(object, "SpatialPoints"), data=object@data, + tolerance = sqrt(sum(gt.nw@cellsize^2))/2 , grid=gt.nw) + }else if(is(newdata, "SpatialPixels")){ + gt.nw = sp::getGridTopology(newdata) + cc = rbind(sp::coordinates(newdata), sp::coordinates(object)) + ### WARNING: This is how it works!! COrrect from SpatialPoints and data.frame + aux = matrix(NA, nrow=nrow(sp::coordinates(newdata)), ncol=ncol(object@data)) + colnames(aux) = colnames(object@data) + dt = rbind( aux , object@data) + newdata = sp::SpatialPixelsDataFrame(points = sp::SpatialPoints(cc), data=dt, + tolerance = sqrt(sum(gt.nw@cellsize^2))/2 , grid=gt.nw) + }else if(is(newdata, "SpatialPoints")){ + gt.nw = object@model@grid + cc = rbind(sp::coordinates(object), sp::coordinates(newdata)) + ### WARNING: NOT YET TESTED WHAT HAPPENS WITH DUPLICATE LOCATIONS!!! + aux = matrix(NA, nrow=nrow(sp::coordinates(newdata)), ncol=ncol(object@data)) + colnames(aux) = colnames(object@data) + dt = rbind( object@data, aux ) + newdata = sp::SpatialPixelsDataFrame(points = sp::SpatialPoints(cc), data=dt, + tolerance = sqrt(sum(gt.nw@cellsize^2))/2) # , grid=gt.nw) + }else if(is.data.frame(newdata)){ + gt.nw = NULL # object@grid + cc = rbind(sp::coordinates(object), newdata[,1:2]) + if( all( colnames(object@data) %in% colnames(newdata) ) ){ + aux = as.matrix(newdata[,colnames(object@data)]) + }else{ + aux = matrix(NA, nrow=nrow(sp::coordinates(newdata)), ncol=ncol(object@data)) + } + colnames(aux) = colnames(object@data) + ### WARNING: NOT YET TESTED WHAT HAPPENS WITH DUPLICATE LOCATIONS!!! + dt = rbind( object@data, aux ) + newdata = sp::SpatialPixelsDataFrame(points = sp::SpatialPoints(cc), data=dt) + # tolerance = sqrt(sum(gt.nw@cellsize^2))/2 , grid=gt.nw) + } + if(is.null(gt.nw)) gt.nw = sp::getGridTopology(newdata) + dt.nw = as(newdata,"SpatialGridDataFrame")@data + dt.ti = as(object@model,"SpatialGridDataFrame")@data + if(all(gt.nw@cellsize!=gt.ti@cellsize)) + stop("predict.gmSpatialModel with gmDirectSamplingParameters: inferred grid topologies for newdata, conditioning data and model do not coincide") + if(is.null(mask)) mask = rep(TRUE, nrow(dt.nw)) + #erg = gsi.DS4CoDa(n=pars$patternSize, f=pars$scanFraction, t=pars$gof, n_realiz=pars$nsim, + # nx_TI=gt.ti@cells.dim[1], ny_TI=gt.ti@cells.dim[2], + # nx_SimGrid= gt.nw@cells.dim[1], ny_SimGrid=gt.nw@cells.dim[2], + # TI_input=as.matrix(dt.ti), + # SimGrid_input=as.matrix(dt.nw), + # V = "I", W=gsi.getV(object@data), + # ivars_TI = colnames(dt.ti), + # SimGrid_mask = mask, + # invertMask = FALSE) + erg = gsi.DS(n=pars$patternSize, f=pars$scanFraction, t=pars$gof, n_realiz=pars$nsim, + dim_TI=gt.ti@cells.dim, dim_SimGrid=gt.nw@cells.dim, + TI_input=as.matrix(dt.ti), SimGrid_input=as.matrix(dt.nw), + ivars_TI = colnames(dt.ti), + SimGrid_mask = mask, + invertMask = FALSE) + erg = gmApply(erg, FUN=ilrInv, V=gsi.getV(object@data), orig=gsi.orig(object@data)) + erg = sp::SpatialGridDataFrame(grid = gt.nw, data=erg) + return(erg) + } +) #' @describeIn gmSpatialModel Compute a variogram, see [variogram_gmSpatialModel()] for details diff --git a/R/grids.R b/R/grids.R index b1d396e..8651541 100644 --- a/R/grids.R +++ b/R/grids.R @@ -267,7 +267,7 @@ gsi.gstatCokriging2rmult.data.frame = function(COKresult, # output of predict.gs D = length(prednames) noms = sub(".pred", "", prednames) - prediccions = COKresult[,prednames, drop=FALSE] + prediccions = rmult(COKresult[,prednames, drop=FALSE]) if(nscore){ ## space to back-transform the predictions #if(is.null(gg))stop("To apply a nscore backtransformation, the gstat object must be provided!") @@ -304,7 +304,7 @@ gsi.gstatCokriging2rmult.data.frame = function(COKresult, # output of predict.gs } attr(rg,"krigVar") = cvmat } - class(rg) = c("spatialGridRmult","rmult","data.frame") + class(rg) = c("spatialGridRmult","rmult") return(rg) } diff --git a/R/gstatCompatibility.R b/R/gstatCompatibility.R index 16f7562..8b4e981 100644 --- a/R/gstatCompatibility.R +++ b/R/gstatCompatibility.R @@ -114,7 +114,7 @@ compo2gstatLR = function(coords, compo, V=ilrBase(compo), prefix = o$prefix V = o$V # compute data (in lrs or in normal scores), set variable names - Zlr = compositions::ilr(compo, V=V) + Zlr = compositions::idt(compo, V=V) if(nscore){ source("nscore.R") # load the nscore.R functions prefix= paste("NS",prefix,sep="") @@ -145,6 +145,44 @@ compo2gstatLR = function(coords, compo, V=ilrBase(compo), return(gg) } +## version for rmult +rmult2gstat = function(coords, data, V="cdt", + vgLMC=NULL, nscore=FALSE, + formulaterm = "~1", prefix=NULL, ...){ + + P = ncol(data) + if(nscore){ + source("nscore.R") # load the nscore.R functions + prefix= paste("NS",prefix,sep="") + Z = sapply(1:P, function(i){ + rs = nscore(data[,i]) + aux = rs$nscore + attr(aux,"trn.table") = rs$trn.table # this ensures that the backtransformation is stored in the object + return(data.frame(aux)) + }) + Z = as.data.frame(Z) + }else{ + Z = data + } + if(is.null(colnames(Z))) colnames(Z) = paste(prefix, 1:P, sep="") + # create gstat object + spatdescr = paste("~",c(paste(colnames(coords),collapse=" + ")), sep="") + gg = NULL + for(i in 1:P){ + id = colnames(Z)[i] + frm = paste(id, formulaterm, sep="") + gg = gstat::gstat(gg, id=id, formula = stats::as.formula(frm), locations=stats::as.formula(spatdescr), data=data.frame(coords, Z), ...) + } + # if a logratio LMC was provided, convert it to gstat variogramModelList + # and attach it + if(!is.null(vgLMC) & !nscore){ + # space for a future conversion of variation-variogram models to gstat-LR-variograms + gg$model = as.variogramModel(vgLMC, prefix=prefix) + } + # return + return(gg) +} + getGstatData = function(gg # gstat object diff --git a/README.Rmd b/README.Rmd index 7054ff3..9a5ccfe 100644 --- a/README.Rmd +++ b/README.Rmd @@ -36,7 +36,7 @@ install.packages("gmGeostats") Read the package vignette for an extended scheme of the package functionality. The fundamental steps are: ```{r example} -## load the package and its dependencies +## load the package (NOTE: do not load "compositions" or "gstat" afterwards!) library(gmGeostats) ## read your data, identify coordinates and sets of variables @@ -70,16 +70,25 @@ vm = gstat::vgm(model="Sph", range=25, nugget=1, psill=1) gsm.f = fit_lmc(v = vge, g = gsm, model = vm) ## plot -variogramModelPlot(vge, model = gsm.f) +variogramModelPlot(vge, model = gsm.f, col="red") ``` +The resulting variogram model (`gsm.f$model` in case of a "gstat" object) can the be appended to the +spatial model, with +``` +gsm = make.gmCompositionalGaussianSpatialModel( + data = Zc, coords = X, V = "alr", formula = ~1, + model = gsm.f$model +) +``` +Other empirical structural functions (e.g. logratio variograms from package "compositions") and their theoretical counterparts (e.g. "CompLinModCoReg" objects from "compositions" or "LMCAnisCompo" from "gmGeostats") can also be estimated resp. fitted and given to the argument `model` of this call to `make.gmCompositionalGaussianSpatialModel`. Other additional arguments are the mean value in case of simple (co)kriging, or descriptors of the local neighbourhood (see `?make.gmCompositionalGaussianSpatialModel` for more information), both using the same parameter names as in `?gstat::gstat` for ease of use. -This model can then be validated, interpolated and/or simulated. The workflow for each of these tasks is always: +The resulting geostatistical model (including conditioning data and structural model) can then be validated, interpolated and/or simulated. The workflow for each of these tasks is always: -1.- define some method parameters with a tailored function, e.g. `LeaveOneOut()` for validation, `KrigingNeighbourhood()` for cokriging or `SequentialSimulation()` for sequential Gaussian Simulation +1.- define some method parameters with a tailored function, e.g. `LeaveOneOut()` for validation, `KrigingNeighbourhood()` for cokriging (the neighbourgood can also be appended to `make.*SpatialModel()`-calls) or `SequentialSimulation()` for sequential Gaussian Simulation -2.- if desired, define some new locations where to interpolate or simulate, using `expand.grid()` or `sp::GridTopology()` or similar +2.- if desired, define some new locations where to interpolate or simulate, using `expand.grid()`, `sp::GridTopology()` or alternatives from other packages -3.- call an appropriate function, specifying the model, potential new data, and the parameters created in the preceding steps; e.g. `validate(model, pars)` for validation, or `predict(model, newdata, pars)` for interpolation or simulation +3.- call an appropriate analysis function, specifying the model, potential new data, and the parameters created in the preceding steps; e.g. `validate(model, pars)` for validation, or `predict(model, newdata, pars)` for interpolation or simulation More information can be found in the package vignette. \ No newline at end of file diff --git a/README.md b/README.md index 7d8eb2d..88d5331 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Read the package vignette for an extended scheme of the package functionality. The fundamental steps are: ``` r -## load the package and its dependencies +## load the package (NOTE: do not load "compositions" or "gstat" afterwards!) library(gmGeostats) #> Welcome to 'gmGeostats', a package for multivariate geostatistical analysis. #> Note: use 'fit_lmc' instead of fit.lmc @@ -81,24 +81,46 @@ vm = gstat::vgm(model="Sph", range=25, nugget=1, psill=1) gsm.f = fit_lmc(v = vge, g = gsm, model = vm) ## plot -variogramModelPlot(vge, model = gsm.f) +variogramModelPlot(vge, model = gsm.f, col="red") ``` -<img src="man/figures/README-structural-1.png" width="100%" /> - -This model can then be validated, interpolated and/or simulated. The -workflow for each of these tasks is always: - -1.- define some method parameters with a tailored function, e.g. -`LeaveOneOut()` for validation, `KrigingNeighbourhood()` for cokriging -or `SequentialSimulation()` for sequential Gaussian Simulation +<img src="man/figures/README-structural-1.png" width="100%" /> The +resulting variogram model (`gsm.f$model` in case of a “gstat†object) +can the be appended to the spatial model, with + + gsm = make.gmCompositionalGaussianSpatialModel( + data = Zc, coords = X, V = "alr", formula = ~1, + model = gsm.f$model + ) + +Other empirical structural functions (e.g. logratio variograms from +package “compositionsâ€) and their theoretical counterparts +(e.g. “CompLinModCoReg†objects from “compositions†or “LMCAnisCompo†+from “gmGeostatsâ€) can also be estimated resp. fitted and given to the +argument `model` of this call to +`make.gmCompositionalGaussianSpatialModel`. Other additional arguments +are the mean value in case of simple (co)kriging, or descriptors of the +local neighbourhood (see `?make.gmCompositionalGaussianSpatialModel` for +more information), both using the same parameter names as in +`?gstat::gstat` for ease of use. + +The resulting geostatistical model (including conditioning data and +structural model) can then be validated, interpolated and/or simulated. +The workflow for each of these tasks is always: + +1.- define some method parameters with a tailored function, +e.g. `LeaveOneOut()` for validation, `KrigingNeighbourhood()` for +cokriging (the neighbourgood can also be appended to +`make.*SpatialModel()`-calls) or `SequentialSimulation()` for sequential +Gaussian Simulation 2.- if desired, define some new locations where to interpolate or -simulate, using `expand.grid()` or `sp::GridTopology()` or similar +simulate, using `expand.grid()`, `sp::GridTopology()` or alternatives +from other packages -3.- call an appropriate function, specifying the model, potential new -data, and the parameters created in the preceding steps; e.g. -`validate(model, pars)` for validation, or `predict(model, newdata, +3.- call an appropriate analysis function, specifying the model, +potential new data, and the parameters created in the preceding steps; +e.g. `validate(model, pars)` for validation, or `predict(model, newdata, pars)` for interpolation or simulation More information can be found in the package vignette. diff --git a/man/figures/README-structural-1.png b/man/figures/README-structural-1.png index 834c1310700442142e8495bb62c6a2627021a5ed..bdf6d08d04195495b4e4cea749bccbff316069f7 100644 GIT binary patch literal 67070 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 MysF#>lu5|{0JnpfMF0Q* literal 58262 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 EF9xz3Gynhq diff --git a/vignettes/gmGeostats.Rmd b/vignettes/gmGeostats.Rmd index 03e74d4..fef86b6 100644 --- a/vignettes/gmGeostats.Rmd +++ b/vignettes/gmGeostats.Rmd @@ -17,7 +17,7 @@ knitr::opts_chunk$set( ## The basics -"gmGeostats" is a package for multivariate geostatistics, focusing in the usage of data from restricted sampling spaces. Such data include positive data, compositional data, distributional data and the like. Most of the times, the geostatistical analysis of such data includes three steps: +"gmGeostats" is a package for multivariate geostatistics, focusing in the usage of data from multivariate restricted sampling spaces. Such data include positive data, compositional data, distributional data and the like. Most of the times, the geostatistical analysis of such data includes three steps: 1. express your data as some vectors of real values, through a mapping. Such mappings can be isomorphisms (for Euclidean spaces) or embeddings (for regular manifolds) 2. analyse the resulting multivariate data with vectorial methods (i.e. using cross-variograms, cokriging, cosimulation or distance based methods modified in such a way that they are rotation-invariant resp. affine equivariant) @@ -27,7 +27,7 @@ The package is loaded, as usual with ```{r setup} library(gmGeostats) ``` -and it fundamentally depends on packages "compositions", "gstat" and "sp". Other dependencies are more instrumental and less fundamental. +and it fundamentally depends on packages "compositions", "gstat" and "sp". Other dependencies are more instrumental and less fundamental. NOTE: if you separately need "compositions" or "gstat", load these packages first, then load "gmGeostats". This will ensure that the overloaded functions work properly for all three packages. Alternatively, use fully qualified names (e.g. `pkg::foo()`). This vignette very briefly presents the steps to follow in several analysis and modelling routes, illustrated with the case of compositional data. No explanations, theory or discussion is included. @@ -38,15 +38,15 @@ This vignette very briefly presents the steps to follow in several analysis and The data can be visually inspected with scatterplots, in raw representation (`plot()`, `pairs()`), in ternary diagrams (`compositions::plot.acomp()`), and in scatterplots of logratio transformed data (use the transformations `pwlr()`, `alr()`, `clr()` or `ilr()` from package "compositions", then `pairs()`). Function `pairs()` can be given panel functions such as e.g. `vp.lrdensityplot()`, `vp.kde2dplot()` or `vp.lrboxplot()` resp. for creating histograms of pairwise logratios, 2D kernel density maps on the scatterplots or boxplots of the pairwise logratios. Package "compositions" provides the class "acomp" to directly deal with the right representation in the several methods. -Principal component analysis is also a strong help. For this, you need an isometry (not just an isomorphism). Transformation `clr()` is the best for this, and is actually automatically used when you do `princomp(acomp(YOURDATA))`. "gmGeostats" provides generalised diagonalisation methods, see `?genDiag` for details. +Principal component analysis is also a strong help. For this, you need an isometry (not just an isomorphism). Transformation `clr()` is the best for this, and is actually automatically used when you do `princomp(acomp(YOURDATA))`. "gmGeostats" provides generalised diagonalisation methods to account for the spatial dependence, see `?genDiag` for details. ### Spatial analysis -Create your spatial objects by connecting the spatial coordinates to the multivariate observations via the functions `sp:SpatialPointsDataFrame()` or better the "gmGeostats" functions `make.gmMultivariateGaussianSpatialModel()` for multivariate data and `make.gmCompositionalGaussianSpatialModel()` for compositional data. This produces objects of spatial data container class "gmSpatialModel", that are necessary for the rest of the analysis and modelling. +Create your spatial objects by connecting the spatial coordinates to the multivariate observations via the functions `sp:SpatialPointsDataFrame()` or better the "gmGeostats" functions `make.gmMultivariateGaussianSpatialModel()` for multivariate data and `make.gmCompositionalGaussianSpatialModel()` for compositional data. The functions `make.gm******SpatialModel()` produces objects of spatial data container class "gmSpatialModel", that are necessary for the rest of the analysis and modelling. Swath plots are available with command `swath()`. If you give it an "acomp" object you will obtain a matrix of logratio swath plots. Otherwise you will get an set of swath plots, one for each variable. Function `pairsmap()` works similarly, but produces bubble maps (you can control size and color of the symbols). -Empirical variograms can be obtained with function `variogram()` out of the spatial data container. You can also use the function `logratioVariogram()` for compositional data. Both accept anisotropy. Their output can be plotted with `plot()`, which has specific methods for compositional and non-compositional data. In the case of anisotropic data, you can also use `image()` to visualise the variogram maps. +Empirical variograms can be obtained with function `variogram()` out of the spatial data container. You can also use the function `logratioVariogram()` for compositional data. Both accept anisotropy. Their output can be plotted with `plot()`, which has specific methods for compositional and non-compositional data. In the case of anisotropic data, you can also use a method of `image()` to visualise the variogram maps, see `?image.logratioVariogramAnisotropy` for details. Finally you can also check for the strength of the spatial dependence with the test `noSpatCorr.test()`. This is a permutations test, which null hypothesis is that the data do not exhibit spatial autocorrelation. @@ -60,15 +60,15 @@ Plotting of LMCs against their empirical variograms can be done with function `v ### Variogram and neighbourhood validation -Neighbourhood descriptions are created with function `KrigingNeighbourhood()`. Kriging neighbourhoods and LMC variogram models and can be attached to the "gmSpatialModel" objects at the moment of creation via `make.*()` functions, using arguments `ng` and `model`. +Neighbourhood descriptions are created with function `KrigingNeighbourhood()`. Kriging neighbourhoods and LMC variogram models and can be attached to the "gmSpatialModel" objects at the moment of creation via `make.gm*()` functions, using arguments `ng` and `model` (this last one strictly requiring you to also specify the `formula` argument). -Validation of the model or of the neighbourhood can then be obtained with the function `validate()`. This requires an `object` (the complete "gmSpatialModel") and a `strategy`. Validation strategies are small S3-objects describing what will exactly be done in the validation. They can be quickly defined by means of configuration functions as `LeaveOneOut()` or `NfoldCrossValidation()`. The call to `validate()` will provide some output that can be evaluated with functions such as `xvErrorMeasures()` +Validation of the model or of the neighbourhood can then be obtained with the function `validate()`. This requires an `object` (the complete "gmSpatialModel") and a `strategy`. Validation strategies are small S3-objects describing what will exactly be done in the validation. They can be quickly defined by means of configuration functions as `LeaveOneOut()` or `NfoldCrossValidation()`. The call to `validate()` will provide some output that can be evaluated with functions such as `xvErrorMeasures()`, `accuracy()` or `prediction()`. ### Cokriging and mapping -This way of working is common to the package. You always build a model (with a `make.*()` function), define a method parameter object (created with a specific, verbose, helper function), and feed both to a common umbrella function describing what do you want to do: `validate()` or `predict()`, which also requires an argument `newdata` as is standard in R. The output can then be postprocessed by specific functions. +This way of working is common to the package. You always build a model (with a `make.*()` function), define a method parameter object (created with a specific, verbose, helper function), and feed both to a common umbrella function describing what do you want to do: `validate()` or `predict()`, the second one also requires an argument `newdata` as is standard in R. The output can then be postprocessed by specific functions. The method parameter for cokriging is actually the neighbourhood. So, you can give `predict()` an object resulting from `KrigingNeighbourhood()`, otherwise it will take the standard one stored in the "gmSpatialModel", or produce a global neighbourhood cokriging if no neighbourhood description is found. @@ -89,13 +89,13 @@ Cosimulation method parameters are created by calls to one of the functions `Seq ### Postprocessing -Multivariate cosimulation output can be seen analogue to a 3-dimensional array, with one dimension running along the simulated locations, one dimension along the realisations and one dimension along the variables. This structure is captured in "gmGeostats" with an object of class "DataFrameStack" (extending "data.frame" and mimicking arrays). Point-wise, simulation-wise and variable-wise ransformations on this array can be computed with function `gmApply()`, a wrapper on `base::apply()` allowing for an easier management of the dimensions of the simulation stack. Maps can also be produced by function `image_cokriged()`. +Multivariate cosimulation output can be seen analogue to a 3-dimensional array, with one dimension running along the simulated locations, one dimension along the realisations and one dimension along the variables. This structure is captured in "gmGeostats" with an object of class "DataFrameStack" (extending "data.frame" and mimicking arrays). Point-wise, simulation-wise and variable-wise transformations on this array can be computed with function `gmApply()`, a wrapper on `base::apply()` allowing for an easier management of the dimensions of the simulation stack. Maps can also be produced by function `image_cokriged()`. ## Multipoint simulation -Multipoint cosimulation is available with the same strategy than Gaussian based simulation. One needs first to define a "gmSpatialModel" containing the conditioning data (the original data) and the stochastic model (the training image). Second, a simulation grid must be created, and provided to `predict()` as the `newdata` argument. And third, we must provide some method parameters defining the simulation algorithm to use: currently, only direct sampling is available, and its parameters can be obtained calling `DSpars()`. +Multipoint cosimulation is available with the same strategy than Gaussian based simulation. One needs first to define a "gmSpatialModel" containing the conditioning data (the original data) and the stochastic model (the training image). Second, a simulation grid must be created, and provided to `predict()` as the `newdata` argument. And third, we must provide some method parameters defining the simulation algorithm to use: currently, only direct sampling is available, and its parameters can be constructed calling `DSpars()`. Training images are currently objects of class "SpatialPixelsDataFrame" or "SpatialGridDataFrame", from package "sp". The conditioning data will be migrated to the simulation grid internally; the grid topologies for simulation and training image will be checked for consistency. diff --git a/vignettes/register_new_layer_datatype.Rmd b/vignettes/register_new_layer_datatype.Rmd new file mode 100644 index 0000000..8b4c0a9 --- /dev/null +++ b/vignettes/register_new_layer_datatype.Rmd @@ -0,0 +1,159 @@ +--- +title: "How to register new layer datatypes" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{How to register new layer datatypes} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>" +) +``` + +## Purpose of this vignette + +This vignette explains how to tweak "gmGeostasts" to declare new datatypes for data layers (e.g. for data with special characteristics besides compositional data), and associate creation and prediction function to it. If you are looking for a general introduction to the package, see [this other vignette](../doc/gmGeostats.html) + +```{r setup} +library(compositions) +library(gstat) +library(gmGeostats) +library(RandomFields) +library(magrittr) +``` + + + +## Statistical scale and representation functions + +The statistical scale of a data layer is a subjective assessment of the way in which pairs of values of that layer need to be compared. Classical statistical scales after Stevens (XXXX) are the nominal (two values are either equal or they are different), ordinal (two values are either equal, or one is larger than the other), interval (values can be meaningfully compared by the mathematical operation of subtraction) and ratio (values are strictly positive and can be meaningfully compared by the operation of quotient). Other scales have been introduced, such as several compositional scales for data about the amounts and proportions of components forming a system (Aitchison, 1986; van den Boogaart and Tolosana-Delgado, 2013; van den Boogaart, Tolosana-Delgado and Bren, XXXX); for circular and spherical data; for distributional data; for positive definite matrices; etc. + +A scale $s$ is then typically described by a way of computing the difference between two values $d_s(\cdot, \cdot)$, coupled with a description of the set $\mathcal{E}_s$ of values of that layer that are at all possible. In the case of circular data, the set of possible values is $[-\pi, \pi)$, and given the periodicity condition, the way to compare two values $a$ and $b$ is $(a-b)$ modulo $\pi$. + +To ease the computation with observations $x$ on such layers we want to define a transformation $R(x)$ that delivers a *representation* $z=R(x)$ of the data, such that: (i) $R^{-1}(z)$ exists for all values of the linear span of $R(x)$, (ii) it can be ensured that $R^{-1}(z)\in \mathcal{E}_s$, *and* (iii) that $d_s(x_1, x_2)\approx R(x_1)-R(x_2)$. A classical representation strategy of circular data is through an embedding into $R^2$ the bivariate real space, by means of the transformation +$$ +R(\theta)=[\sin(\theta), \cos(\theta)]=\mathbf{z} +$$ +with inverse operation +$$ +\theta = \tan^{-1} \frac{z_2}{z_1} +$$ + +For our purposes, the absolute minimum you need to program is: + +1. choose a class name for your data tyoe (e.g. "periodic"), and create a function with that name taking the values as they might be in your case study, converting them into a datamatrix and giving them the class of your choice +```{r} +circular = function(x, varname ="theta", conversion=pi/180){ + # output to be a (N, 1)-datamatrix + if(length(dim(x))!=2){ # case `x` is a vector + y = t(t(x)) + colnames(y) = varname + }else if(nrow(x)!=1){ # case `x` is a too large matrix + y = x[, varname] + } + y = y * conversion + class(y) = "circular" + return(y) +} +``` +(The function can do other things, like in this case, allowing a potential conversion from degrees to radians, or managing several input cases). + +2. create method of the function `compositions::cdt()` implementing the representation for data of your type and returning an rmult object +```{r} +cdt.circular = function(x, ...){ + z = cbind(sin(x), cos(x)) + colnames(z) = c("z1", "z2") + return(rmult(z, orig=x)) +} +``` + +3. create method of the function `compositions::cdtInv()` implementing the backrepresentation for data of your type (argument `z` expects the representation, and `orig` must be exactly what is set in this example; NOTICE the three dots at `compositions:::gsi.orig`) +```{r} +cdtInv.circular = function(z, orig=compositions:::gsi.orig(x),...){ + #z = unclass(z) + x = atan2(z[,2], z[,1]) + return(circular(x, varname=colnames(orig), conversion = 1)) +} +``` + +## Geostatistical analysis of scaled data, quick and dirty + +With these few lines of programming you could already be able to use "gmGeostats" for your data. To show how, we will generate first a univariate, real-valued random field, take it as if it were circular data (in radians), extract some components out of it, and do a geostatistical analysis with the output. +```{r data_creation, fig.height=7, fig.width=7} +# simulate a random function +set.seed(333275) +model <- RMexp() +x <- seq(0, 10, 0.1) +z <- RFsimulate(model, x, x, n=1) +# extract components +X = coordinates(z) +Z = z@data +# select some of them +tk = sample(1:nrow(X), 1000) +Xdt = X[tk,] +Zdt = Z[tk,1] +Zdtc = circular(Zdt,varname = "theta", conversion = 1) +pairsmap(Zdtc, loc=Xdt) +``` + +Now we can proceed with the analysis. First we create the "gmSpatialModel" containing the transformed data +```{r} +theta.gg = + make.gmMultivariateGaussianSpatialModel( + data=cdt(Zdtc), coords = Xdt, # always set V="clr" in such cases! + formula = ~1 # for ordinary (co)kriging + ) +``` +compute and plot the variogram +```{r, fig.width=7, fig.height=5} +theta.vg = gmGeostats::variogram(theta.gg) +plot(theta.vg) +``` +and model it, in this case with an exponental of effective range approximately 3, a sill of 0.5, and a nugget close to zero. All ways of modelling variograms are allowed, for instance with "gstat" variograms +```{r, fig.width=7, fig.height=5} +theta.md = gstat::vgm(model="Exp", range=1, psill=0.5) +theta.gs = fit_lmc(v=theta.vg, g = theta.gg, model = theta.md) +plot(theta.vg, model=theta.gs$model) +``` +Finally we extend the original data container with this model +```{r} +theta.gg = + make.gmMultivariateGaussianSpatialModel( + data=cdt(Zdtc), coords = Xdt, # always set V="clr" in such cases! + formula = ~1, # for ordinary (co)kriging + model = theta.gs$model + ) +``` +The outcome can then be used for validation, prediction or simulation. Here we do cokriging on the same grid we simulated above +```{r} +xx = expand.grid(x,x) +colnames(xx) = colnames(Xdt) +ng = KrigingNeighbourhood(nmax = 20, omax=7, maxdist=1) +theta.prds = predict(theta.gg, newdata = xx, pars=ng) +``` +and the result be reordered and backtransformed +```{r} +theta.prds.grid = gsi.gstatCokriging2rmult(theta.prds) +theta.prds.back = backtransform(theta.prds.grid, as = cdt(Zdtc)) +summary(theta.prds.back) +``` +Note that the function `backtransform()` is available in package "compositions" from version 1.0.1-9002. To plot the result we might have to program a method for `image_cokriged` that should take care to fictionally reclass the backtransformed data to "spatialGridRmult" and choose a color sequence appropriate for the periodic nature of the data +```{r, fig.width=6, fig.height=8.5} +image_cokriged.circular = function(x, ...){ + class(x) = c("spatialGridRmult", "rmult") + image_cokriged(x, breaks=40, col=rainbow(10), ...) +} +image_cokriged(theta.prds.back, ivar="theta") +``` + + +## future work + +In future extensions of this vignette we will discuss the way to create own structural functions (variograms) and estimation models/methods adapted to the nature of the data, and register them to the package. + + + -- GitLab