Monte Carlo Estimation of Sobol' Indices using certified meta-models

Share:

Description

sobolCert implements the Monte Carlo estimation of the Sobol' sensitivity indices using certified metamodels using the formulas in Janon et al. (2011).

Usage

1
2
3
sobolCert(model = NULL, X1=NULL, X2=NULL, nboot = 300, conf = 0.95, lambda0 = 0, h = 0)
## S3 method for class 'sobolCert'
print(x, ...)

Arguments

model

a function defining the model to analyze. This function must return a list whose components are:

  • outmetamodel output.

  • errmetamodel output error bound, satisfying

    |model_{output} - metamodel_{output}| <= err

X1

the first random sample. If NULL, sobolEff ignores model, X1 and X2, and reuse model outputs from the previous sobolCert call.

X2

the second random sample.

nboot

the number of bootstrap replicates.

conf

the confidence level for confidence intervals.

lambda0

if lambda0=0, use the method described in Janon et al. (2011) Section 3.1; else use the method of Section 3.2 with lambda0 as penalty parameter.

h

if lambda0=0, this parameter is ignored; else it is used as the h bandwidth parameter.

x

a sobolCert object

...

currently not used

Value

sobolCert returns a list of class "sobolCert", containing the following components:

call

the matched call.

S

the estimations of the Sobol' sensitivity indices.

penalty

(only if lambda0>0) value of the smoothing penalty.

Author(s)

Alexandre Janon

References

Janon, A., Nodet M., Prieur C. (2011) Uncertainties assessment in global sensitivity indices estimation from metamodels. To appear in International Journal for Uncertainty Quantification.

See Also

sobol, sobol2002, sobol2007

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
	## Not run: 
# Test case

n <- 1000
X1 <- data.frame(matrix(runif(3 * n), nrow = n))
X2 <- data.frame(matrix(runif(3 * n), nrow = n))

# sensitivity analysis
x=sobolCert(model=function(X) { list(out=X[1]+2*X[2]+X[3]+.001*runif(1),err=.01); }, 
            X1, X2, conf=.99, lambda0=.1, h=.1, nboot=30)
print(x)

x=sobolCert(model=NULL, X1=NULL, X2=NULL, conf=.95)
print(x)

## End(Not run)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.