Random Balance Design FAST Method
struct RBDFAST <: GSAMethod
num_harmonics::Int
end
RBDFAST
has the following keyword arguments:
num_harmonics
: Number of harmonics to consider during power spectral density analysis.
Method Details
In the Random Balance Designs (RBD) method, similar to eFAST
, N
points are selected over a curve in the input space. A fixed frequency equal to 1
is used for each factor. Then independent random permutations are applied to the coordinates of the N points in order to generate the design points. The input model for analysis is evaluated at each design point and the outputs are reordered such that the design points are in increasing order with respect to factor Xi
. The Fourier spectrum is calculated on the model output at the frequency 1 and at its higher harmonics (2, 3, 4, 5, 6) and yields the estimate of the sensitivity index of factor Xi
.
API
function gsa(f, method::RBDFAST; num_params, N, rng::AbstractRNG = Random.default_rng(), batch = false, kwargs...)
Example
function linear_batch(X)
A= 7
B= 0.1
@. A*X[1,:]+B*X[2,:]
end
function linear(X)
A= 7
B= 0.1
A*X[1]+B*X[2]
end
lb = -ones(4)*π
ub = ones(4)*π
rng = StableRNG(123)
res1 = gsa(linear,GlobalSensitivity.RBDFAST(),num_params = 4, N=15000)
res2 = gsa(linear_batch,GlobalSensitivity.RBDFAST(),num_params = 4, batch=true, N=15000)