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.
fast99(model = NULL, factors, n, M = 4, omega = NULL,
q = NULL, q.arg = NULL, ...)
# S3 method for fast99
tell(x, y = NULL, ...)
# S3 method for fast99
print(x, ...)
# S3 method for fast99
plot(x, ylim = c(0, 1), ...)
fast99
returns a list of class "fast99"
, containing all
the input arguments detailed before, plus the following components:
the matched call.
a data.frame
containing the factors sample values.
a vector of model responses.
the estimation of variance.
the estimations of Variances of the Conditional Expectations (VCE) with respect to each factor.
the estimations of VCE with respect to each factor complementary set of factors ("all but \(X_i\)").
a function, or a model with a predict
method,
defining the model to analyze.
an integer giving the number of factors, or a vector of character strings giving their names.
an integer giving the sample size, i.e. the length of the discretization of the s-space (see Cukier et al.).
an integer specifying the interference parameter, i.e. the number of harmonics to sum in the Fourier series decomposition (see Cukier et al.).
a vector giving the set of frequencies, one frequency for each factor (see details below).
a vector of quantile functions names corresponding to wanted factors distributions (see details below).
a list of quantile functions parameters (see details below).
a list of class "fast99"
storing the state of the
sensitivity study (parameters, data, estimates).
a vector of model responses.
y-coordinate plotting limits.
any other arguments for model
which are passed
unchanged each time it is called.
Gilles Pujol
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).
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.
# 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