rss3d {DiceDesign} | R Documentation |
3D graphical tool for defect detection of Space-Filling Designs.
Description
For a 3-dimensional design, the 3D radial scanning statistic (RSS) scans angularly the domain. In each direction, it compares the distribution of projected points to their theoretical distribution under the assumption that all design points are drawn from uniform distribution. For a d-dimensional design, all triplets of dimensions are scanned. The RSS detects the defects of low discrepancy sequences or orthogonal arrays, and can be used for selecting space-filling designs.
Usage
rss3d(design, lower, upper, gof.test.type = "greenwood",
gof.test.stat = NULL, transform = NULL, n.angle = 60,
graphics = 1, trace = TRUE)
Arguments
design |
a matrix or data.frame containing the d-dimensional design of experiments. The row no. i contains the values of the d input variables corresponding to simulation no. i |
lower |
the domain lower boundaries. |
upper |
the domain upper boundaries. |
gof.test.type |
an optional character indicating the kind of statistical test to be used to test the goodness-of-fit of the design projections to their theoretical distribution. Several tests are available, see |
gof.test.stat |
an optional number equal to the goodness-of-fit statistic at level |
transform |
an optional character indicating what type of transformation should be applied before testing uniformity. Only one choice available "spacings", that lead to over-detection. Default - and recommended - is |
n.angle |
an optional number indicating the number of angles used. Default is |
graphics |
an optional integer indicating whether a graph should be produced. If negative, no graph is produced. Otherwise (default), the design is plotted in the worst 3D coordinate subspace (corr. to the worst value of statistic), with its projections onto the worst (oblique) axis. |
trace |
an optional boolean. Turn it to |
Details
The RSS surface is continuous. However for computational purposes, a discretization is used. The default discretization step is tunable with n.angle
.
Value
a list with components:
global.stat |
an array containing the values of the global statistic (equal to the maximum of statistic values over the RSS surface) for all triplets of dimensions. |
print.out |
the same as |
worst.case |
the worst triplet of dimensions, that is the one that gives the worst value of |
worst.dir |
the worst direction, that is the one that gives the worst value of the statistic in the coordinate 3D subspace defined by |
stat |
a matrix of size |
angle |
a matrix of size |
gof.test.stat |
the threshold at significance level 0.05 for the specified goodness-of-fit statistic. |
Author(s)
O. Roustant
References
Roustant O., Franco J., Carraro L., Jourdan A. (2010), A radial scanning statistic for selecting space-filling designs in computer experiments, MODA-9 proceedings.
D Agostino R.B., Stephens M.A. (1986), Goodness-of-fit techniques, CRC Press, New York.
See Also
unif.test.statistic
, unif.test.quantile
, rss2d
Examples
## An orthogonal array in 3D
data(OA131)
## centering the design points of this 7-levels design
OA <- (OA131 + 0.5)/7
## 2D projections onto coordinate axis
pairs(OA, xlim=c(0,1), ylim=c(0,1))
## Now let us look at the 3D properties with the 3D RSS (requires the rgl package)
rss <- rss3d(OA, lower=c(0,0,0), upper=c(1,1,1))
## The worst direction detected is nearly proportional to (2,-1,2)
## (type "?OA131" for explanations about this linear orthogonal array)
print(rss$worst.dir)
## Now, scramble this design
## X <- (OA131 + matrix(runif(49*3, 49, 3)))/7
## or load the design obtained this way
data(OA131_scrambled)
OA2 <- OA131_scrambled
## No feature is detected by the 2D RSS:
rss <- rss2d(OA2, lower=c(0,0,0), upper=c(1,1,1))
## 4 clusters are detected by the 3D RSS:
rss <- rss3d(OA2, lower=c(0,0,0), upper=c(1,1,1))
## Defect detection of 8D Sobol sequences
## All triplets of dimensions are tried to detect the worst defect
## (according to the specified goodness-of-fit statistic).
## requires randtoolbox library to generate the Sobol sequence
## Not run:
library(randtoolbox)
d <- 8
n <- 10*d
rss <- rss3d(design=sobol(n=n, dim=d), lower=rep(0,d), upper=rep(1,d))
## End(Not run)