Skip to main content

Tools to propagate parameter uncertainty through deterministic black-box functions

Project description

uncertainty-propagation: Tools to propagate parameter uncertainty through deterministic black-box functions

Image: Monte Carlo simulation to approximate 1-d function distribution

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:

Image: Modified 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:

Image: Directional simulation to approximate 2-d function distribution Image: Subset simulation to approximate 2-d function distribution

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},
}

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

uncertainty_propagation-0.0.2.tar.gz (20.8 kB view details)

Uploaded Source

Built Distribution

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

uncertainty_propagation-0.0.2-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

Details for the file uncertainty_propagation-0.0.2.tar.gz.

File metadata

  • Download URL: uncertainty_propagation-0.0.2.tar.gz
  • Upload date:
  • Size: 20.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.3 Linux/6.8.0-1021-azure

File hashes

Hashes for uncertainty_propagation-0.0.2.tar.gz
Algorithm Hash digest
SHA256 b15dd149227d15a22cda73fa2ddb4ac8d62376ea9ff25645b15351a6fa5c3c16
MD5 cd536da1d7b23ec452998a214dd1fdb9
BLAKE2b-256 9ec39d53c5aa6b0e99aa5ca91d329aaeeb1660186cdc0c33c9f0658a7946f82c

See more details on using hashes here.

File details

Details for the file uncertainty_propagation-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for uncertainty_propagation-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 65303c44dd211b0e98605e42d3e756f4e18e48cae536a80f1083345c5277d0c6
MD5 d7f9c0260a001e84444179505da0f5db
BLAKE2b-256 f0a83144486758ed47bc3f5f62e1e1137ad63a0b1bcac6339280372517f33fb0

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