# sb {sensitivity}

### Description

`sb`

implements the Sequential Bifurcations screening method (Bettonvil and Kleijnen 1996). **This is an alpha version that might strongly evolve in the future**.

### Usage

sb(p, sign = rep("+", p), interaction = FALSE) ## S3 method for class 'sb': ask((x, i = NULL, ...)) ## S3 method for class 'sb': tell((x, y, ...)) ## S3 method for class 'sb': print((x, ...)) ## S3 method for class 'sb': plot((x, ...))

### Arguments

- p
- number of factors.
- sign
- a vector fo length
`p`

filled with`"+"`

and`"-"`

, giving the (assumed) signs of the factors effects. - interaction
- a boolean,
`TRUE`

if the model is supposed to be with interactions,`FALSE`

otherwise. - x
- a list of class
`"sb"`

storing the state of the screening study at the current iteration. - y
- a vector of model responses.
- i
- an integer, used to force a wanted bifurcation instead of that proposed by the algorithm.
- ...
- not used.

### Details

The model without interaction is while the model with interactions is In both cases, the factors are assumed to be uniformly distributed on [-1,1]. This is a difference with Bettonvil et al. where the factors vary across [0,1] in the former case, while [-1,1] in the latter.

Another difference with Bettonvil et al. is that in the current implementation, the groups are splitted right in the middle.

### Values

`sb`

returns a list of class `"sb"`

, containing all the input arguments detailed before, plus the following components: The groups effects can be displayed with the `print`

method.

- i
- the vector of bifurcations.
- y
- the vector of observations.
- ym
- the vector of mirror observations (model with interactions only).

### References

B. Bettonvil and J. P. C. Kleijnen, 1996, *Searching for important factors in simulation models with many factors: sequential bifurcations*, European Journal of Operational Research, 96, 180--194.

### Examples

# a model with interactions p <- 50 beta <- numeric(length = p) beta[1:5] <- runif(n = 5, min = 10, max = 50) beta[6:p] <- runif(n = p - 5, min = 0, max = 0.3) beta <- sample(beta) gamma <- matrix(data = runif(n = p^2, min = 0, max = 0.1), nrow = p, ncol = p) gamma[lower.tri(gamma, diag = TRUE)] <- 0 gamma[1,2] <- 5 gamma[5,9] <- 12 f <- function(x) { return(sum(x * beta) + (x %*% gamma %*% x))} # 10 iterations of SB sa <- sb(p, interaction = TRUE) for (i in 1 : 10) { x <- ask(sa) y <- list() for (i in names(x)) { y[[i]] <- f(x[[i]]) } tell(sa, y) } print(sa) plot(sa)

Documentation reproduced from package sensitivity, version 1.7. License: GPL-2