Learn R Programming

kergp (version 0.5.7)

covTS: Creator Function for covTS Objects

Description

Creator function for covTS objects representing a Tensor Sum covariance kernel.

Usage

covTS(inputs = paste("x", 1:d, sep = ""),
      d = length(inputs), kernel = "k1Matern5_2",
      dep = NULL, value = NULL, var = 1, ...)

Value

An object with S4 class "covTS".

Arguments

inputs

Character vector giving the names of the inputs used as arguments of kernel. Optional if d is given.

d

Integer specifying the spatial dimension (equal to the number of inputs). Optional if inputs is given.

kernel

Character, name of the one-dimensional kernel.

dep

Character vector with elements "cst" or "input" usually built using the concatenation c. The names must correspond to parameters of the kernel specified with kernel. When an element is "cst", the corresponding parameter of the 1d kernel will be the same for all inputs. When the element is "input", the corresponding parameter of the 1d kernel gives birth to d parameters in the covTS object, one by input.

value

Named numeric vector. The names must correspond to the 1d kernel parameters.

var

Numeric vector giving the variances \(\sigma^2_i\) that weight the \(d\) components.

...

Not used at this stage.

Author

Y. Deville, O. Roustant D. Ginsbourger

Caution

The \(1d\) kernel \(k\) as given in kernel is always assumed to have a variance parameter with name var. This assumption may be relaxed in future versions.

Details

A covTS object represents a \(d\)-dimensional kernel object \(K\) of the form $$K(\mathbf{x}, \mathbf{x}'; \boldsymbol{\theta}) = \sum_{i=1}^d k(x_i, x_i';\boldsymbol{\theta}_{\mathbf{s}_i})$$ where \(k\) is the covariance kernel for a Gaussian Process \(Y_x\) indexed by a scalar \(x\). The \(d\) numbers \(x_i\) stand for the components of the \(d\)-dimensional location vector \(\mathbf{x}\). The length \(p\) of all the vectors \(\mathbf{s}_i\) is the number of parameters of the one-dimensional kernel \(k\), i.e. 2 or 3 for classical covariance kernels.

The package comes with the following covariance kernels which can be given as kernel argument.

namedescription\(p\)par. names
k1Expexponential\(2\)range, var
k1Matern3_2Matérn \(\nu = 3/2\)\(2\)range, var
k1Matern5_2Matérn \(\nu = 5/2\)\(2\)range, var
k1PowExppower exponential\(3\)range, shape, var
k1Gaussgaussian or "square exponential"\(2\)range, var

Note that the exponential kernel of k1Exp is identical to the Matérn kernel for \(\nu = 1/2\), and that the three Matérns kernels provided here for \(\nu = 1/2\), \(\nu = 3/2\) and \(\nu = 5/2\) are special cases of Continuous AutoRegressive (CAR) process covariances, with respective order \(1\), \(2\) and \(3\).

References

N. Durrande, D. Ginsbourger, and O. Roustant (2012) Additive "Covariance kernels for high-dimensional Gaussian Process modeling", Annales de la Faculté des Sciences de Toulouse 21(3), pp. 481–499.

Examples

Run this code
myCov1 <- covTS(kernel = "k1Exp", inputs = c("v1", "v2", "v3"),
                dep = c(range = "input"))
coef(myCov1) <- c(range = c(0.3, 0.7, 0.9), sigma2 = c(2, 2, 8))

myCov1
coef(myCov1)
coef(myCov1, as = "matrix")
coef(myCov1, as = "list")
coef(myCov1, as = "matrix", type = "range")

# with a common range parameter
myCov2 <- covTS(kernel = "k1Exp", inputs = c("v1", "v2", "v3"), 
                dep = c(range = "cst"), value = c(range = 0.7),
                var = c(2, 2, 8))
myCov2

myCov3 <- covTS(d = 3, kernel = "k1PowExp",
                dep = c(range = "cst", shape = "cst"),
                value = c(shape = 1.8, range = 1.1),
                var = c(2, 2, 8))
myCov3

Run the code above in your browser using DataLab