Learn R Programming

sensitivity (version 1.3-1)

fast: Fourier Amplitude Sensitivity Test

Description

fast is the implementation of the Fourier Amplitude Sensitivity Test.

Usage

fast(method = "saltelli99", model = NULL, factors, n, M = 4,
     omega = NULL, q = NULL, q.arg = NULL, ...)

Arguments

method
the method: "saltelli99" only
model
the model
factors
the number of factors, or their names
n
the sample size
M
the interference parameter
omega
the set of frequencies
q
the names of the quantile functions for the factors distributions
q.arg
the quantile parameters
...
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:
  • xthe factor sample
  • ythe response
  • Sthe estimations of the first-order indices
  • Stthe estimations of the total indices (method "saltelli99")

Computational cost

For the method "saltelli99", the number of model evaluations is $p \times n$ where $p$ is the number of factors.

Details

The method "saltelli99" is the so-called extended fast method wich provides estimations of both first order and total indices at a low computational cost. 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.

factors could either be a single number or a vector of character strings. n is the length of the discretization of the s-space (for computing Fourier coefficients) and M is the number of harmonics to sum (for computing partial variances). If the set of frequencies omega is not given, the function use the set recommended by the corresponding method. For the method "saltelli99", the first frequency is the greater, associated with the input variable to assess, and the other frequencies are associated with the complementary set.

If q and q.args are not given, the factors will be considerd uniform on [0,1]. q is a list of character strings giving the names of the quantile functions (one for each factor), such as qunif, qnorm...q could also be a single character string (the same for all). q.arg is a list of lists, each list being additional parameters for the corresponding quantile function. For example, the parameters of the quantile qunif could be (min=1, max=2) giving an uniform distribution on [1,2]. If q is a single character string, then q.arg must be a single list.

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.

Examples

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

sa <- fast(model = ishigami.fun, factors = 3, n = 1000,
           q = "qunif", q.arg = list(min = -pi, max = pi))
print(sa)
plot(sa)

Run the code above in your browser using DataLab