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 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), ...)
predict
method,
defining the model to analyze."fast99"
storing the state of the
sensitivity study (parameters, data, estimates).model
which are passed
unchanged each time it is called.fast99
returns a list of class "fast99"
, containing all
the input arguments detailed before, plus the following components:data.frame
containing the factors sample values.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).# 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