Skip to main content

Real-time latin-hypercube-sampling-based Monte Carlo Error Propagation

Project description

Overview

mcerp is a stochastic calculator for Monte Carlo methods that uses latin-hypercube sampling to perform non-order specific error propagation (or uncertainty analysis).

With this package you can easily and transparently track the effects of uncertainty through mathematical calculations. Advanced mathematical functions, similar to those in the standard math module, and statistical functions like those in the scipy.stats module, can also be evaluated directly.

If you are familiar with Excel-based risk analysis programs like @Risk, Crystal Ball, ModelRisk, etc., this package will work wonders for you (and probably even be faster!) and give you more modelling flexibility with the powerful Python language. This package also doesn’t cost a penny, compared to those commercial packages which cost thousands of dollars for a single-seat license. Feel free to copy and redistribute this package as much as you desire!

What’s New In This Release

  • Added two Pareto distributions:

    • First kind - Pareto(q, a) with minimum possible value at x=a

    • Second kind - Pareto2(q, b) with minimum always at origin (i.e., Pareto2(q, b) = Pareto(q, b) - b). Otherwise, these distributions will share the same variance, skewness and kurtosis.

Main Features

  1. Transparent calculations. No or little modification to existing code required.

  2. Basic NumPy support without modification. (I haven’t done extensive testing, so please let me know if you encounter bugs.)

  3. Advanced mathematical functions supported through the mcerp.umath sub-module. If you think a function is in there, it probably is. If it isn’t, please request it!

  4. Easy statistical distribution constructors. The location, scale, and shape parameters follow the notation in the respective Wikipedia articles and other relevant web pages.

  5. Correlation enforcement and variable sample visualization capabilities.

  6. Probability calculations using conventional comparison operators.

  7. Advanced Scipy statistical function compatibility with package functions. Depending on your version of Scipy, some functions might not work.

Installation

Required Packages

The following packages should be installed automatically (if using pip or easy_install), otherwise they will need to be installed manually:

These packages come standard in Python(x,y), Spyder, and other scientific computing python bundles.

How to install

You have several easy, convenient options to install the mcerp package (administrative privileges may be required)

  1. Simply copy the unzipped mcerp-XYZ directory to any other location that python can find it and rename it mcerp.

  2. From the command-line, do one of the following:

    1. Manually download the package files below, unzip to any directory, and run:

      $ [sudo] python setup.py install
    2. If setuptools is installed, run:

      $ [sudo] easy_install [--upgrade] mcerp
    3. If pip is installed, run:

      $ [sudo] pip install [--upgrade] mcerp

Python 3

To use this package with Python 3.x, you will need to run the 2to3 conversion tool at the command-line using the following syntax while in the unzipped mcerp directory:

$ 2to3 -w .

This should take care of the main changes required. Then, run:

$ python3 setup.py install

If bugs continue to pop up, please email the author.

You can also get the bleeding-edge code from GitHub (though I can’t promise there won’t be stability issues…).

See also

Contact

Please send feature requests, bug reports, or feedback to Abraham Lee.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcerp-0.10.1.tar.gz (22.1 kB view details)

Uploaded Source

File details

Details for the file mcerp-0.10.1.tar.gz.

File metadata

  • Download URL: mcerp-0.10.1.tar.gz
  • Upload date:
  • Size: 22.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mcerp-0.10.1.tar.gz
Algorithm Hash digest
SHA256 cbc9562596088dd77838ebae9623f7b4606d1cee7413c660bf72e885a104d75f
MD5 9557af991b77c91c154ea8a895afeb98
BLAKE2b-256 59aef1d5f16fd28d46bb763251710c79451c36b28fdef4c6271a3c06bdda1a4f

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