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!
- this is a Python 3 release of the mcerp package by Abraham Lee
- available via
conda
orpip
- officially adds the 3-clause BSD licesnse text to the software (this license has been specified in the mcerp PyPI package for years)
- supports SciPy >= 1.0 by removing the scipy.stats.signaltonoise function
- 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
Effort has been made to ensure mcerp3
is easy to install.
From the command-line, do one of the following:
Install the conda package:
$ conda install mcerp3 -c freemapa
Install the PyPI package:
$ pip install mcerp3
The source code is also freely available, in case you would like to incorporate it directly into your project. However, when possible, it is usually easier to let your package manager handle things for you.
The following packages are required, but should be installed automatically
(if using conda
or pip
). Otherwise, they may need to be installed
manually:
- NumPy : Numeric Python
- SciPy : Scientific Python
- Matplotlib : Python plotting library
- uncertainties : First-order error propagation
- soerp : Second-order error propagation
Bugs should be reported on the GitHub issues page. Python 3 related requests can be sent to Paul Freeman. Other issues should be referred to the original author, Abraham Lee.