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
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__(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(x) = a[0] + a[1] * x[0] + a[2] * x[1] + … + a[d] * x[d-1]
where d is the dimension and
x[i] = Normal(mu[i], sigma[i])
for i = 0, …, d-1.
The default dimension is equal to 2.
The variance of the output is
V(Y) = a[1]^2 * sigma[0]^2 + … + a[d]^2 * sigma[d-1]^2
The first order indices are
S[i] = (a[i + 1]^2 * sigma[i]^2) / V(Y)
for i=0,1,…,dimension.
The total 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.