pints

Probabilistic Inference on Noisy Time Series

https://github.com/pints-team/pints

Science Score: 62.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    8 of 25 committers (32.0%) from academic institutions
  • Institutional organization owner
    Organization pints-team has institutional domain (www.cs.ox.ac.uk)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.9%) to scientific vocabulary

Keywords

bayesian-methods inverse-problems numerical-optimization parameter-estimation

Keywords from Contributors

cancer-research cell-based computational-biology developmental-biology electrophysiology hpc-applications mathematical-biology mathematical-modelling physiology
Last synced: 6 months ago · JSON representation ·

Repository

Probabilistic Inference on Noisy Time Series

Basic Info
  • Host: GitHub
  • Owner: pints-team
  • License: other
  • Language: Python
  • Default Branch: main
  • Homepage: http://pints.readthedocs.io
  • Size: 192 MB
Statistics
  • Stars: 239
  • Watchers: 11
  • Forks: 34
  • Open Issues: 146
  • Releases: 6
Topics
bayesian-methods inverse-problems numerical-optimization parameter-estimation
Created almost 9 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

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. Although it can be used as a general-purpose inference tool, it was developed specifically for 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.

Beyond time-series models, PINTS can be used on any error function or log-likelihood that takes real-valued, continuous parameters.

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

There are lots of ways to contribute to PINTS development, and anyone is free to join in! For example, you can report problems or make feature requests on the issues pages.

Similarly, if you want to contribute documentation or code you can tell us your idea on this page, and then provide a pull request for review. Because PINTS is a big project, we've written extensive contribution guidelines to help standardise the code — but don't worry, this will become clear during review.

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.

Owner

  • Name: PINTS - Probabilistic Inference for Noisy Time Series
  • Login: pints-team
  • Kind: organization

Citation (CITATION)

To cite PINTS in publications, please use:

Clerx, M., Robinson, M., Lambert, B., Lei, C. L., Ghosh, S., Mirams, G. R., & Gavaghan, D. J. (2019).
Probabilistic Inference on Noisy Time Series (PINTS).
Journal of Open Research Software, 7(1), 23.

https://doi.org/10.5334/jors.252

A BibTeX entry for LaTeX users is

@article{Clerx2019Pints,
  title={Probabilistic Inference on Noisy Time Series ({PINTS})},
  author={Clerx, Michael and Robinson, Martin and Lambert, Ben and Lei, Chon Lok and Ghosh, Sanmitra and Mirams, Gary R and Gavaghan, David J},
  journal={Journal of Open Research Software},
  volume={7},
  number={1},
  pages={23},
  year={2019},
  doi={10.5334/jors.252}
}

GitHub Events

Total
  • Issues event: 13
  • Watch event: 12
  • Delete event: 7
  • Issue comment event: 28
  • Push event: 22
  • Pull request review event: 4
  • Pull request review comment event: 2
  • Pull request event: 16
  • Fork event: 2
  • Create event: 6
Last Year
  • Issues event: 13
  • Watch event: 12
  • Delete event: 7
  • Issue comment event: 28
  • Push event: 22
  • Pull request review event: 4
  • Pull request review comment event: 2
  • Pull request event: 16
  • Fork event: 2
  • Create event: 6

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 3,253
  • Total Committers: 25
  • Avg Commits per committer: 130.12
  • Development Distribution Score (DDS): 0.676
Top Committers
Name Email Commits
Michael Clerx m****x@c****k 1,053
ben18785 b****t@g****m 598
Chon Lok Lei c****i@g****m 417
DavAug d****n@g****t 231
Michael Clerx m****x@n****k 174
Martin Robinson m****s@g****m 174
Michael Clerx M****x@u****m 142
rcw5890 r****l@h****k 132
phumtutum v****0@g****m 97
Fergus Cooper f****2@g****m 92
danielfridman98 d****n@y****u 37
Michael Clerx (UM) M****x@m****l 28
lorcandelaney l****6@g****m 19
Chon Lei c****i@c****k 17
Simon Marchant s****t@l****k 9
danielfridman98 3****8@u****m 8
Jack Arthur j****8@y****m 7
naunauyoh a****h@g****m 5
Sanmitra Ghosh s****5@h****m 4
rcw5890 5****0@u****m 3
Gary Mirams g****s@g****m 2
chonlei c****i@D****n 1
Graham Lee l****g@l****e 1
Steven Lang s****z@g****m 1
alisterde a****s@d****k 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 238
  • Total pull requests: 92
  • Average time to close issues: over 3 years
  • Average time to close pull requests: 3 months
  • Total issue authors: 20
  • Total pull request authors: 16
  • Average comments per issue: 2.62
  • Average comments per pull request: 3.37
  • Merged pull requests: 68
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 10
  • Pull requests: 8
  • Average time to close issues: 5 days
  • Average time to close pull requests: 13 days
  • Issue authors: 5
  • Pull request authors: 2
  • Average comments per issue: 0.9
  • Average comments per pull request: 1.38
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • MichaelClerx (112)
  • ben18785 (78)
  • DavAug (12)
  • chonlei (10)
  • martinjrobins (5)
  • rccreswell (4)
  • I-Bouros (3)
  • k-shep (2)
  • HOLL95 (2)
  • MarcBerliner (1)
  • elizavetasemenova (1)
  • abillscmu (1)
  • zaikunzhang (1)
  • feresro (1)
  • jarthu (1)
Pull Request Authors
  • MichaelClerx (69)
  • I-Bouros (5)
  • ben18785 (5)
  • phumtutum (4)
  • k-shep (3)
  • lorcandelaney (3)
  • DavAug (3)
  • chonlei (3)
  • rccreswell (2)
  • FelixNoessler (2)
  • RomanSyunyaev (2)
  • alisterde (2)
  • jarthur36 (2)
  • Rebecca-Rumney (1)
  • abillscmu (1)
Top Labels
Issue Labels
feature (44) new method (43) documentation (28) science! (24) code and design (18) priority (15) bug (11) good first issue (11) question (8) testing (7) infrastructure (7) easy win (4) student-project (4) installation (1)
Pull Request Labels
new method (4) documentation (2)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 8,968 last-month
  • Total dependent packages: 3
  • Total dependent repositories: 11
  • Total versions: 4
  • Total maintainers: 2
pypi.org: pints

Probabilistic Inference in Noisy Time-Series

  • Versions: 4
  • Dependent Packages: 3
  • Dependent Repositories: 11
  • Downloads: 8,968 Last month
Rankings
Dependent packages count: 2.4%
Downloads: 3.7%
Dependent repos count: 4.4%
Average: 4.5%
Stargazers count: 5.0%
Forks count: 7.1%
Maintainers (2)
Last synced: 6 months ago

Dependencies

.requirements-docs.txt pypi
  • cma >=2
  • guzzle-sphinx-theme *
  • matplotlib >=1.5
  • numpy >=1.8
  • scipy >=0.14
  • sphinx >=1.5,
  • tabulate *
setup.py pypi
  • Note *
  • cma >=2
  • matplotlib >=1.5
  • numpy >=1.8
  • on *
  • outside *
  • scipy >=0.14
  • tabulate *
  • threadpoolctl *
.github/workflows/copyright-test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/coverage-test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/docs-test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/notebook-interfaces-test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/notebook-test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/style-test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/unit-test-os-coverage.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/unit-test-python-coverage.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/upload-to-pypi.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish master composite