Software
This page provides a collection of links to software of interest for the RT-UQ community---and hopefully beyond---on the topics of computer experiments, uncertainty and sensitivity analysis, Gaussian processes, polynomial chaos expansions, ... Some (but not all) of these have been developped by, are maintained by, or include contributions from members of RT-UQ.
Algorithm template
- Specification
- GitHub repository (based on following packages): https://github.com/MASCOTNUM/algorithms
R packages
Most of these packages can be installed using CRAN facilities (ie. install.packages).
- CRAN Task View: Design of Experiments & Analysis of Experimental Data link
- BACCO - Bayesian analysis of computer code software
- caRamel: Automatic calibration by evolutionary multi objective algorithm
- dynaTree: Dynamic trees for learning and design
- fanovaGraph - Building Kriging models from FANOVA graphs
- FME - A flexible modelling environment for inverse modelling, sensitivity, identifiability and Monte Carlo analysis
- GPareto - Gaussian Processes for Pareto Front Estimation and Optimization
- GPGame - Solving Complex Game Problems using Gaussian Processes
- DiceDesign, DiceEval, DiceKriging, DiceOptim, DiceView, KrigInv - Packages of the Dice and ReDice Consortia (Gaussian process modelling, visualisation, GP-based optimisation and inversion).
- hetGP - Gaussian process regression with heteroskedastic noise
- mistral package: Methods in Structural Reliability
- mtk - Mexico ToolKit library (MTK)
- MuFiCokriging - Multi-Fidelity Cokriging models
- kergp - Gaussian Process Laboratory
- multisensi - Sensitivity analysis for multidimensional and functional outputs
- modelcf - Metamodeling for multidimensional and functional outputs
- planor - Generation of Regular Factorial Designs
- RFgroove - Importance Measure and Selection for Groups of Variables with Random Forests
- RobustGaSP - Robust Gaussian stochastic process emulation - arXiv
- RobustInv - Robust inversion based on GP, similar to KrigInv
- safi - Sensitivity analysis for functional input
- SAVE - Bayesian emulation, calibration and validation of computer models - JSS
- sensitivity - Global sensitivity analysis of model outputs
- SPOT - The Sequential Parameter Optimization Toolbox provides a set of tools for Parameter-tuning, based on modelling techniques, DoE and statistical methods
- tgp - Treed Gaussian processes
- Funz wrapper — Call external simulations as functions
Matlab/Octave
- ApproximationToolbox - An object-oriented MATLAB toolbox for the approximation of functions and tensors
- DACE - Design and Analysis of Computer Experiments. A matlab kriging toolbox
- FERUM - Finite Element Reliability Using Matlab. General-purpose structural reliability code
- GPML - Gaussian Processes for Machine Learning
- GPstuff - Gaussian process models for Bayesian analysis
- OpenCOSSAN - Uncertainty quantification and management
- SAFE - Global sensitivity analysis
- STK - Small (Matlab/GNU Octave) Toolbox for Kriging
- scalaGAUSS - Matlab kriging toolbox with a focus on large datasets
- UQLab - A comprehensive uncertainty quantification framework in Matlab. Includes surrogate models (polynomial chaos expansions, Kriging), sensitivity analysis, reliability methods (rare event simulation) and more
Scilab
- DACE-Scilab - Scilab port of the DACE kriging matlab toolbox
- krigeage - Kriging toolbox for Scilab
- KRISP - Kriging based regression and optimization package for Scilab
- NISP (Non Intrusive Spectral Projection) - Scilab toolbox to perform sensitivity analysis, based on polynomial chaos decomposition (CEA, Digiteo)
Python
- GPy — Gaussian process modelling
- GPflow — Gaussian process modelling using Tensorflow
- GPytorch — Gaussian process modelling using PyTorch
- MOBOpt — Multi-Objective Bayesian Optimization
- OpenTURNS — Open source initiative to Treat Uncertainties, Risks’N Statistics (Python/C++) — Springer — HAL — PyPI
- SALib — Sensitivity Analysis Library in Python — PyPI
- scikit-learn — Machine learning in Python — PyPI
- shapley-effects — Sensitivy analysis with Shapley effects — PyPI
- SMT (Surrogate Modeling Toolbox) — Surrogate modeling methods and sampling techniques — PyPI
- tensap - Tensor Approximation Package: a Python package for the approximation of functions and tensors
- trieste Bayesian optimisation and active learning using Tensorflow
- Uncertainpy — UQ and sensitivity analysis for computational neuroscience
- UQ[pyab]] — Uncertainty Quantification with Python, powered by UQLab
- Funz wrapper — Call external simulations as functions — PyPI
Julia packages
- GaussianProcesses.jl — A Gaussian Processes package for Julia
- UncertaintyQuantification.jl — Monte-Carlo, quasi Monte-Carlo simulation, local and global sensitivity analysis, metamodeling
Others
- List of uncertainty propagation simple tools
- LAGUN: a R/Shiny platform providing a user-friendly interface to methods and algorithms dedicated to the exploration and analysis of datasets.
- Funz: distributed computing engine designed for parametric calculation with heavy computing software. May be used through command-line (bash,cmd.exe), Python (`pip install Funz`), R (`remotes::install_github('Funz/Funz.R')`).
- Promethee2 project (IRSN): Graphical front-end for Funz engine, with fields-dedicated versions: hydrology, neutronics, structural mech., ...
- Uranie: a sensitivity and uncertainty analysis plateform based on the ROOT framework, developed at CEA
- DAKOTA (Design Analysis Kit for Optimization and Terascale Applications) - A Multilevel Parallel Object-Oriented Framework for Design Optimization, Parameter Estimation, Uncertainty Quantification, and Sensitivity Analysis
- MUQ - MIT Uncertainty Quantification Library
- Neuro Pex : a software dedicated to the design of experiments for neural networks, algebraic nonlinear models, ordinary differential equations and some computer codes. Neuro Pex calculates D-optimal design, X-optimal design (Vila & Gauchi), true D-efficiency (Torsney) and parameter curvatures (Bates & Watts)
- Implementation of Sobol sequences in various languages
- Persalys — GUI dedicated to the treatment of uncertainty and the management of variabilities