sobol2002 {sensitivity} | R Documentation |
sobol2002
implements the Monte Carlo estimation of
the Sobol' indices for both first-order and total indices at the same
time (alltogether 2p indices), at a total cost of (p + 2) * n model evaluations.
sobol2002(model = NULL, X1, X2, nboot = 0, conf = 0.95, ...) ## S3 method for class 'sobol2002': tell(x, y = NULL, return.var = NULL, ...) ## S3 method for class 'sobol2002': print(x, ...) ## S3 method for class 'sobol2002': plot(x, ylim = c(0, 1), ...)
model |
a function, or a model with a predict method,
defining the model to analyze. |
X1 |
the first random sample. |
X2 |
the second random sample. |
nboot |
the number of bootstrap replicates. |
conf |
the confidence level for bootstrap confidence intervals. |
x |
a list of class "sobol" storing the state of the
sensitivity study (parameters, data, estimates). |
y |
a vector of model responses. |
return.var |
a vector of character strings giving further
internal variables names to store in the output object x . |
ylim |
y-coordinate plotting limits. |
... |
any other arguments for model which are passed
unchanged each time it is called |
sobol2002
returns a list of class "sobol2002"
, containing all
the input arguments detailed before, plus the following components:
call |
the matched call. |
X |
a data.frame containing the design of experiments. |
y |
the response used |
V |
the estimations of Variances of the Conditional Expectations (VCE) with respect to each factor and also with respect to the complementary set of each factor ("all but Xi"). |
S |
the estimations of the Sobol' first-order indices. |
T |
the estimations of the Sobol' total sensitivity indices. |
Users can ask more ouput variables with the argument
return.var
(for example, bootstrap outputs V.boot
,
S.boot
and T.boot
).
A. Saltelli, 2002, Making best use of model evaluations to compute sensitivity indices, Computer Physics Communication, 145, 580–297.
# Test case : the non-monotonic Sobol g-function # The method of sobol requires 2 samples # There are 8 factors, all following the uniform distribution # on [0,1] n <- 1000 X1 <- data.frame(matrix(runif(8 * n), nrow = n)) X2 <- data.frame(matrix(runif(8 * n), nrow = n)) # sensitivity analysis x <- sobol2002(model = sobol.fun, X1, X2, nboot = 100) print(x) plot(x)