# Introduction to Uncertainty Quantification and Management¶

## Operate in an uncertain world¶

Uncertainty Quantification and Management (UQ&M) is a field of engineering on the rise where several questions arise for the user:

**uncertainty quantification**: how to represent the sources of uncertainties, whether by expert opinion or via data?**uncertainty propagation**: how to propagate these uncertainties through a model or a system of coupled models?**uncertainty quantification**(again!): how to represent the resulting uncertainty about the output quantity of interest?**sensitivity analysis**: how to explain this output uncertainty from the input ones? Are there non-influential sources? Can the others be ordered?**reliability**: what is the probability that the quantity of interest exceeds a threshold? Conversely, what is the guaranteed threshold for a given confidence level?**robust optimization**: what would be a*good*design solution in terms of performance (or cost) and constraints satisfaction, in an uncertain world? Rather than looking for the best solution in the worst case scenario, which would lead to a very conservative solution, why not relax the constraints by guaranteeing them in 99% of cases while maximizing an average performance (or minimizing an average cost)?

GEMSEO implements several UQ&M key concepts through a dedicated package.
Moreover,
its class `ParameterSpace`

extends the notion of `DesignSpace`

by defining both deterministic and uncertain variables.
It can already be used in a `DOEScenario`

to sample a multidisciplinary system.
Moreover,
the GEMSEO community is currently working on extending its use to
any kind of `Scenario`

for robust MDO purposes (see Roadmap)
by means of dedicated MDO formulations.

## The package *uncertainty*¶

Uncertainty quantification and management.

The package **uncertainty** provides several functionalities
to quantify and manage uncertainties.
Most of them can be used from the dedicated API.

The sub-package **distributions** offers an abstract level for probability distributions
as well as interfaces to the OpenTURNS and SciPy ones.
It is also possible to fit a probability distribution from data
or select the most likely one from a list of candidates.
These distributions can be used to define random variables in a `ParameterSpace`

before propagating these uncertainties through a system of `MDODiscipline`

,
by means of a `DOEScenario`

.

The sub-package **sensitivity** offers an abstract level for sensitivity analysis,
as well as concrete features.
These sensitivity analyses compute indices by means of various methods:
correlation measures, Morris technique and Sobol’ variance decomposition.
This sub-package is based in particular on OpenTURNS.

The sub-package **statistics** offers an abstract level for statistics,
as well as parametric and empirical versions.
Empirical statistics are estimated from a `Dataset`

while parametric statistics are analytical properties of a `Distribution`

fitted from a `Dataset`

.

See also