Metadata-Version: 2.1
Name: bayesvalidrox
Version: 2.2.0
Summary: An open-source, object-oriented Python package for surrogate-assisted Bayesain Validation of computational models.
Home-page: https://git.iws.uni-stuttgart.de/inversemodeling/bayesian-validation
Author: Rebecca Kohlhaas, Maria Fernanda Morales Oreamuno
Author-email: rebecca.kohlhaas@iws.uni-stuttgart.de
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENCE.md
Requires-Dist: numpy>=1.26.4
Requires-Dist: pandas>=2.2.3
Requires-Dist: joblib>=1.5.3
Requires-Dist: seaborn>=0.13.2
Requires-Dist: tqdm>=4.64.0
Requires-Dist: chaospy==4.3.21
Requires-Dist: h5py>=3.9.0
Requires-Dist: statsmodels>=0.14.2
Requires-Dist: multiprocess>=0.70.16
Requires-Dist: corner==2.2.3
Requires-Dist: matplotlib<3.10,>=3.7; python_version < "3.10"
Requires-Dist: matplotlib>=3.10.0; python_version >= "3.10"
Requires-Dist: scipy<1.11,>=1.9; python_version < "3.10"
Requires-Dist: scipy>=1.15.2; python_version >= "3.10"
Requires-Dist: emcee<3.1.6,>=3.0.2; python_version < "3.10"
Requires-Dist: emcee>=3.1.6; python_version >= "3.10"
Requires-Dist: scikit-learn<1.2,>=1.0; python_version < "3.10"
Requires-Dist: scikit-learn<1.8.0,>=1.7.2; python_version >= "3.10"
Requires-Dist: datasets<4.0.0,>=2.20.0; python_version < "3.10"
Requires-Dist: datasets>=4.6.1; python_version >= "3.10"
Requires-Dist: umbridge==1.2.4

# BayesValidRox

<div align="center">
  <img src="https://git.iws.uni-stuttgart.de/inversemodeling/bayesian-validation/-/raw/master/docs/logo/BVRLogoV03_longtext.png" alt="bayesvalidrox logo"/>
</div>

An open-source, object-oriented Python package for surrogate-assisted Bayesain Validation of computational models.
This framework provides an automated workflow for surrogate-based sensitivity analysis, Bayesian calibration, and validation of computational models with a modular structure.

[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)

## Features
* Surrogate modeling with Polynomial Chaos Expansion, Gaussian Process Emulator, mixed surrogate types
* Global sensitivity analysis using Sobol Indices
* Bayesian calibration and validation with Rejection sampling or MCMC using `emcee` package
* Bayesian model comparison with model weights or confusion matrix for multi-model setting

## Resources
The following resources are useful to get started on working with BayesValidRox:
* [BayesValidRox website](https://pages.iws.uni-stuttgart.de/inversemodeling/bayesvalidrox/)
* [User guide](https://pages.iws.uni-stuttgart.de/inversemodeling/bayesvalidrox/packagedescription.html)
* [Tutorial](https://pages.iws.uni-stuttgart.de/inversemodeling/bayesvalidrox/tutorial.html)
* [Publucation](https://jodakiss.episciences.org/15337)

Important links:
* [GitLab](https://git.iws.uni-stuttgart.de/inversemodeling/bayesvalidrox)
* [Changelog](https://git.iws.uni-stuttgart.de/inversemodeling/bayesvalidrox/-/blob/master/CHANGELOG.md?ref_type=heads)

## Authors
Best to contact: [@RKohlhaas](https://git.iws.uni-stuttgart.de/RKohlhaas), [@mariafer.morales](https://git.iws.uni-stuttgart.de/mariafer.morales)

Full list of authors: 
- [@farid](https://git.iws.uni-stuttgart.de/farid)
- [@RKohlhaas](https://git.iws.uni-stuttgart.de/RKohlhaas)
- [@mariafer.morales](https://git.iws.uni-stuttgart.de/mariafer.morales)
- [@alacheim](https://git.iws.uni-stuttgart.de/alacheim)

## Installation
The best practive is to create a virtual environment and install the package inside it.

To create and activate the virtual environment run the following command in the terminal:
```bash
  python3 -m venv bayes_env
  cd bayes_env
  source bin/activate
```
You can replace `bayes_env` with your preferred name. For more information on virtual environments see [this link](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/).

Now, you can install the latest release of the package on PyPI inside the venv with:
```bash
  pip install bayesvalidrox
```
and installing the version on the master branch can be done by cloning this repo and installing:
```bash
  git clone https://git.iws.uni-stuttgart.de/inversemodeling/bayesvalidrox.git
  cd bayesvalidrox
  pip install .
```

## Requirements
Core packages (same for all Python >=3.9)
* numpy>=1.26.4
* pandas>=2.2.3
* joblib>=1.5.3
* seaborn>=0.13.2
* tqdm>=4.64.0
* chaospy==4.3.21
* h5py>=3.9.0
* statsmodels>=0.14.2
* multiprocess>=0.70.16
* corner==2.2.3

Python 3.9
* matplotlib>=3.7,<3.10
* scipy>=1.9,<1.11
* emcee>=3.0.2,<3.1.6
* scikit-learn>=1.0,<1.2
* datasets>=2.20.0,<4.0.0

Python >= 3.10
* matplotlib>=3.10.0
* scipy>=1.15.2
* emcee>=3.1.6
* scikit-learn>=1.7.2,<1.8.0
* datasets>=4.6.1


## TexLive for Plotting with matplotlib
Here you need super user rights
```bash
sudo apt-get install dvipng texlive-latex-extra texlive-fonts-recommended cm-super
```
