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.3.tar.gz (807.1 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.3-py3-none-any.whl (69.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mkgp-3.1.3.tar.gz
  • Upload date:
  • Size: 807.1 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.3.tar.gz
Algorithm Hash digest
SHA256 030a90b89e71fa527b9b5256ea39318f0d53bc2330fcd52dcd4c8d992e39d5fa
MD5 0301e6c1cbb9e2a961d5a0bffeabcaee
BLAKE2b-256 3780556c5aa2fd840f725c741165e066ddc7038ff472283e1c8010521b748286

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mkgp-3.1.3-py3-none-any.whl
  • Upload date:
  • Size: 69.6 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3bdaf2d7530411c2c7a545841d905426c9a9e6e7c8a3738a5ef61f45bea8f305
MD5 5f00717876f8e28b0c8bc8c4a9fea044
BLAKE2b-256 32859a6abf66d698bff0d6f1d07708bc86a3fa6bea3dd9e05d3bf736532fdf4e

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