gpvecchia¶
Vecchia approximation routines for Gaussian Process regression and data assimilation, built for scaling Gaussian Process likelihood evaluation, prediction, and sampling to large datasets. This is a lightweight adaptation of code from DGP.
Install with pip:
pip install gpvecchia
See Examples for worked use cases (kernel estimation via MLE and MCMC, drawing samples, anisotropic/scaled kernels), and API for the full class and function reference.
import numpy as np
from gpvecchia import GPtideVecchia
from gpvecchia.cov import matern32
# Training data locations and observed values
xd = np.linspace(0, 100, 1000)[:, None]
yd = np.sin(xd[:, 0] / 5) + 0.1 * np.random.randn(1000)
# covparams = (marginal std dev, length scale)
covparams = (1.0, 5.0)
noise = 0.1
GP = GPtideVecchia(
xd, xd, noise, matern32, covparams,
order_func=np.random.permutation, order_params=len(xd),
)
mean, std = GP(yd)