https://github.com/tupui/batman
batman, uncertainty quantification made easy. Any solver, non intrusive.
https://github.com/tupui/batman
bayesian-optimization optimization python sensitivity-analysis uncertainty
Last synced: 5 months ago
JSON representation
batman, uncertainty quantification made easy. Any solver, non intrusive.
- Host: GitHub
- URL: https://github.com/tupui/batman
- Owner: tupui
- License: bsd-3-clause
- Created: 2019-06-28T06:23:42.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2021-01-08T20:41:07.000Z (over 5 years ago)
- Last Synced: 2025-02-01T22:29:10.691Z (over 1 year ago)
- Topics: bayesian-optimization, optimization, python, sensitivity-analysis, uncertainty
- Language: GLSL
- Homepage:
- Size: 38.7 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Awesome Lists containing this project
README
|CI|_ |Python|_ |License|_ |Joss|_
.. |CI| image:: https://circleci.com/gh/tupui/batman.svg?style=svg
.. _CI: https://circleci.com/gh/tupui/batman
.. |Python| image:: https://img.shields.io/badge/python-3.8-blue.svg
.. _Python: https://python.org
.. |License| image:: https://img.shields.io/badge/license-BSD_License-blue.svg
.. _License: https://github.com/tupui/batman/blob/master/LICENSE
.. |Joss| image:: https://joss.theoj.org/papers/a1c4bddc33a1d8ab55fce1a3596196d8/status.svg
.. _Joss: https://joss.theoj.org/papers/a1c4bddc33a1d8ab55fce1a3596196d8
Batman
======
**Batman** stands for Bayesian Analysis Tool for Modelling and uncertAinty
quaNtification. It is an open-source Python module.
*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
.. inclusion-marker-do-not-remove
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://github.com/tupui/batman
Dependencies
............
The required dependencies are:
- `Python `_ >= 3.6
- `OpenTURNS `_ >= 1.10
- `scikit-learn `_ >= 0.18
- `numpy `_ >= 1.13
- `scipy `_ >= 0.15
- `pathos `_ >= 0.2
- `matplotlib `_ >= 2.1
- `Paramiko `_ >= 2.4
- `jsonschema `_
Appart from OpenTURNS, required dependencies are satisfied by the installer.
Optionnal dependencies are:
- `sphinx `_ >= 1.4 for documentation
- `ffmpeg `_ for movie visualizations (*n_features* > 2)
Testing dependencies are:
- `pytest `_ >= 2.8
- `mock `_ >= 2.0
Extra testing flavours:
- `coverage `_ >= 4.4
- `pylint `_ >= 1.6.0
.. note:: OpenTURNS and ffmpeg are available on *conda* through
the *conda-forge* channel.
From sources
............
Using the latest python version is prefered! Then to install::
git clone git@github.com/tupui/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).
.. note:: If you don't have install priviledge, add ``--user`` option after install.
But the simplest way might be to use pip or a conda environment.
If batman has been correctly installed, you should be able to call it simply::
batman -h
.. warning:: Depending on your configuration, you might have to export your local path:
``export PATH=$PATH:~/.local/bin``. Care to be taken with both your ``PATH``
and ``PYTHONPATH`` environment variables. Make sure you do not call different
installation folders. It is recommanded that you leave your ``PYTHONPATH`` empty.
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 `_.