Derivative based Global sensitivity measures from Polynomial Chaos Expansion

Hi,

I could see that the PC-based sensitivity analysis is implemented in OpenTURNS.

Further, I would like to request whether OpenTURNS can also implement the Derivative-based Global sensitivity measures using PCE.

The idea is that, in addition to computing Sobol’ indices from PCE coefficients, we can also compute Derivative based Global sensitivity measures (DGSM) from PCE coefficients based on this paper from Sudret et al.

“B.Sudret, C.V. Mai, Computing derivative-based Global Sensitivity Measures using Polynomial Chaos Expansion”.

DGSM is introduced by Sobol’ in this paper ‘I.M. Sobol’, S. Kucherenko, ‘Derivative based global sensitivity measures’. The first mentioned paper shows how DGSM can be computed from PC coefficients.

If it cannot be implemented sooner, can you please say how to read coefficients corresponding to individual variables and coefficients corresponding to interactions in OpenTURNS separately. So I can compute DGSM manually.

                   Thank You
1 Like

Hi!
Welcome to this forum.
Actually, I thought I could find the time to implement this method, but I must admit that I failed :slight_smile: ! Up to my knowledge, there is no implementation of DGSM in OpenTURNS at this time. But it seems to me that this is not too difficult. This involves:

  • computing the derivatives of orthogonal polynomials,
  • manipulating the multi-indices.

I share a Python script which computes the Sobol’ indices of a group of variables:

Please see getSobolGroupedIndex() and getSobolGroupedTotalIndex() methods.
The only difficulty in this script is the management of the multi-indices using the enumerate function. On this topic, there are two examples that might be interesting for you:

Using these scripts should make possible to easily manipulate the multi-indices in the enumeration rule.

The paper [1] considers two special cases: Hermite and Legendre. The Laguerre case is in the appendix. It does not seem to me that the general equations are given in the paper. The section “4.3. General case” points to the specific cases in the appendix: am I correct on this point? What specific information do we need on the derivatives of the polynomials to compute the DGSM? What is the general formula that we need to implement?
Regards,
Michaël

PS
The OrthogonalUniVariatePolynomial.derivate() method implements the derivative of any polynomial. This produces a new polynomial. Its coefficients are returned by getCoefficients(). Examples on orthogonal polynomials are available at Exercice-polynomes-orthogonaux-cantilever-beam.ipynb.


  1. Sudret, B., & Mai, C. V. (2015). Computing derivative-based global sensitivity measures using polynomial chaos expansions. Reliability Engineering & System Safety, 134, 241-250. ↩︎

Hi Michael,

Thanks for your quick response, and apologies for the delayed replayed as I was busy during the week.

My comments below for your queries -
The section “4.3. General case” points to the specific cases in the appendix: am I correct on this point?

I think sec. 4.3 corresponds to the generalized case when a random vector X has components belonging to different distributions. GPC expansions can be used in such cases, however, I think they tried to tell that we cannot have a proper ‘C’ matrix for obtaining the derivative of the polynomials in generalized PC cases. The derivation of ‘C’ matrix is straightforward for isoprobabilistic cases are given in Appendix. Hope this explanation is correct.

What specific information do we need on the derivatives of the polynomials to compute the DGSM? What is the general formula that we need to implement?

Hermite case is in Sec. 4.1. The final equations for computing DGSM are given in ‘Eq. (50) and (51)’. Initially, they were taking the derivative the Hermite expansion and show a new derived polynomials (with apostrophe (') on top multi-indices in Eq. (49). However, in Eq. (50) they finally show that the expectation of the gradients can simply be related to the coefficients belonging to different multi-indices (parent expansion) and degree of the univariate polynomial. We need to implement Eq. (50) and (51) for the Hermite case.

For Legendre case in Sec 4.2, Eq, We need to implement Eq. (63) and Eq,(64). In Eq.(64) they show coefficient -‘b’ and multi-indices set ‘beta’. I think it refers to the coefficients of the derivative polynomials. Eq. (64) computes the DGSM using the coefficients from derived polynomials (numerator) and the variance in the denominator.

Hope this explanation is correct and I will try to implement manually. Meanwhile, if you get it right please post the code here.

Regards
Gowtham R

1 Like