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

Estimate correlation coefficients

Estimate correlation coefficients

Visualize sensitivity

Visualize sensitivity

Compute grouped indices for the Ishigami function

Compute grouped indices for the Ishigami function

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

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

Kriging: propagate uncertainties

Kriging: propagate uncertainties

Evaluate the mean of a random vector by simulations

Evaluate the mean of a random vector by simulations

Sobol’ sensitivity indices using rank-based algorithm

Sobol' sensitivity indices using rank-based algorithm

FAST sensitivity indices

FAST sensitivity indices

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

The HSIC sensitivity indices: the Ishigami model

The HSIC sensitivity indices: the Ishigami model

Compute the L2 error between two functions

Compute the L2 error between two functions

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

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