Learn R Programming

DiceDesign (version 1.10)

rss3d: 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)

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 global.stat, but with a user-friendly printing.

worst.case

the worst triplet of dimensions, that is the one that gives the worst value of global.stat.

worst.dir

the worst direction, that is the one that gives the worst value of the statistic in the coordinate 3D subspace defined by worst.case.

stat

a matrix of size n.angle*n.angle containing the statistic values for each angles (spherical coordinates).

angle

a matrix of size n.angle*n.angle containing the corresponding angles used (spherical coordinates).

gof.test.stat

the threshold at significance level 0.05 for the specified goodness-of-fit statistic.

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 unif.test.statistic. Default is "greenwood".

gof.test.stat

an optional number equal to the goodness-of-fit statistic at level 5%. Default is the modified test statistic for fully specified distribution (see details below).

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 NULL.

n.angle

an optional number indicating the number of angles used. Default is 60 corresponding to a 3-degree discretization step. Note that the RSS surface is continuous.

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 FALSE if you want no verbosity.

Author

O. Roustant

Details

The RSS surface is continuous. However for computational purposes, a discretization is used. The default discretization step is tunable with n.angle.

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

Run this code
## 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
if (FALSE) {
library(randtoolbox)
d <- 8
n <- 10*d
rss <- rss3d(design=sobol(n=n, dim=d), lower=rep(0,d), upper=rep(1,d))}

Run the code above in your browser using DataLab