K0_fn {ZVCV} | R Documentation |
Kernel matrix calculation
Description
This function calculates the full matrix, which is a first or second order Stein operator applied to
a standard kernel.
The output of this function can be used as an argument to
CF
, CF_crossval
,
SECF
, SECF_crossval
, aSECF
and aSECF_crossval
.
The kernel matrix is automatically computed in all of the above methods, but it is faster to calculate
in advance when using more than one of the above functions and when using any of the crossval functions.
Usage
K0_fn(
samples,
derivatives,
sigma,
steinOrder,
kernel_function,
Z = NULL,
nystrom_inds = NULL
)
Arguments
samples |
An |
derivatives |
An |
sigma |
The tuning parameters of the specified kernel. This involves a single length-scale parameter in "gaussian" and "RQ", a length-scale and a smoothness parameter in "matern" and two parameters in "product" and "prodsim". See below for further details. |
steinOrder |
This is the order of the Stein operator. The default is |
kernel_function |
Choose between "gaussian", "matern", "RQ", "product" or "prodsim". See below for further details. |
Z |
(optional) An |
nystrom_inds |
(optional) The sample indices to be used in the Nystrom approximation (for when using aSECF). |
Value
An by
kernel matrix (or
by
where
is the length of
nystrom_inds
).
On the choice of
, the kernel and the Stein order
The kernel in Stein-based kernel methods is where
is a first or second order Stein operator in
and
is some generic kernel to be specified.
The Stein operators for distribution are defined as:
-
steinOrder=1
:(see e.g. Oates el al (2017))
-
steinOrder=2
:(see e.g. South el al (2020))
Here is the first order derivative wrt
and
is the Laplacian operator.
The generic kernels which are implemented in this package are listed below. Note that the input parameter sigma
defines the kernel parameters .
-
"gaussian"
: A Gaussian kernel, -
"matern"
: A Matern kernel with,
where
,
and
is the modified Bessel function of the second kind. Note that
is the length-scale parameter and
is the smoothness parameter (which defaults to 2.5 for
and 4.5 for
).
-
"RQ"
: A rational quadratic kernel, -
"product"
: The product kernel that appears in Oates et al (2017) with -
"prodsim"
: A slightly different product kernel with(see e.g. https://www.imperial.ac.uk/inference-group/projects/monte-carlo-methods/control-functionals/),
In the above equations, and
. For the last two kernels, the code only has implementations for
steinOrder
=1
. Each combination of steinOrder
and kernel_function
above is currently hard-coded but it may be possible to extend this to other kernels in future versions using autodiff. The calculations for the first three kernels above are detailed in South et al (2020).
Author(s)
Leah F. South
References
Oates, C. J., Girolami, M. & Chopin, N. (2017). Control functionals for Monte Carlo integration. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 79(3), 695-718.
South, L. F., Karvonen, T., Nemeth, C., Girolami, M. and Oates, C. J. (2020). Semi-Exact Control Functionals From Sard's Method. https://arxiv.org/abs/2002.00033