Learn R Programming

sensitivity (version 1.1)

fast: Fourier Amplitude Sensitivity Test

Description

fast is the implementation of the Fourier Amplitude Sensitivity Test. This function computes the following non-linear indices of sensitivity: first-order indices and total indices (extended FAST method).

Usage

fast(model = NULL, factors, n, M = 4,
     G = "uniform", min = 0, max = 1,
     nboot = 0, conf = 0.95, ...)
## S3 method for class 'fast':
compute(sa, y = NULL)

Arguments

model
the model.
factors
the number of factors, or their names.
n
the length of the discretization of the s-space.
M
the number of harmonics to sum.
G
the space transformation.
min
the minimum values for the factors (uniform distribution).
max
the maximum values for the factors (uniform distribution).
nboot
the number of bootstrap replicates.
conf
the confidence level for bootstrap confidence intervals.
sa
the sensitivity analysis object.
y
the response.
...
any other arguments for model which are passed unchanged each time it is called.

Value

  • fast returns an object of class "fast". An object of class "fast" is a list containing the following components:
  • modelthe model.
  • Mthe number of harmonics to sum.
  • nbootthe number of bootstrap replicates for bootstrap confidence intervals.
  • confthe confidence level.
  • sthe discretisation of the s-space
  • omegathe set of frequencies for each index.
  • xthe factor sample.
  • ythe response.
  • Sthe estimations of the first-order indices.
  • Stthe estimations of the total indices.
  • callthe matched call.

Details

model is a function or a predictor (a class with a predict method) computing the response y based on the sample given by x. If no model is specified, the indices will be computed when one gives the response.

The space transformation G is the function such that: $$x_i = G_i(\mathrm{sin}(\omega_i s))$$ It must be a function of two parameters (G <- function(i, x) ...). If the string "uniform" is given, then the function is the best one for uniform factors on the range $[a_i, b_i]$: $$G_i(x) = a_i + (b_i-a_i) \times \left( \frac{1}{2} + \frac{1}{\pi} \mathrm{asin}(x) \right)$$ where $a_i$ and $b_i$ are the boundaries given by the arguments min and max. min and max can be single values (the same for each factor) or vectors. Integrals in the s-space are computed by Monte Carlo integration.

References

Saltelli, A., Tarantola, S. and Chan, K., 1999, A quantitative, model independent method for global sensitivity analysis of model output. Technometrics, 41, 39--56.

Saltelli, A., Chan, K. and Scott, E. M., 2000, Sensitivity analysis. Wiley.

Cukier, R. I., Levine, H. B. and Schuler, K. E., 1978, Nonlinear sensitivity analysis of multiparameter model systems. J. Comput. Phys., 26, 1--42.

See Also

sensitivity compute

Examples

Run this code
# Test case : the non-monotonic Sobol g-function

sa <- fast(model = sobol.fun, factors = 8, n = 1000, nboot = 100)
print(sa)
plot(sa)

Run the code above in your browser using DataLab