Skip to main content

A general purpose Gaussian process regression module

Project description

PyPI

lsqfitgp

Python module for manipulating Gaussian processes. Features:

  • Use gvar to keep track transparently of dependencies 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 their priors. Use gvar.BufferDict to transparently apply transformations to implement Gaussian copulas.
  • Get a covariance matrix for the optimized hyperparameters.
  • Many covariance functions, including one for BART (Bayesian Additive Regression Trees).

See this report for the theory behind lsqfitgp.

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
$ make resetenv
$ . pyenv/bin/activate

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: [...]
$ 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.

Similar libraries

See also Comparison of Gaussian process Software on Wikipedia.

License

This software is released under the GPL. Amongst other things, it implies that, if you release an adaptation of this software, or even a program just importing it as external library, you have to release its code as open source with a license at least as strong as the GPL.

This software contains code adapted from the following sources:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lsqfitgp-0.18.tar.gz (126.8 kB view hashes)

Uploaded Source

Built Distribution

lsqfitgp-0.18-py3-none-any.whl (154.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page