nandigama / pints

Probabilistic Inference on Noisy Time Series

Home Page:http://pints.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

travis appveyor codecov Functional testing code Functional testing results binder readthedocs BCH compliance

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.

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.

Citing Pints

If you use PINTS in any scientific work, please credit our work with a citation.

Installing Pints

You'll need the following requirements:

  • Python 2.7 or Python 3.5+
  • Python libraries: cma numpy matplotlib scipy

These can easily be installed using pip. To do this, first make sure you have the latest version of pip installed:

$ pip install --upgrade pip

Then navigate to the path where you downloaded Pints to, and install both Pints and its dependencies by typing:

$ pip install .

To install Pints as a developer, use

$ pip install -e .[dev,docs]

To uninstall again, type

$ pip uninstall pints

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.

About

Probabilistic Inference on Noisy Time Series

http://pints.readthedocs.io

License:Other


Languages

Language:Python 100.0%