R/mbrdsim.r
mbrdsim.Rd
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)
simlist | A named list containing the levels of a set of (multi-level) factors. |
---|---|
fraction | Design fraction at bit-level. Full design: fraction=0, half-fraction: fraction=1, and so on. |
gen | Generators for the fractioning at the bit level. Default is |
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.
The design at original factor level, non-randomized. The factors are named if the input factor list is named.
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ø
# 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)) # Info about the bit-design including bit-level aliasing (and resolution if \code{gen = NULL}) 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) #>