uncertainty-propagation: Tools to propagate parameter uncertainty through deterministic black-box functions
The uncertainty-propagation library provides efficient and scalable methods for approximating the output distribution of $Y=f(X)$,
i.e. the probability $P(Y \leq y)$, when the input $X$ is a random variable with a known distribution.
It is especially useful for complex, black-box functions where analytical solutions are infeasible.
Methods like Monte Carlo simulation, directional simulation, and subset simulation as well as first-order reliability method
and importance sampling are integrated to provide flexible and scalable uncertainty propagation.
Visual example
Consider the 2-d Rastrigin function:
Animations below show how directional and subset simulation tackle the same problem in different ways, achieving similar approximation accuracy with a fraction of the Monte Carlo sample budget:
Features
- Optimized for Speed: Uses parallelization to maximize performance.
- Minimal Dependencies: Built with as few dependencies as possible.
- Machine Learning Friendly: Designed to integrate seamlessly with machine learning applications using vectorized function calls.
- Extensible Framework: Easily integrate new methods and benchmark different approaches.
Installation
Install the package from PyPI using
pip install uncertainty-propagation
Usage
Documentation is under construction and will soon be available on ReadTheDocs. In the meantime, explore the examples or dive into the source code to see the library in action.
Citing
If this repository has assisted you in your research, please consider citing one of the following works:
- Journal Paper on Uncertainty Optimization:
@Article{Bogoclu2021,
title = {Local {L}atin hypercube refinement for multi-objective design uncertainty optimization},
author = {Can Bogoclu and Tamara Nestorovi{\'c} and Dirk Roos},
journal = {Applied Soft Computing},
year = {2021},
arxiv = {2108.08890},
doi = {10.1016/j.asoc.2021.107807},
pdf = {https://www.sciencedirect.com/science/article/abs/pii/S1568494621007286},
}
- PhD Thesis on Uncertainty Quantification and Optimization:
@phdthesis{Bogoclu2022,
title = {Local {L}atin hypercube refinement for uncertainty quantification and optimization: {A}ccelerating the surrogate-based solutions using adaptive sampling},
author = {Bogoclu, Can},
school = {Ruhr-Universit\"{a}t Bochum},
type = {PhD thesis},
year = {2022},
doi = {10.13154/294-9143},
pdf = {https://d-nb.info/1268193348/34},
}
Release files for uncertainty-propagation 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| uncertainty_propagation-0.0.2.tar.gz | 20.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| uncertainty_propagation-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 46.9 kB
Release files / uncertainty_propagation-0.0.2.tar.gz
| Download URL | uncertainty_propagation-0.0.2.tar.gz |
|---|---|
| Size | 20.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b15dd149227d15a22cda73fa2ddb4ac8d62376ea9ff25645b15351a6fa5c3c16
|
|
BLAKE2b-256 checksum How to use checksums |
9ec39d53c5aa6b0e99aa5ca91d329aaeeb1660186cdc0c33c9f0658a7946f82c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.0.1 CPython/3.12.3 Linux/6.8.0-1021-azure
|
Release files / uncertainty_propagation-0.0.2-py3-none-any.whl
| Download URL | uncertainty_propagation-0.0.2-py3-none-any.whl |
|---|---|
| Size | 26.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
65303c44dd211b0e98605e42d3e756f4e18e48cae536a80f1083345c5277d0c6
|
|
BLAKE2b-256 checksum How to use checksums |
f0a83144486758ed47bc3f5f62e1e1137ad63a0b1bcac6339280372517f33fb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.0.1 CPython/3.12.3 Linux/6.8.0-1021-azure
|