PCE sensitivity indices

Hello UQWorld’ers

I have been getting some puzzling results coming from a PCE Sobol sensitivity analysis and after mulling over it for some time now i’m posting here to see if anyone has seen the same thing or knows what is going on.

I am fitting a PCE to some input/output data and calculating the Sobol indices (1st, 2nd and total order) from the PCE. So far so good. But many of these input have a zero first order indices but a nonzero second and total order indices.

How can a pair of parameters have a nonzero second order indices between them when each parameter has a zero value first order indices?

At first I thought it was a bug, the PCE model error, or just me missing how to interpret such a result. Anyway if anyone has seen this before, please do let me know (I’ve put the code below).

PCEOpts.Type = ‘Metamodel’;
PCEOpts.MetaType = ‘PCE’; % Polynomial chaos expansion

PCEOpts.ExpDesign.X = X; %Input sample (10x1000)
PCEOpts.ExpDesign.Y = Y; %Output sample (1x1000)

PCEOpts.Degree = 1:4;
myPCE = uq_createModel(PCEOpts); % Create meta model

SobolOpts.Type = ‘Sensitivity’;
SobolOpts.Method = ‘Sobol’;
SobolOpts.Sobol.Order = 2;
PCESobolAnalysis = uq_createAnalysis(SobolOpts);

ps. The model and inputs are defined in my code but not in the code sample above.

Hi @Payne001,

Thanks for posting here. It is indeed possible to have zero first-order Sobol’ indices but non-zero higher-order and total Sobol’ indices.

Let us define a deterministic computational model \mathcal{M}:\mathbb{R}^M\rightarrow \mathbb{R}, which maps the input vector \boldsymbol{x}\in \mathbb{R}^M to the model response y = \mathcal{M}(\boldsymbol{x}). In the context of global sensitivity analysis, each input component is modeled by a random variable. Hence, \boldsymbol{X} is a random vector, and the output is a random variable Y. Finally, we denote \boldsymbol{X}_{\boldsymbol{\mathsf{w}}} the subvector of \boldsymbol{X} defined by \boldsymbol{\mathsf{w}}\subset\{1,\ldots,M\}.

Recall the Hoeffding–Sobol decomposition of \mathcal{M}:

\begin{aligned} \mathcal{M}(\boldsymbol{x}) &= \mathcal{M}_0 + \sum_{i}\mathcal{M}_i(x_i)+\sum_{i<j}\mathcal{M}_{i,j}(x_{i},x_{j})+\ldots+\mathcal{M}_{1,\ldots,M}(x_1,\ldots,x_M) \\ &=\sum_{\boldsymbol{\mathsf{w}} \subset \{1,\ldots,M\}}\mathcal{M}_{\boldsymbol{\mathsf{w}}}(\boldsymbol{x}_{\boldsymbol{\mathsf{w}}}), \end{aligned}

where each component is given by

\mathcal{M}_{\boldsymbol{\mathsf{w}}}(\boldsymbol{x}_{\boldsymbol{\mathsf{w}}}) = \sum_{\boldsymbol{\mathsf{t}} \subset \boldsymbol{\mathsf{w}}} (-1)^{|\boldsymbol{\mathsf{w}}| - |{\boldsymbol{\mathsf{t}}}| } \mathbb{E}\left[Y \mid \boldsymbol{X}_{\boldsymbol{\mathsf{t}}} = \boldsymbol{x}_{\boldsymbol{\mathsf{t}}} \right].

This decomposition allows for decomposing the variance of Y to

\mathrm{Var}[Y] = \mathrm{Var}\left[\mathcal{M}(\boldsymbol{X})\right] = \sum_{\boldsymbol{\mathsf{w}} \subset \{1,\ldots,M\}}\mathrm{Var}\left[\mathcal{M}_{\boldsymbol{\mathsf{w}}}(\boldsymbol{X}_{\boldsymbol{\mathsf{w}}})\right].

The Sobol’ index is defined by

S_{\boldsymbol{\mathsf{w}}} = \frac{\mathrm{Var}\left[\mathcal{M}_{\boldsymbol{\mathsf{w}}}(X_{\boldsymbol{\mathsf{w}}})\right]}{\mathrm{Var}\left[\mathcal{M}(\boldsymbol{X})\right]},

For {\boldsymbol{\mathsf{w}}} containing a single element, say {\boldsymbol{\mathsf{w}}}=\{i\}, we obtain the first-order Sobol’ index for X_i:

S_i = \frac{\mathrm{Var}\left[\mathcal{M}_i(X_i)\right]}{\mathrm{Var}\left[\mathcal{M}(\boldsymbol{X})\right]}.

Similarly, we define the second-order Sobol’ index associated with X_i and X_j to quantify their interactive effect by taking {\boldsymbol{\mathsf{w}}}=\{i,j\}, that is,

S_{i,j} = \frac{\mathrm{Var}\left[\mathcal{M}_{i,j}(X_i,X_j)\right]}{\mathrm{Var}\left[\mathcal{M}(\boldsymbol{X})\right]}.

The total Sobol’ index for X_i aggregates all the effects related to X_i and is defined by

S_{T_i} = \sum_{i \in \boldsymbol{\mathsf{w}}\subset\{1,\ldots,M\}} S_{\boldsymbol{\mathsf{w}}}.

With the reminder above, let us consider a computational model defined by

\mathcal{M}(\boldsymbol{x}) = c_1x_1 + c_2x_2 + c_{3}x_1x_2,

and the input variables are independent standard Gaussian random variables, i.e., X_1,X_2\sim\mathcal{N}(0,1). Under this setup, the decomposition is given by

\mathcal{M}_1(x_1) = c_1x_1,\; \mathcal{M}_2(x_2) = c_2x_2,\; \mathcal{M}_{1,2}(x_1,x_2) = c_3x_1x_2.\;

Therefore, the first- and second-order Sobol’ indices are

S_1 = \frac{c^2_1}{c^2_1+c^2_2+c^2_3},\; S_2 = \frac{c^2_2}{c^2_1+c^2_2+c^2_3},\; S_{1,2} = \frac{c^2_3}{c^2_1+c^2_2+c^2_3}.

In addition, the total indices are

S_{T_1} = \frac{c^2_1 + c^2_3}{c^2_1+c^2_2+c^2_3},\; S_{T_2} = \frac{c^2_2 + c^2_3}{c^2_1+c^2_2+c^2_3}.

As a result, by taking c_1 = 0 and c_3\neq0, the first-order Sobol’ index for X_1 is zero whereas the second-order and total indices are non-zero, which concludes our analysis.

I hope this helps.

1 Like

Hey Xujia Zhu,

Thank you for your detailed reply, its nice to hear from someone who is also excited to use and discuss PCEs.

  1. So as I understand your response. We have a meta model that uses a regression algorithm to map a multivariate polynomial onto a data set of x and y which is defined as: Y = M(x).

  2. This meta-model can be decomposed into terms that in our case relate specifically to each input parameter (x_1,x_2) and there combination (x1x2). In the manuals I thinks these terms are called basis functions.

  3. Using the coefficients of these terms, the sensitivity indices can be defined, as you have described in your response. And indeed it is possible to get a second order nonzero indices and both first order indices are zero. If that’s correct then I understand.

I guess my misunderstanding is more intuitive. A result with a second order nonzero indices and both first order indices are zero, tells me that the uncertainty in the prediction is the result of a combination of variation in both parameters simultaneously. I have also read descriptions where second order indices describe variation that cannot to decomposed into first order indices.

And crucially the individual variation in each parameter has no effect on prediction uncertainty. I find interpreting this quite difficult. I suppose to form this into a question, I know this can happen but what does it say about the system being analysed?

Many thanks,


Hi @Payne001,

Thanks for the quick follow-up. There are a few things that I would like to clarify:

  1. Sobol’ indices are defined for any model with \mathrm{Var}[Y]<+\infty and mutually independent input variables (grouped into) \boldsymbol{X}. In other words, you can study these indices for your computational model (e.g., resorting to Monte Carlo simulations). To alleviate the computational burden associated with expensive simulators, we can build a surrogate model, which approximates the original model but is much cheaper to evaluate. PCE is one popular surrogate model. Moreover, thanks to the spectral representation, the Sobol’ indices of such an emulator can be analytically calculated through post-processing of the coefficients (see this paper for details).
  2. The first-order Sobol’ index S_i represents the contribution of a single input variable X_i to the output uncertainty (i.e., univariate effect). The second-order Sobol’ index S_{i,j} shows the interactive effect of X_i and X_j. For a model having S_1=0 and S_{1,2}\neq 0, we can conclude that the contribution of the uncertain variable X_1 to the output uncertainty is through X_2. In our example \mathcal{M}=c_1x_1+c_2x_2+c_3x_1x_2 (let’s forget surrogate models and say that your computational model is expressed in this form), the first term represents the marginal impact of X_1 on Y (as it involves only X_1), and the third term shows the joint effect of X_1 and X_2 (as it contains both X_1 and X_2). We can see how the values of Sobol’ indices are related to the inner structure of the model.