Learn R Programming

sensitivity (version 1.10.1)

fast99: Extended Fourier Amplitude Sensitivity Test

Description

fast99 implements the so-called "extended-FAST" method (Saltelli et al. 1999). This method allows the estimation of first order and total Sobol' indices for all the factors (alltogether $2p$ indices, where $p$ is the number of factors) at a total cost of $n \times p$ simulations.

Usage

fast99(model = NULL, factors, n, M = 4, omega = NULL,
       q = NULL, q.arg = NULL, ...)
## S3 method for class 'fast99':
tell(x, y = NULL, \dots)
## S3 method for class 'fast99':
print(x, \dots)
## S3 method for class 'fast99':
plot(x, ylim = c(0, 1), ...)

Arguments

model
a function, or a model with a predict method, defining the model to analyze.
factors
an integer giving the number of factors, or a vector of character strings giving their names.
n
an integer giving the sample size, i.e. the length of the discretization of the s-space (see Cukier et al.).
M
an integer specifying the interference parameter, i.e. the number of harmonics to sum in the Fourier series decomposition (see Cukier et al.).
omega
a vector giving the set of frequencies, one frequency for each factor (see details below).
q
a vector of quantile functions names corresponding to wanted factors distributions (see details below).
q.arg
a list of quantile functions parameters (see details below).
x
a list of class "fast99" storing the state of the sensitivity study (parameters, data, estimates).
y
a vector of model responses.
ylim
y-coordinate plotting limits.
...
any other arguments for model which are passed unchanged each time it is called.

Value

  • fast99 returns a list of class "fast99", containing all the input arguments detailed before, plus the following components:
  • callthe matched call.
  • Xa data.frame containing the factors sample values.
  • ya vector of model responses.
  • Vthe estimation of variance.
  • D1the estimations of Variances of the Conditional Expectations (VCE) with respect to each factor.
  • Dtthe estimations of VCE with respect to each factor complementary set of factors ("all but $X_i$").

Details

If not given, the set of frequencies omega is taken from Saltelli et al. The first frequency of the vector omega is assigned to each factor $X_i$ in turn (corresponding to the estimation of Sobol' indices $S_i$ and $S_{T_i}$), other frequencies being assigned to the remaining factors. If the arguments q and q.args are not given, the factors are taken uniformly distributed on $[0,1]$. The argument q must be list of character strings, giving the names of the quantile functions (one for each factor), such as qunif, qnorm...It can also be a single character string, meaning same distribution for all. The argument q.arg must be a list of lists, each one being additional parameters for the corresponding quantile function. For example, the parameters of the quantile function qunif could be list(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 (rather than a list of one list).

References

A. Saltelli, S. Tarantola and K. Chan, 1999, A quantitative, model independent method for global sensitivity analysis of model output, Technometrics, 41, 39--56. R. I. Cukier, H. B. Levine and K. E. Schuler, 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
x <- fast99(model = ishigami.fun, factors = 3, n = 1000,
            q = "qunif", q.arg = list(min = -pi, max = pi))
print(x)
plot(x)

Run the code above in your browser using DataLab