Last data update: 2014.03.03

R: Designs of Computer Experiments
DiceDesign-packageR Documentation

Designs of Computer Experiments

Description

Space-Filling Designs (SFD) and space-filling criteria (distance-based and uniformity-based).

Details

Package: DiceDesign
Type: Package
Version: 1.7
Date: 2015-06-15
License: GPL-3

This package provides tools to create some specific Space-Filling Design (SFD) and to test their quality:

  • Latin Hypercube Design (randomized or centered)

  • Strauss SFD and Maximum entropy SFD, WSP design

  • Optimal (low-discrepancy and maximin) Latin Hypercube Design by simulated annealing and genetic algorithms,

  • Discrepancies criteria, distance measures,

  • Minimal spanning tree criteria,

  • Radial scanning statistic

Note

Part of this work was conducted within the frame of the DICE (Deep Inside Computer Experiments) Consortium between ARMINES, Renault, EDF, IRSN, ONERA and TOTAL S.A. (http://dice.emse.fr/).

In this package only Faure's sequence is implemented. Note that the randtoolbox package provides the following quasi random sequences: the Sobol sequence, the Halton (hence Van Der Corput) sequence and the Torus sequence (also known as Kronecker sequence). Note also that the lhs package provides other types of algorithms to compute optimized LHS.

Author(s)

J. Franco, D. Dupuy, O. Roustant, G. Damblin and B. Iooss. Thanks to A. Jourdan for discussions about OA131.

(maintainer: Celine Helbert Celine.Helbert@ec-lyon.fr)

References

Damblin G., Couplet M., and Iooss B. (2013). Numerical studies of space filling designs: optimization of Latin Hypercube Samples and subprojection properties, Journal of Simulation, 7:276-289, 2013. http://www.gdr-mascotnum.fr/doku.php?id=iooss1

Dupuy D., Helbert C., Franco J. (2015), DiceDesign and DiceEval: Two R-Packages for Design and Analysis of Computer Experiments, Journal of Statistical Software, 65(11), 1–38, http://www.jstatsoft.org/v65/i11/.

Fang K.-T., Li R. and Sudjianto A. (2006) Design and Modeling for Computer Experiments, Chapman & Hall.

Santner T.J., Williams B.J. and Notz W.I. (2003) The Design and Analysis of Computer Experiments, Springer, 121-161.

Roustant O., Franco J., Carraro L., Jourdan A. (2010), A radial scanning statistic for selecting space-filling designs in computer experiments, MODA-9 proceedings, http://www.emse.fr/~roustant

Examples

# **********************
# Designs of experiments
# **********************

# A maximum entropy design with 20 points in [0,1]^2
p <- dmaxDesign(20,2,0.9,200)
plot(p$design,xlim=c(0,1),ylim=c(0,1))

# ************************
# Criteria: L2-discrepancy
# ************************
dp <- discrepancyCriteria(p$design,type=c('L2','C2'))
# Coverage measure
covp <- coverage(p$design)

# *******************************
# Criteria: Minimal Spanning Tree
# *******************************
mstCriteria(p$design,plot2d=TRUE)

# ****************************************************************
# Radial scanning statistic: Detection of defects of Sobol designs
# ****************************************************************

# requires randtoolbox package
library(randtoolbox)

# in 2D
rss <- rss2d(design=sobol(n=20, dim=2), lower=c(0,0), upper=c(1,1),
	type="l", col="red")

# in 8D. All pairs of dimensions are tried to detect the worst defect
# (according to the specified goodness-of-fit statistic).
d <- 8
n <- 10*d
rss <- rss2d(design=sobol(n=n, dim=d), lower=rep(0,d), upper=rep(1,d),
	type="l", col="red")

# avoid this defect with scrambling ?
#    1. Faure-Tezuka scrambling (type "?sobol" for more details and options)
rss <- rss2d(design=sobol(n=n, dim=d, scrambling=2), lower=rep(0,d),
	upper=rep(1,d), type="l", col="red")
#    2. Owen scrambling
rss <- rss2d(design=sobol(n=n, dim=d, scrambling=1), lower=rep(0,d),
	upper=rep(1,d), type="l", col="red")

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(DiceDesign)
> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/DiceDesign/DiceDesign-package.Rd_%03d_medium.png", width=480, height=480)
> ### Name: DiceDesign-package
> ### Title: Designs of Computer Experiments
> ### Aliases: DiceDesign-package DiceDesign
> ### Keywords: package
> 
> ### ** Examples
> 
> # **********************
> # Designs of experiments
> # **********************
> 
> # A maximum entropy design with 20 points in [0,1]^2
> p <- dmaxDesign(20,2,0.9,200)
> plot(p$design,xlim=c(0,1),ylim=c(0,1))
> 
> # ************************
> # Criteria: L2-discrepancy
> # ************************
> dp <- discrepancyCriteria(p$design,type=c('L2','C2'))
> # Coverage measure
> covp <- coverage(p$design)
> 
> # *******************************
> # Criteria: Minimal Spanning Tree
> # *******************************
> mstCriteria(p$design,plot2d=TRUE)
$tree
$tree[[1]]
[1] 9 7

$tree[[2]]
[1] 11  6

$tree[[3]]
[1]  4 20

$tree[[4]]
[1] 14  3

$tree[[5]]
[1] 15 18

$tree[[6]]
[1] 2

$tree[[7]]
[1] 1

$tree[[8]]
[1] 10 14

$tree[[9]]
[1]  1 19

$tree[[10]]
[1] 15  8

$tree[[11]]
[1] 19  2

$tree[[12]]
[1] 20

$tree[[13]]
[1] 18 16

$tree[[14]]
[1] 8 4

$tree[[15]]
[1] 19  5 10

$tree[[16]]
[1] 13 17

$tree[[17]]
[1] 16

$tree[[18]]
[1]  5 13

$tree[[19]]
[1]  9 11 15

$tree[[20]]
[1]  3 12


$stats
[1] 0.21546015 0.06847092

> 
> # ****************************************************************
> # Radial scanning statistic: Detection of defects of Sobol designs
> # ****************************************************************
> 
> # requires randtoolbox package
> library(randtoolbox)
Loading required package: rngWELL
This is randtoolbox. For overview, type 'help("randtoolbox")'.
> 
> # in 2D
> rss <- rss2d(design=sobol(n=20, dim=2), lower=c(0,0), upper=c(1,1),
+ 	type="l", col="red")

2D Radial Scanning Statistic (RSS) with GREENWOOD statistic
Discretization step (in degree) : 0.5

Maximum of RS statistic values (global statistic) per pair of dimensions
(1,2) 0.1882553

> 
> # in 8D. All pairs of dimensions are tried to detect the worst defect
> # (according to the specified goodness-of-fit statistic).
> d <- 8
> n <- 10*d
> rss <- rss2d(design=sobol(n=n, dim=d), lower=rep(0,d), upper=rep(1,d),
+ 	type="l", col="red")

2D Radial Scanning Statistic (RSS) with GREENWOOD statistic
Discretization step (in degree) : 0.5

Maximum of RS statistic values (global statistic) per pair of dimensions
(1,2) 0.0849883
(1,3) 0.05158186
(1,4) 0.05525541
(1,5) 0.06338549
(1,6) 0.06939936
(1,7) 0.06414032
(1,8) 0.06018758
(2,3) 0.04519081
(2,4) 0.08158213
(2,5) 0.05908966
(2,6) 0.07137203
(2,7) 0.1011963
(2,8) 0.05509806
(3,4) 0.06349945
(3,5) 0.05446887
(3,6) 0.06301796
(3,7) 0.04840901
(3,8) 0.06042284
(4,5) 0.06685162
(4,6) 0.05817413
(4,7) 0.04710206
(4,8) 0.06501007
(5,6) 0.07206219
(5,7) 0.06256104
(5,8) 0.07542133
(6,7) 0.06258479
(6,8) 0.07292604
(7,8) 0.05614686

> 
> # avoid this defect with scrambling ?
> #    1. Faure-Tezuka scrambling (type "?sobol" for more details and options)
> rss <- rss2d(design=sobol(n=n, dim=d, scrambling=2), lower=rep(0,d),
+ 	upper=rep(1,d), type="l", col="red")

2D Radial Scanning Statistic (RSS) with GREENWOOD statistic
Discretization step (in degree) : 0.5

Maximum of RS statistic values (global statistic) per pair of dimensions
(1,2) 0.06685516
(1,3) 0.04767799
(1,4) 0.07383254
(1,5) 0.05050815
(1,6) 0.09515548
(1,7) 0.05547734
(1,8) 0.05865512
(2,3) 0.0590208
(2,4) 0.05983439
(2,5) 0.06744667
(2,6) 0.05970732
(2,7) 0.09139236
(2,8) 0.0649545
(3,4) 0.05273422
(3,5) 0.04846786
(3,6) 0.07027204
(3,7) 0.05212255
(3,8) 0.06485935
(4,5) 0.07094916
(4,6) 0.06196967
(4,7) 0.04852467
(4,8) 0.05345308
(5,6) 0.05803721
(5,7) 0.06444103
(5,8) 0.05207638
(6,7) 0.05940247
(6,8) 0.08880435
(7,8) 0.06228179

> #    2. Owen scrambling
> rss <- rss2d(design=sobol(n=n, dim=d, scrambling=1), lower=rep(0,d),
+ 	upper=rep(1,d), type="l", col="red")

2D Radial Scanning Statistic (RSS) with GREENWOOD statistic
Discretization step (in degree) : 0.5

Maximum of RS statistic values (global statistic) per pair of dimensions
(1,2) 0.02876612
(1,3) 0.03075643
(1,4) 0.02770293
(1,5) 0.03177064
(1,6) 0.02973425
(1,7) 0.0298631
(1,8) 0.03644937
(2,3) 0.02817837
(2,4) 0.03053471
(2,5) 0.03126573
(2,6) 0.03453106
(2,7) 0.0281336
(2,8) 0.0316604
(3,4) 0.02909257
(3,5) 0.02912527
(3,6) 0.02908527
(3,7) 0.03192279
(3,8) 0.03051405
(4,5) 0.02752359
(4,6) 0.02889571
(4,7) 0.03386112
(4,8) 0.02777033
(5,6) 0.03280983
(5,7) 0.02945998
(5,8) 0.02976644
(6,7) 0.03125413
(6,8) 0.03010663
(7,8) 0.02799198

> 
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>