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¶
Estimate correlation coefficients
Compute grouped indices for the Ishigami function
Create a polynomial chaos for the Ishigami function: a quick start guide to polynomial chaos
Create a sparse chaos by integration
Conditional expectation of a polynomial chaos expansion
Polynomial chaos expansion cross-validation
Kriging: propagate uncertainties
Evaluate the mean of a random vector by simulations
Sobol’ sensitivity indices using rank-based algorithm
The HSIC sensitivity indices: the Ishigami model
Compute the L2 error between two functions
Compute leave-one-out error of a polynomial chaos expansion