A Multi-Instrument Data Analysis System for Bayesian and integrated data analysis
Project description
MIDAS
MIDAS is a framework for Bayesian and integrated data analysis. Documentation and examples are under construction! Some key features of MIDAS are:
Use diagnostic models from any source
MIDAS is designed to work with any diagnostic model which can by called from within Python, and does not require models to be implemented within a specific framework. Instead, MIDAS provides tools to create a lightweight wrapper around external forward-models which allows them to interface with MIDAS.
Efficient inference through analytic propagation of derivatives
Efficient MAP estimation and MCMC sampling in inference problems with ~20 or more free parameters relies heavily on the ability to calculate the derivative of the posterior log-probability with respect to those parameters.
Given the Jacobian of a diagnostic model (i.e. the derivatives of the model predictions with respect to the model inputs) MIDAS will automatically propagate those derivatives through the subsequent steps in calculating the posterior log-probability, so the gradient of the posterior log-probability can be calculated analytically.
This allows MIDAS tackle large-scale problems with hundreds or thousands of free parameters, or to solve smaller problems quickly and routinely.
Easy interfacing to the Python scientific software ecosystem
MIDAS is designed to be used easily with external libraries, for example
using optimisers from scipy.optimize
to maximise the posterior log-probability, or MCMC samplers from
inference-tools to sample from the posterior.
Modularity to allow easy exchange of models
Analysis in MIDAS is built from three types of models:
- Diagnostic forward-models which make predictions of diagnostic signals.
- Likelihood functions which model the uncertainties on measured data.
- Plasma field models which give a parametrised description of the plasma state.
Each of these model types have interfaces defined by an associated abstract base-class, which allows them to communicate with the framework. This abstraction means that models can be easily swapped in and out of the analysis without requiring code changes.
For example, a forward-model for a Thomson-scattering diagnostic is able to request the values of the electron temperature and density from their associated field models, but is completely independent of the specific choice of parametrisation for those fields.
Installation
MIDAS is available from PyPI, so can be easily installed using pip as follows:
pip install midas-fusion
Documentation
Documentation is still under construction - currently available docs can be found at midas-fusion.readthedocs.io.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file midas_fusion-0.2.0.tar.gz.
File metadata
- Download URL: midas_fusion-0.2.0.tar.gz
- Upload date:
- Size: 19.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88a70ba1921437b981179fe35d7c8678c54e6a83f62bb596e33c2904c7ceb421
|
|
| MD5 |
be36ee0d99738545feb9d0e4136e3644
|
|
| BLAKE2b-256 |
caecfc6df7a271ceb6d4052166dbd19a928365a8e57776b26bf56c6ae34ccde5
|
File details
Details for the file midas_fusion-0.2.0-py3-none-any.whl.
File metadata
- Download URL: midas_fusion-0.2.0-py3-none-any.whl
- Upload date:
- Size: 19.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da32b39835b6a9588e314dcb1467ec9f83de866da63dfe1b412a03579429edef
|
|
| MD5 |
191f0fbcd807c6924a382fd8711cd1c1
|
|
| BLAKE2b-256 |
ebccaee9305f5465f9fb0199ea98545bcc70946e423a37d1a44334b761c655d3
|