delsa
implements Distributed Evaluation of
Local Sensitivity Analysis to calculate first order parameter
sensitivity at multiple locations in parameter space. The locations
in parameter space can either be obtained by a call to parameterSets
or by specifying X0
directly, in which case the prior variance
of each parameter varprior
also needs to be specified. Via plot
(which uses functions of the package ggplot2
and reshape2
),
the indices can be visualized.
delsa(model = NULL, perturb=1.01,
par.ranges, samples, method,
X0, varprior, varoutput,
...)
# S3 method for delsa
tell(x, y = NULL,...)# S3 method for delsa
print(x, ...)
# S3 method for delsa
plot(x, which=1:3, ask = dev.interactive(), ...)
delsa
returns a list of class "delsa"
, containing all
the input arguments detailed before, plus the following components:
the matched call.
a data.frame
containing the design of experiments.
a vector of model responses.
the first order indices for each location in X0
.
the values of derivatives for each location in X0
a function, or a model with a predict
method,
defining the model to analyze.
Perturbation used to calculate sensitivity at each evaluation location
A named list of minimum and maximum parameter values
Number of samples to generate. For the "grid"
and
"innergrid"
method, corresponds to the number of samples for
each parameter, and may be a vector.
Sampling scheme. See parameterSets
Parameter values at which to evaluate sensitivity indices.
Can be used instead of specifying sampling method
Prior variance. If X0
is specified, varprior
must also be specified.
Output variance. If "summation"
is specified (default value),
the ouput variance is computed by summing the first order effects. If "empirical"
is specified, the ouput variance is estimated frome the output sample.
any other arguments for model
which are passed
unchanged each time it is called.
a list of class "delsa"
storing the state of the
sensitivity study (parameters, data, estimates).
a vector of model responses.
if a subset of the plots is required, specify a subset of the numbers 1:3
logical; if TRUE, the user is asked before each plot, see par(ask=.)
Conversion for sensitivity
package by Joseph Guillaume,
based on original R code by Oldrich Rakovec.
Addition of the varoutput
argument by Bertrand Iooss (2020).
print
shows summary of the first order indices across parameter space.
plot
shows: (1) the cumulative distribution function of first order
sensitivity across parameter space, (2) variation of first order sensitivity
in relation to model response, and (3) sensitivity in relation to parameter value.
Rakovec, O., M. C. Hill, M. P. Clark, A. H. Weerts, A. J. Teuling, R. Uijlenhoet (2014), Distributed Evaluation of Local Sensitivity Analysis (DELSA), with application to hydrologic models, Water Resour. Res., 50, 1-18
parameterSets
which is used to generate points, sensitivity
for other methods in the package
# Test case : the non-monotonic Sobol g-function
# (there are 8 factors, all following the uniform distribution on [0,1])
# \donttest{
library(randtoolbox)
x <- delsa(model=sobol.fun,
par.ranges=replicate(8,c(0,1),simplify=FALSE),
samples=100,method="sobol")
# Summary of sensitivity indices of each parameter across parameter space
print(x)
library(ggplot2)
library(reshape2)
plot(x)
# }
Run the code above in your browser using DataLab