functions.sa_test_functions¶
- Module provides test functions for parameter sensitivity analysis from
- Ishigami and Homma (1990) An importance qualification technique in uncertainty analysis for computer models,
Proceedings of the isuma ‘90, First International Symposium on Uncertainty Modelling and Analysis, University of Maryland, Dec. 03 - Dec 05 1990, 398-403
- Oakley and O’Hagan (2004) Probabilistic sensitivity analysis of complex models: a Bayesian approach
Statist. Soc. B 66, Part 3, 751-769.
- Morris (1991) Factorial sampling plans for preliminary computational experiments,
Technometrics 33, 161-174.
Saltelli et al. (2008) Global Sensitivity Analysis. The Primer, John Wiley & Sons, pp. 292
- Saltelli et al. (2010) Variance based sensitivity analysis of model output, Design and estimator
for the total sensitivity index, Comp. Phys. Comm. 181, 259-270.
- Sobol’ (1990), Sensitivity estimates for nonlinear mathematical models,
Matematicheskoe Modelirovanie 2, 112-118 (in Russian), translated in English in Sobol’ (1993).
- Sobol’ (1993) Sensitivity analysis for non-linear mathematical models,
Mathematical Modelling and Computational Experiment 1, 407-414, English translation of Russian original paper Sobol’ (1990).
- Current functions are:
B B of Saltelli et al. (2010)
G / g G-function attributed to Sobol’ (1990, 1993), given by Saltelli et al. (2008, 2010)
Gstar G* of Saltelli et al. (2010)
ishigami_homma Ishigami and Homma (1990), given by Saltelli et al. (2008, page 179)
K / bratley K of Saltelli et al. (2010)
fmorris / morris After Morris (1991)
- oakley_ohagan Oakley and O’Hagan (2004), parameters given in Saltelli et al. (2008)
or on http://www.jeremy-oakley.staff.shef.ac.uk/psa_example.txt
This module was written by Matthias Cuntz & Juliane Mai while at Department of Computational Hydrosystems, Helmholtz Centre for Environmental Research - UFZ, Leipzig, Germany, and continued by Matthias Cuntz while at Institut National de Recherche pour l’Agriculture, l’Alimentation et l’Environnement (INRAE), Nancy, France.
Copyright (c) 2015-2020 Matthias Cuntz - mc (at) macu (dot) de Released under the MIT License; see LICENSE file for details.
Written Mar 2015 by Matthias Cuntz (mc (at) macu (dot) de) & Juliane Mai
Added functions to properly test PAWN method: linear, product, ratio, and ishigami_homma_easy, Dec 2017, Juliane Mai
Provide morris function under the name fmorris and the K function under the name bratley, Nov 2019, Matthias Cuntz
Changed to Sphinx docstring and numpydoc, Dec 2019, Matthias Cuntz
Distinguish iterable and array_like parameter types, Jan 2020, Matthias Cuntz
The following functions are provided:
|
B function, Saltelli et al. (2010) Comp. |
|
G-function |
|
G-function |
|
G* example, Saltelli et al. (2010) Comp. |
|
K example, Saltelli et al. (2010) Comp. |
|
K example, Saltelli et al. (2010) Comp. |
|
Morris-function, Morris (1991) Technometrics 33, 161-174 |
|
Morris-function, Morris (1991) Technometrics 33, 161-174 |
Oakley and O'Hagan (2004) J. |
|
|
Ishigami and Homma (1990), given by Saltelli et al. (2008, page 179). |
|
Linear test function to test PAWN method: |
|
Product test function to test PAWN method: |
|
Ratio test function: |
Simplified Ishigami and Homma function to test PAWN method: |
- B(X)[source]¶
B function, Saltelli et al. (2010) Comp. Phys. Comm. 181, p. 259-270
- Parameters
X (array_like) – (nX,) or (nX,npoints) array of floats
- Returns
B – float or (npoints,) floats of B function values at X
- Return type
float or ndarray
- G(X, a)[source]¶
G-function
Sobol’ (1990) Matematicheskoe Modelirovanie 2, 112-118 (in Russian)
Sobol’ (1993) Mathematical Modelling and Computational Experiment 1, 407-414 (English translation)
- Parameters
X (array_like) – (nX,) or (nX,npoints) array of floats
a (array_like) – (nX,) array of floats
- Returns
g – float or (npoints,) floats of G function values at X with parameters a
- Return type
float or ndarray
- Gstar(X, alpha, delta, a)[source]¶
G* example, Saltelli et al. (2010) Comp. Phys. Comm., 181, p. 259-270
- Parameters
X (array_like) – (nX,) or (nX,npoints) array of floats
alpha (array_like) – (nX,) array of floats
delta (array_like) – (nX,) array of floats
a (array_like) – (nX,) array of floats
- Returns
G* – float or (npoints,) floats of G* function values at X with parameters alpha, delta and a
- Return type
float or ndarray
- K(X)[source]¶
K example, Saltelli et al. (2010) Comp. Phys. Comm., 181, p. 259-270
- Parameters
X (array_like) – (nX,) or (nX,npoints) array of floats
- Returns
K – float or (npoints,) floats of K function values at X
- Return type
float or ndarray
- bratley(*args)[source]¶
K example, Saltelli et al. (2010) Comp. Phys. Comm., 181, p. 259-270
- Parameters
X (array_like) – (nX,) or (nX,npoints) array of floats
- Returns
bratley – float or (npoints,) floats of K function values at X
- Return type
float or ndarray
- fmorris(X, beta0, beta1, beta2, beta3, beta4)[source]¶
Morris-function, Morris (1991) Technometrics 33, 161-174
- Parameters
X (array_like) – (20,) or (20,npoints) array of floats
beta0 (float) – float
beta1 (array_like) – (20,) array of floats
beta2 (array_like) – (20,20) array of floats
beta3 (array_like) – (20,20,20) array of floats
beta4 (array_like) – (20,20,20,20) array of floats
- Returns
fmorris – float or (npoints,) floats of Morris function values at X with parameters beta0-beta4
- Return type
float or ndarray
- g(X, a)[source]¶
G-function
Sobol’ (1990) Matematicheskoe Modelirovanie 2, 112-118 (in Russian)
Sobol’ (1993) Mathematical Modelling and Computational Experiment 1, 407-414 (English translation)
- Parameters
X (array_like) – (nX,) or (nX,npoints) array of floats
a (array_like) – (nX,) array of floats
- Returns
G – float or (npoints,) floats of G function values at X with parameters a
- Return type
float or ndarray
- ishigami_homma(X, a, b)[source]¶
Ishigami and Homma (1990), given by Saltelli et al. (2008, page 179)
- Parameters
X (array_like) – (3,) or (3,npoints) array of floats
a (array_like) – float or (npoints,) array of floats
b (array_like) – float or (npoints,) array of floats
- Returns
ishigami_homma – float or (npoints,) floats of Ishigami and Homma function values at X with parameters a and b
- Return type
float or ndarray
- ishigami_homma_easy(X)[source]¶
Simplified Ishigami and Homma function to test PAWN method:
Y = sin(X[0]) + X[1]
with X[0],X[1] ~ Uniform[-Pi,Pi]
- Parameters
X (array_like) – (2,) or (2,npoints) array of floats
- Returns
ishigami_homma_easy – float or (npoints,) floats of simplified Ishigami and Homma function values at X
- Return type
float or ndarray
- linear(X, a, b)[source]¶
Linear test function to test PAWN method:
Y = a*X + b
- Parameters
X (array_like) – (1,) or (1,npoints) array of floats
a (array_like) – float or (npoints,) array of floats
b (array_like) – float or (npoints,) array of floats
- Returns
linear – float or (npoints,) floats of linear function values at X with parameters a and b
- Return type
float or ndarray
- morris(*args)[source]¶
Morris-function, Morris (1991) Technometrics 33, 161-174
- Parameters
X (array_like) – (20,) or (20,npoints) array of floats
beta0 (float) – float
beta1 (array_like) – (20,) array of floats
beta2 (array_like) – (20,20) array of floats
beta3 (array_like) – (20,20,20) array of floats
beta4 (array_like) – (20,20,20,20) array of floats
- Returns
morris – float or (npoints,) floats of Morris function values at X with parameters beta0-beta4
- Return type
float or ndarray
- oakley_ohagan(X)[source]¶
Oakley and O’Hagan (2004) J. R. Statist. Soc. B 66, Part 3, 751-769
- Parameters
X (array_like) – (15,) or (15,npoints) array of floats
- Returns
oakley_ohagan – float or (npoints,) floats of Oakley and O’Hagan function values at X
- Return type
float or ndarray
- product(X)[source]¶
Product test function to test PAWN method:
Y = X[0] * X[1]
- Parameters
X (array_like) – (2,) or (2,npoints) array of floats
- Returns
product – float or (npoints,) floats of product function values at X
- Return type
float or ndarray
- ratio(X)[source]¶
Ratio test function:
Y = X[0] / X[1]
Simple nonlinear model proposed by Liu et al. (2006):
Liu, H., Sudjianto, A., Chen, W., 2006. Relative entropy based method for probabilistic sensitivity analysis in engineering design. J. Mech. Des. 128, 326-336.
Used by Pianosi & Wagener, Environmental Modelling & Software (2015)
Pianosi, F. & Wagener T., 2015 A simple and efficient method for global sensitivity analysis based on cumulative distribution functions. Environmental Modelling & Software 67, 1-11.
- Parameters
X (array_like) – (2,) or (2,npoints) array of floats
- Returns
ratio – float or (npoints,) floats of ratio function values at X
- Return type
float or ndarray