GaussianSumSensitivity

class GaussianSumSensitivity(a=[1.0, 1.0, 1.0], mu=[0.0, 0.0], sigma=[1.0, 1.0])

Class to define a gaussian sum sensitivity benchmark problem.

Methods

getFirstOrderIndices()

Returns the first order Sobol' sensitivity indices.

getFunction()

Returns the function.

getInputDistribution()

Returns the input distribution.

getName()

Returns the name of the problem.

getTotalOrderIndices()

Returns the total order Sobol' sensitivity indices.

__init__(a=[1.0, 1.0, 1.0], mu=[0.0, 0.0], sigma=[1.0, 1.0])

Create a gaussian sum sensitivity problem.

The model is:

g(\boldsymbol{x}) = a_0 + a_1 x_1 + a_2 x_2
    + \dots + a_d x_d

for any \boldsymbol{x} \in \mathbb{R}^d where a_0, a_1, a_2, \ldots, a_d \in \mathbb{R} are constant parameters. We assume that the input random variables have Gaussian distributions:

X_i \sim \mathcal{N}\left(\mu_i,\ \sigma_i^2\right)

for i \in \{1, \dots, d\}.

The output variance is:

\operatorname{Var}(Y) = a_1^2 \, \sigma_1^2
    + a_2^2 \, \sigma_2^2
    + \dots + a_d^2 \, \sigma_d^2

The first-order Sobol’ indices are:

S_i = \frac{a_{i}^{2}\, \sigma_{i}^{2}}{\operatorname{Var}(Y)}

for i = 1, \dots, d.

The total Sobol’ sensitivity indices are equal to the first order indices.

Parameters:
asequence of floats

The coefficients of the linear sum, with length d + 1.

musequence of floats

The mean of the gaussian distributions, with length d.

sigmasequence of floats

The standard deviations of the gaussian distributions, with length d.

Examples

>>> import otbenchmark as otb
>>> problem = otb.GaussianSumSensitivity()
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.