Skip to main content

Probabilistic Inference in Noisy Time-Series

Project description

Unit tests on multiple python versions Unit tests on multiple operating systems codecov Change-point testing code Change-point testing results binder readthedocs

What is Pints?

PINTS (Probabilistic Inference on Noisy Time-Series) is a framework for optimisation and Bayesian inference on ODE models of noisy time-series, such as arise in electrochemistry and cardiac electrophysiology.

PINTS is described in this publication in JORS, and can be cited using the information given in our CITATION file. More information about PINTS papers can be found in the papers directory.

Using PINTS

PINTS can work with any model that implements the pints.ForwardModel interface. This has just two methods:

n_parameters() --> Returns the dimension of the parameter space.

simulate(parameters, times) --> Returns a vector of model evaluations at
                                the given times, using the given parameters

Experimental data sets in PINTS are defined simply as lists (or arrays) of times and corresponding experimental values. If you have this kind of data, and if your model (or model wrapper) implements the two methods above, then you are ready to start using PINTS to infer parameter values using optimisation or sampling.

A brief example is shown below: An example of using PINTS in an optimisation (Left) A noisy experimental time series and a computational forward model. (Right) Example code for an optimisation problem. The full code can be viewed here but a friendlier, more elaborate, introduction can be found on the examples page.

A graphical overview of the methods included in PINTS can be viewed here.

Examples and documentation

PINTS comes with a number of detailed examples, hosted here on github. In addition, there is a full API documentation, hosted on readthedocs.io.

Installing PINTS

The latest release of PINTS can be installed without downloading (cloning) the git repository, by opening a console and typing

$ pip install --upgrade pip
$ pip install pints

Note that you'll need Python 3.6 or newer.

If you prefer to have the latest cutting-edge version, you can instead install from the repository, by typing

$ git clone https://github.com/pints-team/pints.git
$ cd pints
$ pip install -e .[dev,docs]

To uninstall again, type:

$ pip uninstall pints

What's new in this version of PINTS?

To see what's changed in the latest release, see the CHANGELOG.

Contributing to PINTS

If you'd like to help us develop PINTS by adding new methods, writing documentation, or fixing embarassing bugs, please have a look at these guidelines first.

License

PINTS is fully open source. For more information about its license, see LICENSE.

Get in touch

Questions, suggestions, or bug reports? Open an issue and let us know.

Alternatively, feel free to email us at pints at maillist.ox.ac.uk.

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

pints-0.5.0.tar.gz (211.1 kB view details)

Uploaded Source

Built Distribution

pints-0.5.0-py3-none-any.whl (284.9 kB view details)

Uploaded Python 3

File details

Details for the file pints-0.5.0.tar.gz.

File metadata

  • Download URL: pints-0.5.0.tar.gz
  • Upload date:
  • Size: 211.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for pints-0.5.0.tar.gz
Algorithm Hash digest
SHA256 bad91e7af2500298f97bc74decdd5d81fe7496ae9f47849e31080fd5912fc978
MD5 3eb1094e3692bcc3d9e7013c0cd20a2c
BLAKE2b-256 6f2f8fa1e9c632e965aacc104947722e00f33cf18885001dd32b59187084823c

See more details on using hashes here.

File details

Details for the file pints-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: pints-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 284.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for pints-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4fdf242140967c917c27a771fa745ae0b0550f4561768ce5f52f16f6f17246c8
MD5 ba7466aa09043756360043fdfe1149c6
BLAKE2b-256 dd835ac1665191b652ccabc30ce561528ad10e05d00a59dfaf1b0fc5dbbf28d0

See more details on using hashes here.

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