Skip to main content

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

midas_fusion-0.2.0.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

midas_fusion-0.2.0-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

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

Hashes for midas_fusion-0.2.0.tar.gz
Algorithm Hash digest
SHA256 88a70ba1921437b981179fe35d7c8678c54e6a83f62bb596e33c2904c7ceb421
MD5 be36ee0d99738545feb9d0e4136e3644
BLAKE2b-256 caecfc6df7a271ceb6d4052166dbd19a928365a8e57776b26bf56c6ae34ccde5

See more details on using hashes here.

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

Hashes for midas_fusion-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 da32b39835b6a9588e314dcb1467ec9f83de866da63dfe1b412a03579429edef
MD5 191f0fbcd807c6924a382fd8711cd1c1
BLAKE2b-256 ebccaee9305f5465f9fb0199ea98545bcc70946e423a37d1a44334b761c655d3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page