Sensitivity analysis using Sobol’ indices from polynomial chaos expansion

In this page, we introduce the method to compute Sobol’ sensitivity indices from a polynomials chaos expansion. Sobol’ indices are introduced in Sensitivity analysis using Sobol’ indices and polynomial chaos expansion (PCE) is introduced in Functional Chaos Expansion.

Introduction

Sobol’-Hoeffding is the decomposition of a function on a basis made of orthogonal functions. Since the PCE expansion is also an orthogonal decomposition, the Sobol’ decomposition of a function can be expressed depending on its PCE (see [knio2010] page 139). As a result, Sobol’ indices can be obtained analytically from the coefficients of the PCE (see [sudret2006], [sudret2008]).

Consider the input random vector \vect{X} = \left( X_1,\ldots,X_{n_X} \right) and the output random variable Y of the physical model:

Y = \operatorname{g}(\vect{X}).

Variance and part of variance of a PCE

Let n_X be the dimension of the input random vector. Let P \in \Nset be the number of coefficients in the functional basis. Let \mathcal{J}_P \subseteq \Nset^{n_X} the set of multi-indices up to the index P. Depending on the way the coefficients are computed, the set of multi-indices is the consequence of the choice of the polynomial degree, the enumeration rule, and, if necessary, the selection method (e.g. the LARS selection method). Let \tilde{h}(\bdZ) be the polynomial chaos expansion:

\tilde{h}(\bdZ)
&= \sum_{\idx \in \mathcal{J}_P} a_\idx \psi_\idx(\bdZ)

where \bdZ is the standardized input random vector, \{a_\idx\}_{\idx \in \mathcal{J}_P} are the coefficients and \{\psi_\idx\}_{\idx \in \mathcal{J}_P} are the functions in the functional basis.

The variance of the polynomial chaos expansion is:

\Var{\tilde{h}(\bdZ)} = \sum_{\idx \in \mathcal{J}_P} a_\idx^2 \|\psi_\idx\|^2.

In the previous expression, let us emphasise that the variance is a sum of squares, excepted the a_0 coefficient. If the polynomial basis is orthonormal, the expression is particularly simple (see [legratiet2017] eq. 38.43 page 1301):

\Var{\tilde{h}(\bdZ)} = \sum_{\idx \in \mathcal{J}_P} a_\idx^2.

The part of variance of the multi-index \idx is:

\operatorname{PoV}_\idx
= \frac{a_\idx^2 \|\psi_\idx\|^2}{\Var{\tilde{h}(\bdZ)}}.

The sum of the part of variances of all multi-indices is equal to 1:

\sum_{\idx \in \mathcal{J}_P} \operatorname{PoV}_\idx = 1.

Hence, we can identify the multi-indices which contribute more significantly to the variance of the output by sorting the multi-indices by decreasing order of their part of variance. This result is printed by the str representation of the FunctionalChaosSobolIndices class and is accessed by the print function: see an example of this below.

All the Sobol’ indices that we introduce in this section depend on a specific set of multi-indices which are presented in the next section.

Sets of multi-indices

Let \mathcal{J}^S \subseteq \mathcal{J}_P a subset of the multi-indices involved in the polynomial chaos expansion. Let \operatorname{S}^{PCE} be the function of the coefficients associated to the multi-indices \mathcal{J}^S, defined by:

\operatorname{S}^{PCE}\left(\mathcal{J}^S\right)
= \frac{\sum_{\idx \in \mathcal{J}^S} a_\idx^2 \|\psi_\idx\|^2}{\Var{\tilde{h}(\bdZ)}}.

Then any Sobol’ index S can be defined by the equation:

S = \operatorname{S}^{PCE}\left(\mathcal{J}^S\right).

If the polynomial basis is orthonormal, therefore:

\operatorname{S}^{PCE}\left(\mathcal{J}^S\right)
= \frac{\sum_{\idx \in \mathcal{J}^S} a_\idx^2}{\Var{\tilde{h}(\bdZ)}}.

Hence, in the methods presented below, each Sobol’ index is defined by its corresponding set of multi-indices.

Classical Sobol’ indices of a single variable

Let i \in \{0, ..., n_X - 1\} the index of an input variable. Let \mathcal{J}_i^S the set of multi-indices such that \alpha_i > 0 and the other components of the multi-indices are zero (see [legratiet2017] eq. 38.44 page 1301):

\mathcal{J}_i^S
=\left\{\idx=(0, ..., 0, \alpha_i, 0, ..., 0) \in \mathcal{J}_P, \quad
\alpha_i > 0 \right\}.

Therefore, the first order Sobol’ index S_i of the variable X_i is:

S_i = \operatorname{S}^{PCE}\left(\mathcal{J}_i^S\right).

Let \mathcal{J}_i^T the set of multi-indices such that \alpha_i > 0 (see [legratiet2017] eq. 38.45 page 1301):

\mathcal{J}_i^T
=\left\{\idx = (\alpha_0,...,\alpha_i,...,\alpha_{n_X - 1}) \in \mathcal{J}_P, \quad
\alpha_i > 0 \right\}.

Therefore, the total index S^T_i is:

S^T_i = \operatorname{S}^{PCE}\left(\mathcal{J}_i^T\right).

Interaction Sobol’ indices of a group of variables

Let \bdu \subseteq \{0, ..., n_X - 1\} the list of variable indices in the group. Let \mathcal{J}_\bdu the set of multi-indices:

\mathcal{J}_\bdu
=\left\{\idx \in \mathcal{J}_P,
\quad \idx \neq \boldsymbol{0}, \quad
\alpha_i > 0 \textrm{ if } i \in \bdu, \quad
\alpha_i = 0 \textrm{ if } i \not \in \bdu, \quad
i = 1, \ldots, n_X \right\}.

Therefore, the interaction (high order) Sobol’ index S_\bdu is:

S_\bdu = \operatorname{S}^{PCE}\left(\mathcal{J}_\bdu\right).

Let \mathcal{J}_\bdu the set of multi-indices:

\mathcal{J}_\bdu^{T, i}
= \left\{\boldsymbol{\alpha} \in \mathcal{J}_P, \quad \boldsymbol{\alpha} \neq \boldsymbol{0}, \quad
\alpha_i > 0 \textrm{ if } i \in \bdu, \quad
i = 1, \ldots, n_X \right\}.

Therefore, the total interaction (high order) Sobol’ index S_\bdu is:

S_\bdu^{T, i} = \operatorname{S}^{PCE}\left(\mathcal{J}_\bdu^{T, i}\right).

Closed first order and total Sobol’ indices of a group of variables

Let \mathcal{J}_\bdu^{S, \operatorname{cl}} the set of multi-indices such that each component of \idx is contained in the group \bdu:

\mathcal{J}_\bdu^{S, \operatorname{cl}}
= \left\{\idx \in \mathcal{J}_P, \quad
  \idx \neq \boldsymbol{0}, \quad \alpha_i = 0 \quad \textrm{ if } \quad
  i \not \in \bdu, \quad
  i = 1, \ldots, n_X \right\}.

Therefore, the first order (closed) Sobol’ index S^{\operatorname{cl}}_\bdu is:

S^{\operatorname{cl}}_\bdu
= \operatorname{S}^{PCE}\left(\mathcal{J}_\bdu^{S, \operatorname{cl}}\right).

Let \mathcal{J}_\bdu^T the set of multi-indices:

\mathcal{J}_\bdu^T
= \left\{\idx \in\mathcal{J}_P, \quad \idx \neq \boldsymbol{0}, \quad
  \exists i \in \{1, \ldots, n_X\} \quad
  \textrm{s.t.}  \quad i \in \bdu \textrm{ and } \alpha_i > 0 \right\}.

Therefore, the total Sobol’ index S^T_\bdu is:

S^T_\bdu = \operatorname{S}^{PCE}\left(\mathcal{J}_\bdu^T\right).

Summary

The next table presents the multi-indices involved in each Sobol’ index.

Single variable or group

Sensitivity Index

Multi-indices

One single variable i

First order

\alpha_j > 0 \textrm{ if } j = i, \textrm{ and } \alpha_j = 0 \textrm{ if } j \neq i, \quad j=1, \ldots, n_X

Total

\alpha_i > 0

Interaction of a group \bdu

First order

\alpha_i > 0 \textrm{ if } i \in \bdu, \quad \alpha_i = 0 \textrm{ if } i \not \in \bdu

Total interaction

\alpha_i >0 \textrm{ if } i \in \bdu

Group (closed) \bdu

First order (closed)

\alpha_i = 0 \textrm{ if } i \not\in \bdu, \quad i = 1, \ldots, n_X

Total

\exists i\in\{1,\ldots, n_X\} \quad \textrm{s.t.} \quad i \in \bdu \textrm{ and } \alpha_i > 0

Table 1. Multi-indices involved in the first order and total Sobol’ indices of a single variable i or a group \bdu.