The Ishigami function¶
The Ishigami function of Ishigami & Homma (1990) is recurrent test case for sensitivity analysis methods and uncertainty.
Let and
(see Crestaux et al. (2007) and Marrel et al. (2009)). We consider the function
for any
We assume that the random variables
are independent and have the uniform marginal distribution in the interval from
to
:
Analysis¶
The expectation and the variance of are
and
The Sobol’ decomposition variances are
and .
This leads to the following first order Sobol’ indices:
and the following total order indices:
The third variable has no effect at first order (because
it is multiplied
by
), but has a total effet because of the interactions with
.
On the other hand, the second variable
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.
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
- X1
Uniform
First marginal, ot.Uniform(-np.pi, np.pi)
- X2
Uniform
Second marginal, ot.Uniform(-np.pi, np.pi)
- X3
Uniform
Third marginal, ot.Uniform(-np.pi, np.pi)
- inputDistribution
JointDistribution
The joint distribution of the input parameters.
- ishigami
SymbolicFunction
The Ishigami model with a, b as variables.
- model
ParametricFunction
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¶

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

Conditional expectation of a polynomial chaos expansion

Evaluate the mean of a random vector by simulations

Sobol’ sensitivity indices using rank-based algorithm


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