deform {deform}R Documentation

Fitting low-rank nonstationary spatial Gaussian process models through spatial deformation

Description

Function deform fits a 2-dimensional deformation model, where typically x and y coordinates in geographic (G-) space will be provided and then deformed to give new coordinates in deformed (D-) space in which isotropy of a Gaussian process is optimally achieved.

Usage

deform(
  x,
  z,
  n,
  k = c(10, 10),
  lambda = c(-1, -1),
  lambda0 = rep(exp(3), length(k)),
  correlation = FALSE,
  cosine = FALSE,
  bijective = FALSE,
  bijective.args = NULL,
  trace = 0,
  standardise = "together"
)

Arguments

x

a 2-column matrix comprising x and y coordinates column-wise, respectively, or a list; see Details for the latter

z

a variance-covariance matrix

n

an integer number of data

k

an integer vector of ranks

lambda

specified lambda values; see Details

lambda0

initial lambda values

correlation

a logical defining whether z should be assumed to be a correlation matrix; defaults to FALSE

cosine

a logical defining whether the powered exponential covariance function should be multiplied by the cosine of scaled distances, i.e. giving a damped oscillation; defaults to FALSE

bijective

a logical for whether a bijective deformation should be imposed; defaults to FALSE

bijective.args

a list specifying quantities to ensure bijectivity, if bijective == TRUE; see Details

trace

an integer specifying the amount to report on optimisation (0, default, is nothing; 1 gives a bit)

standardise

a character string that governs whether dimensions are scaled by a common ("together") or dimension-specific factor; defaults to "together"

Details

If x is a list, then it wants elements "x", "z" and "n" as described above.

Values of lambda multiply the penalties placed on the wiggliness of the smooths that form the deformations. Larger values make things less wiggly. Values of lambda0 specify initial values for lambda, which are still optimised.

bijective.args() is a 4-element list: "mult" is a penalty placed on the numerical approximation to identifying non-bijectivity, where larger values impose bijectivity more strictly; "scl" is a scaling placed on the grid used to numerically identify non-bijectivity, where smaller values will typically impose bijectivity more strictly; "nx" and "ny" specify the x and y dimensions of the grid used to numerically identify bijectivity. Defaults are mult = 1e3, scl = 1, nx = 40 and ny = 40. It is advisable to use "mult" and not "scl" to control bijectivity, in the first instance.

Value

An object of class deform and then of class deformation

References

Sampson, P. D. and Guttorp, P. (1992) Nonparametric Estimation of Nonstationary Spatial Covariance Structure, Journal of the American Statistical Association, 87:417, 108-119, doi:10.1080/01621459.1992.10475181

Wood, S.N. (2003), Thin plate regression splines. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 65: 95-114. doi:10.1111/1467-9868.00374

Examples




data(solar)
deform(solar$x, solar$z, solar$n) 
# equivalent to deform(solar)

# bijective deformation 
deform(solar, bijective = TRUE)

# deformation with specified rank
deform(solar, k = c(10, 8))




[Package deform version 1.0.0 Index]