Skip to main content

Quantify uncertainty and sensitivities in your computer models with an industry-grade Monte Carlo library.

Project description

Release Builds Tests Docs PyPI - Python Version

Quantify uncertainty and sensitivities in your computer models with an industry-grade Monte Carlo library.

Overview

At the heart of all serious forecasting, whether that be of elections, the spread of pandemics, weather, or the path of a rocket on its way to Mars, is a statistical tool known as the Monte Carlo method. The Monte Carlo method, named for the rolling of the dice at the famous Monte Carlo casino located in Monaco, allows you to quantify uncertainty by introducing randomness to otherwise deterministic processes, and seeing what the range of results is.

monaco is a python library for analyzing uncertainties and sensitivities in your computational models by setting up, running, and analyzing a Monte Carlo simulation wrapped around that model. Users can define random input variables drawn using chosen sampling methods from any of SciPy's continuous or discrete distributions (including custom distributions), preprocess and structure that data as needed to feed to their main simulation, run that simulation in parallel anywhere from 1 to millions of times, and postprocess the simulation outputs to obtain meaningful, statistically significant conclusions. Plotting and statistical functions specific to use cases that might be encountered are provided, and repeatability of results is ensured through careful management of random seeds.

Quick Start

First, install monaco:

pip install monaco

Then, copy the two files from the template directory, which contains a simple, well commented Monte Carlo simulation of flipping coins. That link also contains some exercises for you to do, to help you familiarize yourself with how monaco is structured.

After working through the template exercises, check out the other examples for inspiration and more in-depth usage of monaco's features.

Documentation / API Reference

Documentation is being built up - read the docs here: https://monaco.readthedocs.io

Currently there is a complete API reference, more detailed installation, test, and publishing instructions, an overview of the basic architecture and basic workflow, and some details on statistical distributions and sampling methods.

License / Citation

Copyright 2020-2022 Scott Shambaugh, distributed under the GPLv3.0 (or later) license.

If you use monaco to do research that gets published, please cite the paper:

W. Scott Shambaugh (2022). Monaco: A Monte Carlo Library for Performing Uncertainty and Sensitivity Analyses. In Proceedings of the 21st Python in Science Conference (pp. 202 - 208).

@InProceedings{ scott_shambaugh-proc-scipy-2022,
  author    = { W. Scott Shambaugh },
  title     = { Monaco: A Monte Carlo Library for Performing Uncertainty and Sensitivity Analyses },
  booktitle = { Proceedings of the 21st Python in Science Conference },
  pages     = { 202 - 208 },
  year      = { 2022 },
  editor    = { Meghann Agarwal and Chris Calloway and Dillon Niederhut and David Shupe },
  doi       = {  }
}

Further Reading

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

monaco-0.8.3.tar.gz (64.4 kB view details)

Uploaded Source

Built Distribution

monaco-0.8.3-py3-none-any.whl (69.3 kB view details)

Uploaded Python 3

File details

Details for the file monaco-0.8.3.tar.gz.

File metadata

  • Download URL: monaco-0.8.3.tar.gz
  • Upload date:
  • Size: 64.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.10.4 Linux/5.10.16.3-microsoft-standard-WSL2

File hashes

Hashes for monaco-0.8.3.tar.gz
Algorithm Hash digest
SHA256 4cff66290da132e42dd66278b099b5f81cbc8f6a15f6e885297c6c1bdc82e3cc
MD5 cf8595640ef0916f915a81a5e6585bfc
BLAKE2b-256 6aa254267402c20c2f1e2aa332d5cebbeb01c19ac9e3df396e525a77e9fe81a1

See more details on using hashes here.

Provenance

File details

Details for the file monaco-0.8.3-py3-none-any.whl.

File metadata

  • Download URL: monaco-0.8.3-py3-none-any.whl
  • Upload date:
  • Size: 69.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.10.4 Linux/5.10.16.3-microsoft-standard-WSL2

File hashes

Hashes for monaco-0.8.3-py3-none-any.whl
Algorithm Hash digest
SHA256 28d2c17778305950dc7c1e3fa28dc7f41b54b10ebeecdb1024ab19c33ebbad4b
MD5 e7c257307d3b161a36140b0c7cae487c
BLAKE2b-256 a80526bde465b02d43c1bedf97bbc4c14c026501de8d992e3035d02e04adb279

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page