## Expand description

This library implements Gaussian Process regression also known as Kriging models, it is a port of SMT Kriging and KPLS surrogate models.

It also implements Sparse Gaussian Processes methods (SGPs) which address limitations of Gaussian Processes (GPs) when the number of training points is large. Indeed the complexity of GPs algorithm is in O(N^3) in processing time and O(N^2) in memory where N is the number of training points. The complexity is then respectively reduced to O(N.M^2) and O(NM) where M is the number of so-called inducing points with M < N.

GP methods are implemented by GaussianProcess parameterized by GpParams.

SGP methods are implemented by SparseGaussianProcess parameterized by SgpParams.

## Modules§

- A module for correlation models with PLS weighting to model the error term of the GP model.
- A module for regression models to model the mean term of the GP model. In practice small degree (<= 2) polynomial regression models are used, as the gaussian process is then fitted using the correlated error term.

## Structs§

- A GP regression is an interpolation method where the interpolated values are modeled by a Gaussian process with a mean and governed by a prior covariance kernel, which depends on some parameters to be determined.
- The set of hyperparameters that can be specified for the execution of the GP algorithm.
- A set of validated GP parameters.
- Gausssian Process adaptator to implement
`linfa::Predict`

trait for variance prediction. - The set of hyperparameters that can be specified for the execution of the SGP algorithm.
- A set of validated SGP parameters.
- Sparse gaussian process considers a set of
`M`

inducing points either to approximate the posterior Gaussian distribution with a low-rank representation (FITC - Fully Independent Training Conditional method), or to approximate the posterior distribution directly (VFE - Variational Free Energy method). - Sparse Gausssian Process adaptator to implement
`linfa::Predict`

trait for variance prediction.

## Enums§

- An error when using
`GaussianProcess`

or a`SparseGaussianProcess`

algorithm - SGP inducing points specification
- Variance estimation method
- SGP algorithm method specification
- An enum to represent a n-dim hyper parameter tuning

## Type Aliases§

- Kriging as GP special case when using constant mean and squared exponential correlation
- A result type for GP regression algorithm
- Kriging as sparse GP special case when using squared exponential correlation