Skip to main content

A tool to facilitate uncertainity quantification and sensitivity methods.

Project description


IBIS

LLNL's Interactive Bayesian Inference and Sensitivity, or IBIS, provides tools to enable understanding how the output of a model is impacted by uncertainty in its inputs. With the sensitivity module we can rank and visualize the effect of inputs on the computational model output. The mcmc module enables us to incorporate experimental data into our understanding of input and output distributions with Bayesian inference.

Sensitivity studies A variety of methods are availble in IBIS to understand and compare the impacts of model inputs.

  • F-test: f_score
  • mutual information score: mutual_info_score
  • Lasso regression: lasso
  • sensitivity with "spaghetti plot": sensitivity
  • One-at-a-time study: including method of Morris
  • Variance based sensitivity analysis: Sobol indices
  • polynomial chaos expansion: pce_score

Associated modules - sensitivity - pce_model - plots

Bayesian Inference/Calibration A Bayesian posterior distribution can be estimated with IBIS's mcmc module. It can estimate input parameter uncertainty and model discrepancy. For more details refer to Bayesian Calibration of Computer Models.

  • default mcmc: Metropolis-Hastings algorithm and multivariate normal likelihood
  • discrepancy mcmc: We can additionally estimate "tau" model discrepancy parameters

Associated modules - mcmc - mcmc_diagnostics

Kosh operators If users have data in a Kosh store, it's convenient to use IBIS's Kosh operators to run the various sensitivity methods or create the mcmc object. The following operators are available:

  • KoshMCMC
  • KoshOneAtATimeEffects
  • KoshSensitivityPlots

Getting Started

To get the latest public version:

pip install llnl-ibis

To get the latest stable from a cloned repo, simply run:

pip install .

Alternatively, add the path to this repo to your PYTHONPATH environment variable or in your code with:

import sys
sys.path.append(path_to_ibis_repo)

Documentation

The documentation can be built from the docs directory using:

make html

Read the Docs coming soon.

Contact Info

IBIS maintainer can be reached at: olson59@llnl.gov

Contributing

Contributing to IBIS is relatively easy. Just send us a pull request. When you send your request, make develop the destination branch on the IBIS repository.

Your PR must pass IBIS's unit tests and documentation tests, and must be PEP 8 compliant. We enforce these guidelines with our CI process. To run these tests locally, and for helpful tips on git, see our Contribution Guide.

IBIS's develop branch has the latest contributions. Pull requests should target develop, and users who want the latest package versions, features, etc. can use develop.

Contributions should be submitted as a pull request pointing to the develop branch, and must pass IBIS's CI process; to run the same checks locally, use:

pytest tests/test_*.py

Releases

See our change log for more details.

Code of Conduct

Please note that IBIS has a Code of Conduct. By participating in the IBIS community, you agree to abide by its rules.

License

IBIS is distributed under the terms of the MIT license. All new contributions must be made under the MIT license. See LICENSE and NOTICE for details.

LLNL-CODE-838977

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

llnl_ibis-1.2.1.tar.gz (36.4 kB view details)

Uploaded Source

Built Distribution

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

llnl_ibis-1.2.1-py3-none-any.whl (38.1 kB view details)

Uploaded Python 3

File details

Details for the file llnl_ibis-1.2.1.tar.gz.

File metadata

  • Download URL: llnl_ibis-1.2.1.tar.gz
  • Upload date:
  • Size: 36.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.9

File hashes

Hashes for llnl_ibis-1.2.1.tar.gz
Algorithm Hash digest
SHA256 b798f6682bda6999577db0a50a78ef70d0fc04b77642715393b56b2e5db90d28
MD5 fe8570db7b6e0c605e3a946760d792aa
BLAKE2b-256 60da569ae66677bbe420f8f851ba91307cd7047ec5c546732f03485fe874ed1a

See more details on using hashes here.

File details

Details for the file llnl_ibis-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: llnl_ibis-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 38.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.9

File hashes

Hashes for llnl_ibis-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0b8eb7dce16894f854ddc41039eec3f18f329442fe3316934e69203e0dade25a
MD5 41d137ba5fb5b1c127c0c909ab08fd5c
BLAKE2b-256 485b13c4dca1937a1639d8de99558702f48553e10e26664098bd9e0d5b178ee1

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