Learn R Programming

rkriging (version 1.0.2)

MultiplicativeUDF.Kernel: Multiplicative User Defined Function (UDF) Kernel

Description

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

Usage

MultiplicativeUDF.Kernel(lengthscale, kernel.function)

Value

A Multiplicative 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 Multiplicative User Defined Function (UDF) kernel is given by $$k(r)=\prod_{i=1}^{p}f(r_{i}^2),$$ where \(f\) is the user defined kernel function that takes \(r_{i}^2\) as input, where $$r_{i}(x,x^{\prime})=\sqrt{\left(\frac{x_{i}-x_{i}^{\prime}}{l_{i}}\right)^2}$$ is the dimension-wise euclidean distances 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

UDF.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 <- MultiplicativeUDF.Kernel(lengthscale, kernel.function=kernel.function)
Evaluate.Kernel(kernel, X)

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

Run the code above in your browser using DataLab