lhs
Latin Hypercube sampling
Draw a (random) Latin Hypercube (LH) sample of size n
from in
the region outlined by the provided rectangle
Usage
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
ordata.frame
withncol(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 withshape
> 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
. Ifshape
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.
References
Gramacy, R. B. (2020) Surrogates: Gaussian Process Modeling, Design and Optimization for the Applied Sciences. Boca Raton, Florida: Chapman Hall/CRC. (See Chapter 4.) https://bobby.gramacy.com/surrogates/
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
Examples
# NOT RUN {
# 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)
# }