lsqfitgp

A general purpose Gaussian process regression module


Keywords
bart, gaussian-processes, least-squares, python
License
GPL-3.0
Install
pip install lsqfitgp==0.20.2

Documentation

PyPI

lsqfitgp

Python module for manipulating Gaussian processes. Features:

  • Use gvar to keep track transparently of correlations between prior, data and posterior.

  • Fit a latent Gaussian process in a nonlinear model with lsqfit.

  • JAX-friendly.

  • Supports multidimensional structured non-numerical input with named dimensions.

  • Apply arbitrary linear transformations to the process, finite and infinite.

  • Use dictionaries to manipulate hyperparameters and hyperpriors. Use gvar.BufferDict to transparently apply transformations.

  • Get a covariance matrix for the optimized hyperparameters.

Installation

Python >= 3.8 required. Then:

$ pip install lsqfitgp

Documentation

The complete manual is available online at gattocrucco.github.io/lsqfitgp/docs. All the code is documented with docstrings, so you can also use the Python help system directly from the shell:

>>> import lsqfitgp as lgp
>>> help(lgp)
>>> help(lgp.something)

or, in an IPython shell/Jupyter notebook/Spyder IDE, use the question mark shortcut:

In [1]: lgp?

In [2]: lgp.something?

To access the manual for older versions, use the index at gattocrucco.github.io/lsqfitgp.

Development

Clone the repository, create a virtual environment and install the requirements:

$ git clone https://github.com/Gattocrucco/lsqfitgp.git
$ cd lsqfitgp
$ python -m venv myenv
$ . myenv/bin/activate
(myenv) $ pip install -r requirements.txt

The Makefile in the root directory contains targets to build the documentation, run the tests, and prepare a release. Run make without arguments to show the available targets:

$ make
available targets: upload release tests examples docscode docs covreport
release = tests examples docscode docs (in order)
$ make tests # or make examples, or ...

The tests are run on each push and the resulting coverage report is published online at gattocrucco.github.io/lsqfitgp/htmlcov. To browse it locally after make tests etc., do make covreport and open htmlcov/index.html in your browser.