Latin Hypercube sampling

Share:

Description

Draw a (random) Latin Hypercube (LH) sample of size n from in the region outlined by the provided rectangle

Usage

1
lhs(n, rect, shape=NULL, mode=NULL)

Arguments

n

Size of the LH sample

rect

Rectangle describing the domain from which the LH sample is to be taken. The rectangle should be a matrix or data.frame with ncol(rect) = 2, and number of rows equal to the dimension of the domain. For 1-d data, a vector of length 2 is allowed

shape

Optional vector of shape parameters for the Beta distribution. Vector of length equal to the dimension of the domain, with elements > 1. If this is specified, the LH sample is proportional to a joint pdf formed by independent Beta distributions in each dimension of the domain, scaled and shifted to have support defined by rect. Only concave Beta distributions with shape > 1 are supported.

mode

Optional vector of mode values for the Beta distribution. Vector of length equal to the dimension of the domain, with elements within the support defined by rect. If shape is specified, but this is not, then the scaled Beta distributions will be symmetric

Value

The output is a matrix with n rows and nrow(rect) columns. Each of the n rows represents a sample point.

Note

The domain bounds specified by the rows of rect can be specified backwards with no change in effect.

Author(s)

Robert B. Gramacy, rbgramacy@chicagobooth.edu, and Matt Taddy, taddy@chicagobooth.edu

References

McKay, M. D., W. J. Conover and R. J. Beckman. (1979). A Comparison of Three Methods for Selecting Values of Input Variables in the Analysis of Output from a Computer Code, Technometrics 21: (pp. 239–245).

See Also

tgp.design, dopt.gp, sens

Examples

1
2
3
4
5
6
7
8
# get and plot a 2-d LH design
s1 <- lhs(10, rbind(c(-2,3), c(0.5, 0.8)))
plot(s1)

# plot a grid to show that there is one sample
# in each grid location
abline(v=seq(-2,3,length=11), lty=2, col=3)
abline(h=seq(0.5,0.8,length=11), lty=2, col=3)