Sequential Monte Carlo Sampling with Python (SMCPy)(LAR-19517-1)
design and integration tools
Sequential Monte Carlo Sampling with Python (SMCPy)
(LAR-19517-1)
Overview
Uncertainty quantification (UQ) is essential to provide meaningful and reliable predictions of real-world system performance. One major obstacle for the implementation of statistical methods for UQ is the use of expensive computational models. Classical UQ methods such as Markov chain Monte Carlo (MCMC) generally require thousands to millions of model evaluations, and, when coupled with an expensive model, result in excessive solve times that can render the analysis intractable. These methods are also inherently serial, which prohibits speedup by high performance computing. Recently, Sequential Monte Carlo (SMC) has emerged as a powerful alternative to MCMC. In contrast, this method allows for parallel model evaluations, realizing significant speedup. This software is an implementation of SMC that uses the Message Passing Interface (MPI) to provide users general access to parallel UQ methods in Python 2.7.To operate the code, the user supplies a computational model built in Python 2.7, defines prior distributions for each of the model parameters to be estimated, and provides data to be used for calibration. SMC sampling can then be conducted with ease through instantiation of the SMC class and a call to the sample() method. The output of this process is an approximation of the parameter posterior probability distribution conditioned on the data provided.
Software Details
Category
Design and Integration Tools
Reference Number
LAR-19517-1
Release Type
Open Source
Operating System
Windows, Linux, OS X