6.13 Gaussian Process Covariance Functions
The Gaussian process covariance functions compute the covariance between observations in an input data set or the cross-covariance between two input data sets.
For one dimensional GPs, the input data sets are arrays of scalars. The covariance matrix is given by Kij=k(xi,xj) (where xi is the ith element of the array x) and the cross-covariance is given by Kij=k(xi,yj).
For multi-dimensional GPs, the input data sets are arrays of vectors. The covariance matrix is given by Kij=k(xi,xj) (where xi is the ith vector in the array x) and the cross-covariance is given by Kij=k(xi,yj).
6.13.1 Exponentiated quadratic kernel
With magnitude σ and length scale l, the exponentiated quadratic kernel is:
k(xi,xj)=σ2exp(−|xi−xj|22l2)
matrix
gp_exp_quad_cov
(array[] real x, real sigma, real length_scale)
Gaussian process covariance with exponentiated quadratic kernel in one dimension.
Available since 2.20
matrix
gp_exp_quad_cov
(array[] real x1, array[] real x2, real sigma, real length_scale)
Gaussian process cross-covariance of x1
and x2
with exponentiated quadratic
kernel in one dimension.
Available since 2.20
matrix
gp_exp_quad_cov
(vectors x, real sigma, real length_scale)
Gaussian process covariance with exponentiated quadratic kernel in multiple dimensions.
Available since 2.20
matrix
gp_exp_quad_cov
(vectors x, real sigma, array[] real length_scale)
Gaussian process covariance with exponentiated quadratic kernel in multiple
dimensions with a length scale for each dimension.
Available since 2.20
matrix
gp_exp_quad_cov
(vectors x1, vectors x2, real sigma, real length_scale)
Gaussian process cross-covariance of x1
and x2
with exponentiated quadratic
kernel in multiple dimensions.
Available since 2.20
matrix
gp_exp_quad_cov
(vectors x1, vectors x2, real sigma, array[] real length_scale)
Gaussian process cross-covariance of x1
and x2
with exponentiated quadratic
kernel in multiple dimensions with a length scale for each dimension.
Available since 2.20
6.13.2 Dot product kernel
With bias σ0 the dot product kernel is:
k(xi,xj)=σ20+xTixj
matrix
gp_dot_prod_cov
(array[] real x, real sigma)
Gaussian process covariance with dot product kernel in one dimension.
Available since 2.20
matrix
gp_dot_prod_cov
(array[] real x1, array[] real x2, real sigma)
Gaussian process cross-covariance of x1
and x2
with dot product
kernel in one dimension.
Available since 2.20
matrix
gp_dot_prod_cov
(vectors x, real sigma)
Gaussian process covariance with dot product kernel in multiple dimensions.
Available since 2.20
matrix
gp_dot_prod_cov
(vectors x1, vectors x2, real sigma)
Gaussian process cross-covariance of x1
and x2
with dot product
kernel in multiple dimensions.
Available since 2.20
6.13.3 Exponential kernel
With magnitude σ and length scale l, the exponential kernel is:
k(xi,xj)=σ2exp(−|xi−xj|l)
matrix
gp_exponential_cov
(array[] real x, real sigma, real length_scale)
Gaussian process covariance with exponential kernel in one dimension.
Available since 2.20
matrix
gp_exponential_cov
(array[] real x1, array[] real x2, real sigma, real length_scale)
Gaussian process cross-covariance of x1
and x2
with exponential
kernel in one dimension.
Available since 2.20
matrix
gp_exponential_cov
(vectors x, real sigma, real length_scale)
Gaussian process covariance with exponential kernel in multiple dimensions.
Available since 2.20
matrix
gp_exponential_cov
(vectors x, real sigma, array[] real length_scale)
Gaussian process covariance with exponential kernel in multiple
dimensions with a length scale for each dimension.
Available since 2.20
matrix
gp_exponential_cov
(vectors x1, vectors x2, real sigma, real length_scale)
Gaussian process cross-covariance of x1
and x2
with exponential
kernel in multiple dimensions.
Available since 2.20
matrix
gp_exponential_cov
(vectors x1, vectors x2, real sigma, array[] real length_scale)
Gaussian process cross-covariance of x1
and x2
with exponential
kernel in multiple dimensions with a length scale for each dimension.
Available since 2.20
6.13.4 Matern 3/2 kernel
With magnitude σ and length scale l, the Matern 3/2 kernel is:
k(xi,xj)=σ2(1+√3|xi−xj|l)exp(−√3|xi−xj|l)
matrix
gp_matern32_cov
(array[] real x, real sigma, real length_scale)
Gaussian process covariance with Matern 3/2 kernel in one dimension.
Available since 2.20
matrix
gp_matern32_cov
(array[] real x1, array[] real x2, real sigma, real length_scale)
Gaussian process cross-covariance of x1
and x2
with Matern 3/2
kernel in one dimension.
Available since 2.20
matrix
gp_matern32_cov
(vectors x, real sigma, real length_scale)
Gaussian process covariance with Matern 3/2 kernel in multiple dimensions.
Available since 2.20
matrix
gp_matern32_cov
(vectors x, real sigma, array[] real length_scale)
Gaussian process covariance with Matern 3/2 kernel in multiple
dimensions with a length scale for each dimension.
Available since 2.20
matrix
gp_matern32_cov
(vectors x1, vectors x2, real sigma, real length_scale)
Gaussian process cross-covariance of x1
and x2
with Matern 3/2
kernel in multiple dimensions.
Available since 2.20
matrix
gp_matern32_cov
(vectors x1, vectors x2, real sigma, array[] real length_scale)
Gaussian process cross-covariance of x1
and x2
with Matern 3/2
kernel in multiple dimensions with a length scale for each dimension.
Available since 2.20
6.13.5 Matern 5/2 kernel
With magnitude σ and length scale l, the Matern 5/2 kernel is:
k(xi,xj)=σ2(1+√5|xi−xj|l+5|xi−xj|23l2)exp(−√5|xi−xj|l)
matrix
gp_matern52_cov
(array[] real x, real sigma, real length_scale)
Gaussian process covariance with Matern 5/2 kernel in one dimension.
Available since 2.20
matrix
gp_matern52_cov
(array[] real x1, array[] real x2, real sigma, real length_scale)
Gaussian process cross-covariance of x1
and x2
with Matern 5/2
kernel in one dimension.
Available since 2.20
matrix
gp_matern52_cov
(vectors x, real sigma, real length_scale)
Gaussian process covariance with Matern 5/2 kernel in multiple dimensions.
Available since 2.20
matrix
gp_matern52_cov
(vectors x, real sigma, array[] real length_scale)
Gaussian process covariance with Matern 5/2 kernel in multiple
dimensions with a length scale for each dimension.
Available since 2.20
matrix
gp_matern52_cov
(vectors x1, vectors x2, real sigma, real length_scale)
Gaussian process cross-covariance of x1
and x2
with Matern 5/2
kernel in multiple dimensions.
Available since 2.20
matrix
gp_matern52_cov
(vectors x1, vectors x2, real sigma, array[] real length_scale)
Gaussian process cross-covariance of x1
and x2
with Matern 5/2
kernel in multiple dimensions with a length scale for each dimension.
Available since 2.20
6.13.6 Periodic kernel
With magnitude σ, length scale l, and period p, the periodic kernel is:
k(xi,xj)=σ2exp(−2sin2(π|xi−xj|p)l2)
matrix
gp_periodic_cov
(array[] real x, real sigma, real length_scale, real period)
Gaussian process covariance with periodic kernel in one dimension.
Available since 2.20
matrix
gp_periodic_cov
(array[] real x1, array[] real x2, real sigma, real length_scale, real period)
Gaussian process cross-covariance of x1
and x2
with periodic
kernel in one dimension.
Available since 2.20
matrix
gp_periodic_cov
(vectors x, real sigma, real length_scale, real period)
Gaussian process covariance with periodic kernel in multiple dimensions.
Available since 2.20
matrix
gp_periodic_cov
(vectors x1, vectors x2, real sigma, real length_scale, real period)
Gaussian process cross-covariance of x1
and x2
with periodic
kernel in multiple dimensions with a length scale for each dimension.
Available since 2.20