The multi-level binary replacement (MBR) design approach is used here in order to facilitate the investigation of the effects of the data properties on the performance of estimation/prediction methods. The mbrdsim function takes as input a list containing a set of factors with their levels. The output is an MBR-design with the combinations of the factor levels to be run.

mbrdsim(simlist, fraction, gen = NULL)

## Arguments

simlist A named list containing the levels of a set of (multi-level) factors. Design fraction at bit-level. Full design: fraction=0, half-fraction: fraction=1, and so on. Generators for the fractioning at the bit level. Default is NULL for which the generators are chosen automatically by the FrF2 function. See documentation of FrF2 for details on how to set the generators.

## Value

BitDesign

The design at bit-factor level. The object is of class design, as output from FrF2. Function design.info() can be used to get extra design info of the bit-design. The bit-factors are named.numbered if the input factor list is named.

Design

The design at original factor level, non-randomized. The factors are named if the input factor list is named.

%% ...

## References

Martens, H., Måge, I., Tøndel, K., Isaeva, J., Høy, M. and Sæbø¸, S., 2010, Multi-level binary replacement (MBR) design for computer experiments in high-dimensional nonlinear systems, J, Chemom, 24, 748--756.

Solve Sæbø

## Examples

# Input: A list of factors with their levels (number of levels must be a multiple of 2).
## Simrel Parameters ----
sim_list <- list(
p = c(20, 150),
gamma = seq(0.2, 1.1, length.out = 4),
relpos = list(list(c(1, 2, 3), c(4, 5, 6)), list(c(1, 5, 6), c(2, 3, 4))),
R2 = list(c(0.4, 0.8), c(0.8, 0.8)),
ypos = list(list(1, c(2, 3)), list(c(1, 3), 2))
)
## 1/8 fractional Design ----
dgn <- mbrdsim(sim_list, fraction = 3)
design <- cbind(
dgn[["Design"]],
q = lapply(dgn[["Design"]][, "p"], function(x) rep(x/2, 2)),
type = "multivariate",
n = 100,
ntest = 200,
m = 3,
eta = 0.6
)
## Simulation ----
sobj <- apply(design, 1, function(x) do.call(simrel, x))
names(sobj) <- paste0("Design", seq.int(sobj))

if (requireNamespace("DoE.base", quietly = TRUE)) {
dgn <- mbrdsim(sim_list, fraction = 3)
DoE.base::design.info(dgn$BitDesign) } #>$type
#> [1] "FrF2"
#>
#> $nruns #> [1] 8 #> #>$nfactors
#> [1] 6
#>
#> $factor.names #>$factor.names$p.1 #> [1] -1 1 #> #>$factor.names$gamma.2 #> [1] -1 1 #> #>$factor.names$gamma.1 #> [1] -1 1 #> #>$factor.names$relpos.1 #> [1] -1 1 #> #>$factor.names$R2.1 #> [1] -1 1 #> #>$factor.names$ypos.1 #> [1] -1 1 #> #> #>$catlg.name
#> [1] "catlg"
#>
#> $catlg.entry #> Design: 6-3.1 #> 8 runs, 6 factors, #> Resolution III #> Generating columns: 3 5 6 #> WLP (3plus): 4 3 0 0 0 , 0 clear 2fis #> #>$aliased
#> $aliased$legend
#> [1] "A=p.1"      "B=gamma.2"  "C=gamma.1"  "D=relpos.1" "E=R2.1"
#> [6] "F=ypos.1"
#>
#> $aliased$main
#> [1] "A=BD=CE" "B=AD=CF" "C=AE=BF" "D=AB=EF" "E=AC=DF" "F=BC=DE"
#>
#> $aliased$fi2
#> [1] "AF=BE=CD"
#>
#>
#> $FrF2.version #> [1] "2.2-2" #> #>$replications
#> [1] 1
#>
#> $repeat.only #> [1] FALSE #> #>$randomize
#> [1] FALSE
#>
#> $seed #> NULL #> #>$creator
#> FrF2(nfactors = sum(l2levels), randomize = FALSE, nruns = 2^(sum(l2levels) -
#>     fraction), generators = gen, factor.names = fnames1)
#>