calibr
Parallelized Bayesian calibration of simulations using Gaussian process emulation
Science Score: 75.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
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
○Committers with academic emails
-
✓Institutional organization owner
Organization ucl has institutional domain (www.ucl.ac.uk) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.9%) to scientific vocabulary
Keywords
Repository
Parallelized Bayesian calibration of simulations using Gaussian process emulation
Basic Info
- Host: GitHub
- Owner: UCL
- License: mit
- Language: Python
- Default Branch: main
- Homepage: http://github-pages.ucl.ac.uk/calibr/
- Size: 651 KB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
calibr
Parallelized Bayesian calibration of simulations using Gaussian process emulation.
calibr is a Python implementation of the algorithm described in Parallel Gaussian
process surrogate Bayesian inference with noisy likelihood evaluations (Jrvenp,
Gutmann, Vehtari and Marttinen; 2021)
(doi:10.1214/20-BA1200,
arxiv:1905.01252). It is designed to allow
estimation of the posterior distribution on the unknown parameters of expensive to
evaluate simulator models given observed data, using a batch sequential design strategy
which iterates fitting a Gaussian process emulator to a set of evaluations of the
(unnormalized) posterior density for the model and using the emulator to identify a new
batch of model parameters at which to evaluate the posterior density which minimize a
measure of the expected uncertainty in the emulation of the posterior density.
The posterior density can be evaluated at the parameter values in each batch in parallel, providing the opportunity for speeding up calibration runs on multi-core and multi-node high performance computing systems. The acquisition functions used to choose new parameter values to evaluate are implemented using the high-performance numerical computing framework JAX, with the gradient-based optimization of these acquisition functions exploiting JAX's support for automatic differentiation.
The package is still in the early stages of development, with only a subset of the algorithmic variants proposed by Jrvenp, Gutmann, Vehtari and Marttinen (2021) currently implemented. In particular there is no support yet for models with noisy likelihood evaluations. Expect lots of rough edges!
This project is developed in collaboration with the Centre for Advanced Research Computing, University College London.
Getting started
Prerequisites
calibr requires Python 3.10–3.12.
Installation
We recommend installing in a project specific virtual environment created using a environment management tool such as Mamba or Conda. To install the latest development version of calibr using pip in the currently active environment run
sh
pip install git+https://github.com/UCL/calibr.git
Alternatively create a local clone of the repository with
sh
git clone https://github.com/UCL/calibr.git
and then install in editable mode by running
sh
pip install -e .
Documentation
Documentation for the package is available at https://github-pages.ucl.ac.uk/calibr/.
Running tests
Tests can be run across all compatible Python versions in isolated environments using
tox by running
sh
tox
To run tests manually in a Python environment with pytest installed run
sh
pytest tests
again from the root of the repository.
Building documentation
The MkDocs HTML documentation can be built locally by running
sh
tox -e docs
from the root of the repository. The built documentation will be written to
site.
Alternatively to build and preview the documentation locally, in a Python
environment with the optional docs dependencies installed, run
sh
mkdocs serve
Acknowledgements
This work was funded by a grant from the ExCALIBUR programme.
Owner
- Name: University College London
- Login: UCL
- Kind: organization
- Email: rc-softdev@ucl.ac.uk
- Website: www.ucl.ac.uk
- Repositories: 300
- Profile: https://github.com/UCL
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
type: software
authors:
- family-names: "Graham"
given-names: "Matt"
orcid: "https://orcid.org/0000-0001-9104-7960"
affiliation: University College London
title: "calibr: Bayesian calibration of simulations using Gaussian process emulation"
license: "MIT"
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 0
- Total pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: about 2 hours
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- matt-graham (2)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/cache v3 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/cache v3 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- jax *
- numpy *
- scipy *