Skip to main content

BATMAN: Statistical analysis for expensive computer codes made easy

Project description

CI Codecov Python License Conda PyPi Zulip Joss

Batman

Batman stands for Bayesian Analysis Tool for Modelling and uncertAinty quaNtification. It is a Python module distributed under the open-source CECILL-B license (MIT/BSD compatible).

batman seamlessly allows to do statistical analysis (sensitivity analysis, Uncertainty Quantification, moments) based on non-intrusive ensemble experiment using any computer solver. It relies on open source python packages dedicated to statistics (OpenTURNS and scikit-learn).

Main features are:

  • Design of Experiment (LHS, low discrepancy sequences, MC),

  • Resample the parameter space based on the physic and the sample,

  • Surrogate Models (Gaussian process, Polynomial Chaos, RBF, scikit-learn’s regressors),

  • Optimization (Expected Improvement),

  • Sensitivity/Uncertainty Analysis (SA, UA) and Uncertainty Quantification (UQ),

  • Visualization in n-dimensions (HDR, Kiviat, PDF),

  • POD for database optimization or data reduction,

  • Automatically manage code computations in parallel.

Full documentation is available at:

http://batman.readthedocs.io

Getting started

A detailled example can be found in tutorial. The folder test_cases contains examples that you can adapt to you needs. You can find more information about the cases within the respectives README.rst file.

Shoud you be interested by batman’s implementation, consider reading the technical documentation.

If you encounter a bug (or have a feature request), please report it via GitLab. Or it might be you falling but “Why do we fall sir? So we can learn to pick ourselves up”.

Last but not least, if you consider contributing check-out contributing.

Happy batman.

How to install BATMAN?

The sources are located on GitLab:

https://gitlab.com/cerfacs/batman

Latest release

Install and update using pip:

pip install -U ot-batman

batman is also distributed through conda, on the conda-forge channel.

To install conda:

wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

To create a new environment and install batman through conda:

conda create -n bat_env -c conda-forge batman

All the above dependencies are automatically handled by conda, except Antares. For more information, refer to its documentation.

From sources

Using the latest python version is prefered! Then to install:

git clone git@gitlab.com:cerfacs/batman.git
cd batman
python setup.py install
python setup.py test
python setup.py build_sphinx

The latter is optionnal as it build the documentation. The testing part is also optionnal but is recommanded. (<30mins depending on your configuration).

If batman has been correctly installed, you should be able to call it simply:

batman -h
Dependencies

The required dependencies are:

Appart from OpenTURNS, required dependencies are satisfied by the installer. Optionnal dependencies are:

  • Antares for extra IO options

  • sphinx >= 1.4 for documentation

  • ffmpeg for movie visualizations (n_features > 2)

Testing dependencies are:

Extra testing flavours:

Help and Support

About us

See authors and project history at: about us.

Community

If you use batman, come and say hi at https://batman-cerfacs.zulipchat.com. Or send us an email. We would really appreciate that as we keep record of the users!

Citation

If you use batman in a scientific publication, we would appreciate citations.

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

ot-batman-1.9.1.tar.gz (29.5 MB view details)

Uploaded Source

Built Distribution

ot_batman-1.9.1-py2.py3-none-any.whl (29.6 MB view details)

Uploaded Python 2 Python 3

File details

Details for the file ot-batman-1.9.1.tar.gz.

File metadata

  • Download URL: ot-batman-1.9.1.tar.gz
  • Upload date:
  • Size: 29.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.6.7

File hashes

Hashes for ot-batman-1.9.1.tar.gz
Algorithm Hash digest
SHA256 403dae8dce9d5d19a24414eae4709be3c12614edcdda49682b7eed74c78800c8
MD5 13942a9b701618bc3511ac9038ff385b
BLAKE2b-256 807cf04d1520d2a6173e7c90598e2c012d711a614927faee30c85ba4c0ffa4ee

See more details on using hashes here.

File details

Details for the file ot_batman-1.9.1-py2.py3-none-any.whl.

File metadata

  • Download URL: ot_batman-1.9.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 29.6 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.6.7

File hashes

Hashes for ot_batman-1.9.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 32d73b74550ef6b0673e65070c547c40c55718c5e5506a66064f566edd93e3f3
MD5 6144bfd28c105d76f312fc364bcb0d46
BLAKE2b-256 e3f421faec2c852e58e50b5a796fc352a120037754e0957fa3a79e8906ab5901

See more details on using hashes here.

Supported by

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