The Ishigami function

The Ishigami function of Ishigami & Homma (1990) is recurrent test case for sensitivity analysis methods and uncertainty. Let a=7 and b=0.1 (see Crestaux et al. (2007) and Marrel et al. (2009)). We consider the function

g(X_1,X_2,X_3) = \sin(X_1)+a \sin (X_2)^2 + b X_3^4 \sin(X_1)

for any X_1,X_2,X_3\in[-\pi,\pi] We assume that the random variables X_1,X_2,X_3 are independent and have the uniform marginal distribution in the interval from -\pi to \pi:

X_1,X_2,X_3\sim \mathcal{U}(-\pi,\pi).

Analysis

The expectation and the variance of Y are

\Expect{Y}  = \frac{a}{2}

and

\Var{Y} = \frac{1}{2} +  \frac{a^2}{8} +  \frac{b^2 \pi^8}{18} +  \frac{b\pi^4}{5}.

The Sobol’ decomposition variances are

V_1     = \frac{1}{2} \left(1 + b\frac{\pi^4}{5} \right)^2, \qquad
V_2     = \frac{a^2}{8}, \qquad
V_{1,3} = b^2 \pi^8 \frac{8}{225}

and V_3=V_{1,2} = V_{2,3}=V_{1,2,3} = 0.

This leads to the following first order Sobol’ indices:

S_1 = \frac{V_1}{V(Y)}, \qquad S_2 = \frac{V_2}{V(Y)}, \qquad S_3 = 0,

and the following total order indices:

ST_1 = \frac{V_1+V_{1,3}}{V(Y)}, \qquad ST_2 = S_2, \qquad ST_3 = \frac{V_{1,3}}{V(Y)}.

The third variable X_3 has no effect at first order (because X_3^4 it is multiplied by \sin(X_1)), but has a total effet because of the interactions with X_1. On the other hand, the second variable X_2 has no interactions which implies that the first order indice is equal to the total order indice for this input variable.

References

  • Ishigami, T., & Homma, T. (1990, December). An importance quantification technique in uncertainty analysis for computer models. In Uncertainty Modeling and Analysis, 1990. Proceedings., First International Symposium on (pp. 398-403). IEEE.

  • Sobol’, I. M., & Levitan, Y. L. (1999). On the use of variance reducing multipliers in Monte Carlo computations of a global sensitivity index. Computer Physics Communications, 117(1), 52-61.

  • [saltelli2000]

  • Crestaux, T., Martinez, J.-M., Le Maitre, O., & Lafitte, O. (2007). Polynomial chaos expansion for uncertainties quantification and sensitivity analysis. SAMO 2007, http://samo2007.chem.elte.hu/lectures/Crestaux.pdf.

Load the use case

We can load this model from the use cases module as follows :

>>> from openturns.usecases import ishigami_function
>>> # Load the Ishigami use case
>>> im = ishigami_function.IshigamiModel()

API documentation

class IshigamiModel

Data class for the Ishigami model.

Attributes:
dimThe dimension of the problem

dim = 3

afloat

Constant: a = 7.0

bfloat

Constant: b = 0.1

X1Uniform

First marginal, ot.Uniform(-np.pi, np.pi)

X2Uniform

Second marginal, ot.Uniform(-np.pi, np.pi)

X3Uniform

Third marginal, ot.Uniform(-np.pi, np.pi)

inputDistributionJointDistribution

The joint distribution of the input parameters.

ishigamiSymbolicFunction

The Ishigami model with a, b as variables.

modelParametricFunction

The Ishigami model with the a=7.0 and b=0.1 parameters fixed.

expectationfloat

Expectation of the output variable.

variancefloat

Variance of the output variable.

S1float

First order Sobol index number 1

S2float

First order Sobol index number 2

S3float

First order Sobol index number 3

S12float

Second order Sobol index for marginals 1 and 2.

S13float

Second order Sobol index for marginals 1 and 3.

S23float

Second order Sobol index for marginals 2 and 3.

S123float
ST1float

Total order Sobol index number 1.

ST2float

Total order Sobol index number 2.

ST3float

Total order Sobol index number 3.

Examples

>>> from openturns.usecases import ishigami_function
>>> # Load the Ishigami model
>>> im = ishigami_function.IshigamiModel()

Examples based on this use case

Visualize sensitivity

Visualize sensitivity

Estimate correlation coefficients

Estimate correlation coefficients

Gaussian Process Regression: propagate uncertainties

Gaussian Process Regression: propagate uncertainties

Create a sparse chaos by integration

Create a sparse chaos by integration

Conditional expectation of a polynomial chaos expansion

Conditional expectation of a polynomial chaos expansion

Polynomial chaos expansion cross-validation

Polynomial chaos expansion cross-validation

Validate a polynomial chaos

Validate a polynomial chaos

Create a polynomial chaos for the Ishigami function: a quick start guide to polynomial chaos

Create a polynomial chaos for the Ishigami function: a quick start guide to polynomial chaos

Compute grouped indices for the Ishigami function

Compute grouped indices for the Ishigami function

Compute leave-one-out error of a polynomial chaos expansion

Compute leave-one-out error of a polynomial chaos expansion

Evaluate the mean of a random vector by simulations

Evaluate the mean of a random vector by simulations

Compute the L2 error between two functions

Compute the L2 error between two functions

The HSIC sensitivity indices: the Ishigami model

The HSIC sensitivity indices: the Ishigami model

FAST sensitivity indices

FAST sensitivity indices

Sobol’ sensitivity indices using rank-based algorithm

Sobol' sensitivity indices using rank-based algorithm

Estimate Sobol’ indices for the Ishigami function by a sampling method: a quick start guide to sensitivity analysis

Estimate Sobol' indices for the Ishigami function by a sampling method: a quick start guide to sensitivity analysis