Type: Package
Title: Nonparametric Sobol Estimator with Bootstrap Bandwidth
Version: 0.1.0
Author: Maikol Solís <maikol.solis@ucr.ac.cr>
Maintainer: Maikol Solís <maikol.solis@ucr.ac.cr>
Description: Algorithm to estimate the Sobol indices using a non-parametric fit of the regression curve. The bandwidth is estimated using bootstrap to reduce the finite-sample bias. The package is based on the paper Solís, M. (2018) <doi:10.48550/arXiv.1803.03333>.
License: MIT + file LICENSE
URL: https://github.com/maikol-solis/sobolnp/
BugReports: https://github.com/maikol-solis/sobolnp/issues
Imports: np, minqa, pbmcapply
Encoding: UTF-8
LazyData: true
RoxygenNote: 6.1.1
NeedsCompilation: no
Packaged: 2019-04-24 12:47:02 UTC; maikol
Repository: CRAN
Date/Publication: 2019-04-29 08:40:02 UTC

Plot method for objects sobolnp

Description

Plot the Sobol indices based in a non-parametric regression with cross-validation and bootstrap bandwidth

Usage

plot(snp, ...)

## S3 method for class 'sobolnp'
plot(snp, ...)

Arguments

snp

an object of class sobolnp

...

further arguments passed to the plot function

Value

A formatted table with the results of the sobolnp function.

Examples


ishigami.fun <- function(X) {
A <- 7
B <- 0.1
sin(X[, 1]) + A * sin(X[, 2])^2 + B * X[, 3]^4 * sin(X[, 1])
}

X <- matrix(runif(3*100, -pi, pi), ncol = 3)
Y <- ishigami.fun(X)

estimation <- sobolnp(Y = Y, X = X, nboot = 5)

plot(estimation)


Print method for objects sobolnp

Description

Print method for objects sobolnp

Usage

print(snp, ...)

## S3 method for class 'sobolnp'
print(snp, ...)

Arguments

snp

an object of class sobolnp

...

further arguments passed to the print function

Value

A formatted table with the results of the sobolnp function.

Examples


ishigami.fun <- function(X) {
A <- 7
B <- 0.1
sin(X[, 1]) + A * sin(X[, 2])^2 + B * X[, 3]^4 * sin(X[, 1])
}

X <- matrix(runif(3*100, -pi, pi), ncol = 3)
Y <- ishigami.fun(X)

estimation <- sobolnp(Y = Y, X = X, nboot = 5)

print(estimation)


Nonparametric Sobol Estimator with Bootstrap Bandwidth

Description

Algorithm to estimate the Sobol indices using a non-parametric fit of the regression curve. The bandwidth is estimated using bootstrap to reduce the finite-sample bias.

Usage

sobolnp(Y, X, bandwidth = NULL, bandwidth.compute = TRUE,
  bootstrap = TRUE, nboot = 100, ckerorder = 2, mc.cores = 1)

Arguments

Y

Response continuous variable

X

Matrix of independent variables

bandwidth

If bandwidth.compute = TRUE, it sets the starting bandwidth to find the bootstrap bandwidth. If NULL the least-square cross-validation bandwidth is used. If bandwidth.compute = FALSE, it will use the values provided fixed over all the simulation. Defaults to NULL.

bandwidth.compute

Logical value. Indicates if the bandwidth should be estimated or not. Defaults to TRUE.

bootstrap

Logical value. Indicates if the estimation should be with bootstrap or not. Defaults to TRUE.

nboot

Number of bootstrap samples taken for the method. Ignored if 'bootstrap = FALSE'. Defaults to 100.

ckerorder

Numeric value specifying kernel order (should be one of (2,4,6,8)). Defaults to 2.

mc.cores

Number of cores used. Defaults to 1.

Value

A list of class sobolnp with the following elements:

S

First order Sobol indices estimated with nonparametric regression and a cross-validation bandwidth

bws

Bandwidth estimated with cross-validation

Sboot

First order Sobol indices estimated with nonparametric regression and a bootstrap bandwidth

bwsboot

Bandwidth estimated with bootstrap

References

Solís, Maikol. "Nonparametric estimation of the first order Sobol indices with bootstrap bandwidth." arXiv preprint arXiv:1803.03333 (2018).

Examples

ishigami.fun <- function(X) {
A <- 7
B <- 0.1
sin(X[, 1]) + A * sin(X[, 2])^2 + B * X[, 3]^4 * sin(X[, 1])
}

X <- matrix(runif(3*100, -pi, pi), ncol = 3)
Y <- ishigami.fun(X)

estimation <- sobolnp(Y = Y, X = X, nboot = 5)

mirror server hosted at Truenetwork, Russian Federation.