Real-time latin-hypercube-sampling-based Monte Carlo Error Propagation
Project description
Overview
mcerp3 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
this is a Python 3 release of the mcerp package by Abraham Lee
officially adds the 3-clause BSD licesnse text to the software (this license has been specified in the mcerp PyPI package for years)
Main Features
Transparent calculations. No or little modification to existing code required.
Basic NumPy support without modification. (I haven’t done extensive testing, so please let me know if you encounter bugs.)
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!
Easy statistical distribution constructors. The location, scale, and shape parameters follow the notation in the respective Wikipedia articles and other relevant web pages.
Correlation enforcement and variable sample visualization capabilities.
Probability calculations using conventional comparison operators.
Advanced Scipy statistical function compatibility with package functions. Depending on your version of Scipy, some functions might not work.
Python 3 support
Installation
Required Packages
The following packages should be installed automatically (if using pip or easy_install), otherwise they will need to be installed manually:
NumPy : Numeric Python
SciPy : Scientific Python
Matplotlib : Python plotting library
These packages come standard in Python(x,y), Spyder, and other scientific computing python bundles.
Currently, this package will not support SciPy >= 1.0 due to the removal of the signaltonoise function from scipy.stats.
How to install
You have several easy, convenient options to install the mcerp3 package (administrative privileges may be required)
Simply copy the unzipped mcerp3-XYZ directory to any other location that python can find it and rename it mcerp3.
From the command-line, do one of the following:
Manually download the package files below, unzip to any directory, and run:
$ [sudo] python setup.py install
If setuptools is installed, run:
$ [sudo] easy_install [--upgrade] mcerp3
If pip is installed, run:
$ [sudo] pip install [--upgrade] mcerp3
See also
uncertainties : First-order error propagation
soerp : Second-order error propagation
Contact
Please send Python 3 related issues to Paul Freeman. Other issues should be referred to the original author, Abraham Lee.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.