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
:
We consider the random variable defined by:
Analysis¶
The moments of any order of the random variable are finite. 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)
- distribution
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¶
Compute leave-one-out error of a polynomial chaos expansion
Evaluate the mean of a random vector by simulations
Sobol’ sensitivity indices using rank-based algorithm
Gaussian Process Regression: propagate uncertainties
Create a FCE for dependent inputs: transformation vs domination
OpenTURNS