VaryingAmplitude#

class gpjax.kernels.VaryingAmplitude(base_kernel, amplitude, compute_engine=<gpjax.kernels.computations.dense.DenseKernelComputation object>)[source]#

Bases: AbstractKernel

A base kernel whose standard deviation changes with location.

Computes the covariance for a pair of inputs \((x, y)\) from a base kernel \(k_0\) and a location function \(g\) that gives \(\log\sigma(x)\):

\[ k(x, y) = \sigma(x)\,\sigma(y)\,k_0(x, y), \qquad \sigma(x) = \exp g(x). \]

The kernel is positive definite for every base kernel that is positive definite. The marginal variance at \(x\) is \(\sigma(x)^2 k_0(x, x)\), so the base kernel’s variance holds the overall scale and \(\sigma(x)\) holds the change over location. Use it when variability is larger in some regions than in others, for example over land than over sea.

The base kernel selects the columns over which it measures distance with its own active_dims, and the location function selects its covariate columns. The wrapper itself always receives every column.

Parameters: