Skip to main content

Classes for Gaussian Process Regression fitting of ND data with errorbars

Project description

mkgp

These classes and routines were developed by Aaron Ho, and this project repository was started in 2017. The underlying mathematics was founded on the book, “Gaussian Process for Machine Learning”, C.E. Rasmussen, C.K.I. Williams (2006).

When using this package in any research work, please cite: A. Ho et al 2019 Nucl. Fusion 59 056007, DOI: 10.1088/1741-4326/ab065a

Note that the package has been renamed from GPR1D -> mkgp in v3.0.0.

Installing the mkgp program

Installation is mandatory for this package!

For first time users, it is strongly recommended to use the GUI developed for this Python package. To obtain the Python package dependencies needed to use this capability, install this package by using the following on the command line:

pip install [--user] mkgp[gui]

Use the --user flag if you do not have root access on the system that you are working on. If you have already cloned the repository, enter the top level of the repository directory and use the following instead:

pip install [--user] -e .[gui]

Removal of the [gui] portion will no longer check for the pyqt5 and matplotlib packages needed for this functionality. However, these packages are not crucial for the base classes and algorithms.

To test the installation, execute the command line script:

mkgp_1d_demo

This demonstration benefits from having matplotlib installed, but is not required.

Documentation

Documentation of the equations used in the algorithm, along with the available kernels and optimizers, can be found in docs/. Documentation of the mkgp module can be found on GitLab pages

Using the gpr1d program

For those who wish to include the functionality of this package into their own Python scripts, a sample script is provided in src/mkgp/scripts/demo.py. The basic syntax used to create kernels, select optimizers, and perform the GP regression fits are outlined there.

For any questions or to report bugs, please do so through the proper channels in the GitLab repository.

Important note for users!

The following runtime warnings are common within this routine:

RuntimeWarning: overflow encountered in double_scalars
RuntimeWarning: invalid value encountered in true_divide
RuntimeWarning: invalid value encountered in sqrt

They are filtered out by default but may reappear if verbosity settings are modified. They normally occur when using the kernel restarts option (as in the demo) and do not necessarily mean that the final returned fit is poor.

Plotting the returned fit and errors is the recommended way to check its quality. The log-marginal-likelihood metric can also be used, but is only valuable when comparing different fits of the same data, i.e. its absolute value is meaningless.

From v1.1.1, the adjusted R2 and pseudo R2 metrics are now available. The adjusted R2 metric provides a measure of how close the fit is to the input data points. The pseudo R2 provides a measure of this closeness accounting for the input data uncertainties.

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

mkgp-3.1.2.tar.gz (806.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mkgp-3.1.2-py3-none-any.whl (69.4 kB view details)

Uploaded Python 3

File details

Details for the file mkgp-3.1.2.tar.gz.

File metadata

  • Download URL: mkgp-3.1.2.tar.gz
  • Upload date:
  • Size: 806.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for mkgp-3.1.2.tar.gz
Algorithm Hash digest
SHA256 cd97110246a5dc1eb0dd14eaaf65c0bc944671540b818f504a4856877c73c91c
MD5 51c688904769c69a020492c04850162c
BLAKE2b-256 18f09c29a821a7f02f35bb869ee3862cad5f8cdd8d561327227ff771d97fa19b

See more details on using hashes here.

File details

Details for the file mkgp-3.1.2-py3-none-any.whl.

File metadata

  • Download URL: mkgp-3.1.2-py3-none-any.whl
  • Upload date:
  • Size: 69.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for mkgp-3.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 38667675415598f09d51e22ca43b950f13d9c9bcc6a88d333534d78f42523e86
MD5 54dbd9f83e138f4b63b3bc2800a2b8bd
BLAKE2b-256 29a904ea5865e31ad9c05aa69e99f8685d4e2f7c49251b9647356cbe34525067

See more details on using hashes here.

Supported by

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