This module allows to perform sensitivity analysis.
This is the analysis of the uncertainty in the
output of a given model, depending on the uncertainty in its
inputs.
The analysis is based on chaos polynomials, which are orthogonal polynomials
which are used as an approximation of the original model. Once the coefficients
of the chaos polynomial are computed, the associated sensitivity indices are
straightforward to get.
The module provides the following components :
* “nisp” provides function to configure the global behaviour of the
toolbox. This allows to startup and shutdown the library, configure and
quiery the verbose level or initialize the seed of the random number
generator.
* “randvar” is the class which allows to manage a random variable.
Various types of random variables are available, including uniform,
normal, exponential, etc...
* “setrandvar”, is the class which allows to manage a set of random
variables. Several methods are available to build a sampling from a set
of random variables. We can use, for example, a Monte-Carlo sampling or
a Sobol low discrepancy sequence. This feature allows to use the class
as Design of Experiment tool (DOE).
* “polychaos” is the class which allows to manage a polynomial chaos
expansion. The coefficients of the expansion are computed based on given
numerical experiments which creates the association between the inputs
and the outputs. Once computed, the expansion can be used as a regular
function. The mean, standard deviation or quantile can also be directly
retrieved.
The current toolbox provides an object-oriented approach of the C++ NISP
library.
The following list presents the features provided by the NISP toolbox :
* Manage various types of random variables : uniform, normal, exponential,
log-normal,
* Generate random numbers from a given random variable,
* Transform an outcome from a given random variable into another,
* Manage various sampling methods for sets of random variables: Monte-Carlo,
Sobol, Latin Hypercube Sampling, various samplings based on Smolyak.
* Manage polynomial chaos expansion and get specific outputs, including: mean,
variance, quantile, correlation, etc...
Generate the C source code which computes the output of the polynomial chaos
expansion.
This toolbox has been created in the context of the
OPUS project :
http://opus-project.fr/
within the workpackage 2.1.1 "Construction de méta-modèles".
This project has received funding by Agence Nationale de la recherche :
http://www.agence-nationale-recherche.fr/
See in the help provided in the help/en_US directory of the
toolbox for more information about its use.
Use cases are presented in the demos directory.