Subset Simulation Toolbox

This modular toolbox implements an algorithm for Subset Simulation (SuS) using Markov-chain Monte Carlo (MCMC) sampling.
Updated 25 Jan 2023
This toolbox aims to provide a simple tool to efficiently estimate rare probabilities of failure for high-dimensional uncertain parameter spaces. Traditional Monte Carlo studies need exponentially many samples to provide an accurate estimate.
Using Monte Carlo
Monte Carlo sampling techniques evolve around the "Law of Great Numbers", saying when you have sufficient enough observation samples, their discrete class distribution (i.e. success -- fail) converges to the hidden true occurence probability.
Let's look at a one-dimensional example. What is the probability of a variable exceeding the threshold of 5? With traditional Monte Carlo, you would test this numerically like so:
N = 100000;
x = normrnd(0, 1, [N, 1]);
P_f = mean((5 - x) < 0)
Using Subset Simulation
Subset simulation at its core splits the problem into a series of subset problems, where the final failure probability is the product of each of the conditional probabilities from the intermediate subsets. References to literature are given in the user manual.
With our toolbox you can formulate the problem quickly like so, while reducing the number of evaluations of the model handle significantly:
algo = tulrfsd.mcmc.SubsetSimulation({
'NumberOfSamples', 100
'SampleDistribution', makedist('norm', 0, 1)
'ModelHandle', @(x) (5 - x)
});
result = algo.study()

Cite As

Schwaiger, Florian, et al. “A Modular Subset Simulation Toolbox for Matlab.” AIAA SCITECH 2022 Forum, American Institute of Aeronautics and Astronautics, 2022, doi:10.2514/6.2022-1893.

View more styles
MATLAB Release Compatibility
Created with R2019b
Compatible with R2019b and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!