Uncertainty Quantification Tools

This module implements the set uncetainty quantification methods proposed in [CGBM13], [ABCG16], [AGC+16].

The main goal is to identify regions in model space where the density field might be above some given threshold, using the posterior distribution. We call such regions excursion set above the threshold. We also aim at quantifying the uncertainty on the estimated regions.


The inputs to this module are the posterior mean and the posterior variance, both as vectors, where the i-th element corresponds to cell nr. i in model space.


Module Functionalities

Excursion Set Methods

coverage_fct

Compute the excursion probability above a given threshold, at a given point

compute_excursion_probs

For each cell, compute its excursion probability above the given threshold

vorobev_quantile_inds

Get cells belonging to the Vorob’ev quantile at a given level, for a given threshold

vorobev_expectation_inds

Get cells belonging to the Vorob’ev expectation

expected_excursion_measure

Expected measure of excursion set above given threshold

vorobev_deviation

Compute Vorob’ev deviaiton of a given set at a given threshold

Set Uncertainty Quantification: Theory

We want to estimate regions in model the space \(X\) where the matter density field \(Z\) is above a given threshold \(u_0\).

The posterior distribution of the conditional field gives rise to a random closed set (RACS) \(\Gamma\)

\[\Gamma = \lbrace x \in X: \tilde{Z}_x \geq u_0 \rbrace\]

We can then consider the pointwise probability to belong to the excursion set

  • Coverage Function

\[p_{\Gamma}: X \rightarrow [0, 1]\]
\[p_{\Gamma}(x) := \mathbb{P}[x \in \Gamma]\]

All our set estimators will be defined using the coverage function.

  • Vorob’ev quantile at level \(\alpha\)

\[Q_{\alpha} := \lbrace x \in X : p_{\Gamma} \geq \alpha \rbrace\]

Module implementation Details

(DEPRECATED) Module implementing estimation of excursion sets and uncertainty quantification on them.

SHOULD BE ADAPTED TO THE NEW GAUSSIANPROCESS CLASS.

class volcapy.uq.azzimonti.GaussianProcess(mean, variance, covariance_func)[source]

Implementation of Gaussian Process.

The underlying spatial structure is just a list of points, that is, we do not need to know the real spatial structure, the GP only know the mean/variance/covariance at points number i or j.

Parameters
mean: 1D array-like

List (or ndarray). Element i gives the mean at point i.

variance: 1D array-like

Variance at every point.

covariance_func: function

Two parameter function. F(i, j) should return the covariance between points i and j.

Methods

compute_excursion_probs(threshold)

Computes once and for all the probability of excursion above threshold for every point.

coverage_fct(i, threshold)

Coverage function (excursion probability) at a point.

expected_excursion_measure(threshold)

Get the expected measure of the excursion set above the given threshold.

vorobev_deviation(set_inds, threshold)

Compute the Vorob’ev deviation of a given set.

vorobev_expectation_inds(threshold)

Get cells belonging to the Vorobev expectation.

vorobev_quantile_inds(alpha, threshold)

Get the cells belonging Vorobev quantile alpha.

compute_excursion_probs(threshold)[source]

Computes once and for all the probability of excursion above threshold for every point.

Parameters
threshold: float
Returns
List[float]

Excursion probabilities. Element i contains excursion probability (above threshold) for element i.

coverage_fct(i, threshold)[source]

Coverage function (excursion probability) at a point.

Given a point in space, gives the probability that the value of the GP at that point is above some threshold.

Parameters
i: int

Index of the point to consider.

threshold: float
Returns
float

Probability that value of the field at point is above the threshold.

expected_excursion_measure(threshold)[source]

Get the expected measure of the excursion set above the given threshold.

Parameters
threshold: float

Excursion threshold

Returns
flot

Expected size (in number of cells) of the excursion set above the given threshold.

vorobev_deviation(set_inds, threshold)[source]

Compute the Vorob’ev deviation of a given set.

Parameters
set_inds: List[int]

Indices of the cells belonging to the set.

threshold: float

Excursion threshold.

Returns
float

Vorob’ev deviation of the set.

vorobev_expectation_inds(threshold)[source]

Get cells belonging to the Vorobev expectation.

Parameters
threshold: float

Excursion threshold.

Returns
List[int]

List of the indices of the points that are in the Vorobev quantile.

vorobev_quantile_inds(alpha, threshold)[source]

Get the cells belonging Vorobev quantile alpha.

Parameters
alpha: float

Level of the quantile to return. Will return points that have a prob greater than alpha to be in the excursion set.

threshold: float

Excursion threshold.

Returns
List[int]

List of the indices of the points that are in the Vorobev quantile.

ABCG16

Dario Azzimonti, Julien Bect, Clément Chevalier, and David Ginsbourger. Quantifying uncertainties on excursion sets under a gaussian random field prior. SIAM/ASA Journal on Uncertainty Quantification, 4(1):850–874, 2016.

AGC+16

Dario Azzimonti, David Ginsbourger, Clément Chevalier, Julien Bect, and Yann Richet. Adaptive design of experiments for conservative estimation of excursion sets. arXiv preprint arXiv:1611.07256, 2016.

CGBM13

Clément Chevalier, David Ginsbourger, Julien Bect, and Ilya Molchanov. Estimating and quantifying uncertainties on level sets using the vorob’ev expectation and deviation with gaussian process models. In mODa 10–Advances in Model-Oriented Design and Analysis, pages 35–43. Springer, 2013.