MorrisSensitivity¶
- class MorrisSensitivity(random_parameters=False)¶
Class to define the Morris sensitivity benchmark problem.
Methods
Returns the first order Sobol' sensitivity indices.
Returns the function.
Returns the input distribution.
getName()Returns the name of the problem.
Returns the total order Sobol' sensitivity indices.
- __init__(random_parameters=False)¶
Define the Morris sensitivity benchmark problem.
The function
is defined on
and takes values in
.
Its inputs are independent random variables with distribution
.
It is defined as:
for any
where:
for
, and:
for
. The parameters
,
,
,
are presented below, in the Notes section. In (Morris, 1991)’s paper, these parameters are random. In order to get consistent results, the default value of the random_parameters parameter is so that the parameters beta are constant, deterministic, values.
- Parameters:
- random_parameters: bool
Set to True to get random parameters.
- Returns:
- None.
Notes
The dimension of this problem is equal to 20 and cannot be changed.
The function is the sum of five functions.
The first function is constant and equal to
.
The second is a linear combination of
coefficients.
The third is a order 2 combination of
coefficients.
The fourth is a order 3 combination of
coefficients.
The fifth is a order 4 combination of
coefficients.
Therefore, Morris’s function is a modification of an order 4 polynomial, where the small non-linearity comes from the
coefficients.
This code was taken from otmorris/python/src/Morris.i.
The reference Sobol’ indices were computed from a sparse polynomial chaos. A Sobol’ low discrepancy design of experiments was generated with 500 training points. The sparse polynomial chaos expansion used an hyperbolic enumeration rule and a polynomial degree 4. The coefficients were estimated from regression. With 500 points in the validation set, the Q² was greater than 98%. There are 2 significant digits in the reference results.
Morris Function Parameters
Let
be a random Gaussian variable with zero mean and unit standard deviation.
The first order coefficients of the Morris function are:
The second order coefficients are:
The third order coefficients are:
The fourth order coefficients are:
References
M. D. Morris, 1991, Factorial sampling plans for preliminary computational experiments, Technometrics, 33, 161–174.
- getFirstOrderIndices()¶
Returns the first order Sobol’ sensitivity indices.
- Parameters:
- None.
- Returns:
- firstOrderIndices: ot.Point
The first order sensitivity indices.
- getFunction()¶
Returns the function.
- Parameters:
- None.
- Returns:
- function: ot.Function
The function.
- getInputDistribution()¶
Returns the input distribution.
- Parameters:
- None.
- Returns:
- distribution: ot.Distribution
The distribution.
- getName()¶
Returns the name of the problem.
- Parameters:
- None.
- Returns:
- name: str
The name.
- getTotalOrderIndices()¶
Returns the total order Sobol’ sensitivity indices.
- Parameters:
- None.
- Returns:
- totalOrderIndices: ot.Point
The total order sensitivity indices.
otbenchmark