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 * 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, ...)
## S3 method for class 'fast99'
print(x, ...)
## 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.
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 ST_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).
Value
fast99 returns a list of class "fast99", containing all
the input arguments detailed before, plus the following components:
call
the matched call.
X
a data.frame containing the factors sample values.
y
a vector of model responses.
V
the estimation of variance.
D1
the estimations of Variances of the Conditional Expectations
(VCE) with respect to each factor.
Dt
the estimations of VCE with respect to each factor
complementary set of factors ("all but Xi").
Author(s)
Gilles Pujol
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
# 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)