mpiabc
MPI implementation of parameter fitting using approximate Bayesian computing (ABC) with sequential Monte Carlo (SMC) sampling
Science Score: 31.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
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.1%) to scientific vocabulary
Repository
MPI implementation of parameter fitting using approximate Bayesian computing (ABC) with sequential Monte Carlo (SMC) sampling
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Overview
Approximate Bayesian computing (ABC) with sequential Monte Carlo (SMC) sampling is an increasingly popular and principled approach for "tuning" slow-running stochastic models with a large number of parameters to multiple datasets. This process of choosing intervals of parameter values to match the datasets is also sometimes referred to as "model calibration".
Existing higher-level language implementations of ABC-SMC samplers lack a few desirable features:
- Debugging crashes of samplers written in higher-level languages that occur several days of walltime is more challenging than using rich coredumps from compiled languages like C and C++.
- Checkpointing and resuming calibrations is generally not supported by higher-level language ABC-SMC samplers.
- Parallel logging facilities are also not supported.
- Multivariate parameters like Dirichlet distributions e.g. of observed infection outcomes.
Such limitations jusfify the additional time and complexity involved with using lower-level languages to support these and other desirable features with more intricate control over implementation.
Configure dependencies
Polaris cluster
Load the modules for the MPI-ABC dependencies:\n
bash
module use /soft/modulefiles
module load cray-python spack-pe-base ninja math_libs/gsl doxygen
Local
If not using Polaris, fallback to a spack environment called "mpi-abc":\n
```bash git clone -c feature.manyFiles=true https://github.com/spack/spack.git cd spack source share/spack/setup-env.sh spack compiler find spack env create mpi-abc spack env activate mpi-abc spack add mpich spack add gsl+external-cblas spack add doxygen spack add ninja
For tests
spack add py-gcovr spack concretize spack install ```
Then to use this spack environment in the future:\n
shell
source spack/share/spack/setup-env.sh
spack env activate mpi-abc
Build
Run meson to build both the executable infer:\n
```bash BUILDDIR=../build-mpiabc meson setup -Db_coverage=true $BUILDDIR meson compile -C $BUILDDIR
Optional locations of headers for editing source files with Emacs flycheck:
cp -a $BUILDDIR/.dir-locals.el . ```
Documentation
Generate the Doxygen PDF at $BUILDDIR/latex/refman.pdf:\n
bash
BUILDDIR=../build-mpiabc
meson compile -C $BUILDDIR docs
Test
bash
BUILDDIR=../build-mpiabc
meson test --suite mpiabc -C $BUILDDIR
Check test coverage with:\n
bash
BUILDDIR=../build-mpiabc
meson setup -Db_coverage=true --reconfigure $BUILDDIR
meson test --suite mpiabc -C $BUILDDIR
ninja coverage-text -C $BUILDDIR &&
cat $BUILDDIR/meson-logs/coverage.txt
Check for memory leaks with:\n
bash
BUILDDIR=../build-mpiabc
CK_FORK=no valgrind --leak-check=full $BUILDDIR/test_abc
API
The included example Lotka-Volterra model illustrates the 4 steps necessary to integrate a model into the MPI-ABC framework:
- Fit priors matching parameters in the model to the calibrated.
- Fix the remaining parameters.
- Check that the model produces outcome variables.
- Convert model outcomes into one-or-more distances; the distances are also called summary statistics.
Owner
- Name: Pariksheet Nanda
- Login: omsai
- Kind: user
- Repositories: 16
- Profile: https://github.com/omsai
Citation (citations.bib)
@book{sisson2019,
address = {Boca Raton},
title = {Handbook of approximate Bayesian computation},
isbn = {978-1-4398-8151-4},
publisher = {CRC Press, Taylor and Francis Group},
editor = {Sisson, S. A. and Fan, Y. and Beaumont, M. A.},
year = {2019},
keywords = {Bayesian statistical decision theory, Mathematical analysis},
}
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total 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
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