Monte Carlo methods for risk analysis
Stochastic simulation and numerical experiments


Overview

Some problems in risk analysis cannot be expressed in an analytical form. Others are difficult to define in a deterministic manner. Monte Carlo methods (also known as stochastic simulation techniques) consist of running “numerical experiments” to observe what happens over a large number of runs of a stochastic model. They consist of using repeated random sampling from input probability distributions, execution of the model with these stochastic inputs, then aggregation of the large number of executions to obtain an estimate of the quantity of interest. These methods rely on the ability of computers to generate pseudo-random numbers from various relevant probability distributions.

Monte Carlo methods are widely used in risk analysis, for instance for:

  • propagating uncertainty through a numerical model to obtain confidence intervals on your model outputs

  • estimating quantile measures for performance measures

  • simulating evacuation from a building during the design phase

  • predicting failure, cost overruns and schedule overruns in project management

This submodule is a part of the risk analysis module.

Course material

Monte Carlo methods in risk analysis

Lecture slides (PDF)
View on Slideshare

Estimating pi using a Monte Carlo simulation

View Python notebook online
Download Python notebook
Launch interactive notebook mybinder

Project risk analysis with Monte Carlo simulation

View Python notebook online
Download Python notebook
Launch interactive notebook mybinder

Monte Carlo simulation of failure probability in mechanical design

View Python notebook online
Download Python notebook
Launch interactive notebook mybinder

Numerical integration using Monte Carlo methods

View Python notebook online
Download Python notebook
Launch interactive notebook mybinder

Monte Carlo sampling methods

View Python notebook online
Download Python notebook
Launch interactive notebook mybinder

Limits of stochastic simulation methods: the Saint Petersburg problem

View Python notebook online
Download Python notebook
Launch interactive notebook mybinder

Various poker odds: working with discrete probability distributions

View Python notebook online
Download Python notebook
Launch interactive notebook mybinder

In these course materials, applications are presented using the NumPy, SciPy and SymPy libraries for the Python programming language.

Other resources

We recommend the following sources of further information on this topic: