Learn R Programming

rkriging (version 1.0.2)

UDF.Kernel: User Defined Function (UDF) Kernel

Description

This function specifies a kernel with the user defined R function.

Usage

UDF.Kernel(lengthscale, kernel.function)

Value

A User Defined Function (UDF) Kernel Class Object.

Arguments

lengthscale

a vector for the positive length scale parameters

kernel.function

user defined kernel function

Author

Chaofan Huang and V. Roshan Joseph

Details

The User Defined Function (UDF) kernel is given by $$k(r) = f(r^2)$$ where \(f\) is the user defined kernel function that takes \(r^2\) as input, where $$r(x,x^{\prime})=\sqrt{\sum_{i=1}^{p}\left(\frac{x_{i}-x_{i}^{\prime}}{l_{i}}\right)^2},$$ is the euclidean distance between \(x\) and \(x^{\prime}\) weighted by the length scale parameters \(l_{i}\)'s.

References

Duvenaud, D. (2014). The kernel cookbook: Advice on covariance functions.

Rasmussen, C. E. & Williams, C. K. (2006). Gaussian Processes for Machine Learning. The MIT Press.

See Also

MultiplicativeUDF.Kernel, Get.Kernel, Evaluate.Kernel.

Examples

Run this code
n <- 5
p <- 3
X <- matrix(rnorm(n*p), ncol=p)
lengthscale <- c(1:p)

kernel.function <- function(sqdist) {return (exp(-sqrt(sqdist)))} 

# approach 1
kernel <- UDF.Kernel(lengthscale, kernel.function=kernel.function)
Evaluate.Kernel(kernel, X)

# approach 2
kernel <- Get.Kernel(lengthscale, type="UDF", 
                     parameters=list(kernel.function=kernel.function))
Evaluate.Kernel(kernel, X) 

Run the code above in your browser using DataLab