This is an old version, view current version.

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 \(K_{ij} = k(x_i, x_j)\) (where \(x_i\) is the \(i^{th}\) element of the array \(x\)) and the cross-covariance is given by \(K_{ij} = k(x_i, y_j)\).

For multi-dimensional GPs, the input data sets are arrays of vectors. The covariance matrix is given by \(K_{ij} = k(\mathbf{x}_i, \mathbf{x}_j)\) (where \(\mathbf{x}_i\) is the \(i^{th}\) vector in the array \(x\)) and the cross-covariance is given by \(K_{ij} = k(\mathbf{x}_i, \mathbf{y}_j)\).

6.13.1 Exponentiated quadratic kernel

With magnitude \(\sigma\) and length scale \(l\), the exponentiated quadratic kernel is:

\[ k(\mathbf{x}_i, \mathbf{x}_j) = \sigma^2 \exp \left( -\frac{|\mathbf{x}_i - \mathbf{x}_j|^2}{2l^2} \right) \]

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 \(\sigma_0\) the dot product kernel is:

\[ k(\mathbf{x}_i, \mathbf{x}_j) = \sigma_0^2 + \mathbf{x}_i^T \mathbf{x}_j \]

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 \(\sigma\) and length scale \(l\), the exponential kernel is:

\[ k(\mathbf{x}_i, \mathbf{x}_j) = \sigma^2 \exp \left( -\frac{|\mathbf{x}_i - \mathbf{x}_j|}{l} \right) \]

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 \(\sigma\) and length scale \(l\), the Matern 3/2 kernel is:

\[ k(\mathbf{x}_i, \mathbf{x}_j) = \sigma^2 \left( 1 + \frac{\sqrt{3}|\mathbf{x}_i - \mathbf{x}_j|}{l} \right) \exp \left( -\frac{\sqrt{3}|\mathbf{x}_i - \mathbf{x}_j|}{l} \right) \]

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 \(\sigma\) and length scale \(l\), the Matern 5/2 kernel is:

\[ k(\mathbf{x}_i, \mathbf{x}_j) = \sigma^2 \left( 1 + \frac{\sqrt{5}|\mathbf{x}_i - \mathbf{x}_j|}{l} + \frac{5 |\mathbf{x}_i - \mathbf{x}_j|^2}{3l^2} \right) \exp \left( -\frac{\sqrt{5} |\mathbf{x}_i - \mathbf{x}_j|}{l} \right) \]

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 \(\sigma\), length scale \(l\), and period \(p\), the periodic kernel is:

\[ k(\mathbf{x}_i, \mathbf{x}_j) = \sigma^2 \exp \left(-\frac{2 \sin^2 \left( \pi \frac{|\mathbf{x}_i - \mathbf{x}_j|}{p} \right) }{l^2} \right) \]

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