R: Random Latin Hypercube

randomLHS {lhs} | R Documentation

## Random Latin Hypercube

### Description

Draws a Latin Hypercube Sample from a set of uniform distributions for use in creating a Latin Hypercube Design. This sample is taken in a random manner without regard to optimization.

### Usage

    randomLHS(n, k, preserveDraw)

### Arguments

`n` | The number of partitions (simulations or design points)
`k` | The number of replications (variables)
`preserveDraw` | Default:FALSE. Ensures that two subsequent draws with the same `n`, but one with `k` and one with `m` variables `(k<m)`, will have the same first k columns if the seed is the same.

### Details

Latin hypercube sampling (LHS) was developed to generate a distribution of collections of parameter values from a multidimensional distribution. A square grid containing possible sample points is a Latin square iff there is only one sample in each row and each column. A Latin hypercube is the generalisation of this concept to an arbitrary number of dimensions. When sampling a function of `k` variables, the range of each variable is divided into `n` equally probable intervals. `n` sample points are then drawn such that a Latin Hypercube is created. Latin Hypercube sampling generates more efficient estimates of desired parameters than simple Monte Carlo sampling.

This program generates a Latin Hypercube Sample by creating random permutations of the first `n` integers in each of `k` columns and then transforming those integers into n sections of a standard uniform distribution. Random values are then sampled from within each of the n sections. Once the sample is generated, the uniform sample from a column can be transformed to any distribution by using the quantile functions, e.g. qnorm(). Different columns can have different distributions.

### Value

An `n` by `k` Latin Hypercube Sample matrix with values uniformly distributed on [0,1]

### Author(s)

Rob Carnell and D. Mooney

### References

Stein, M. (1987) Large Sample Properties of Simulations Using Latin Hypercube Sampling. Technometrics. 29, 143–151.

### See Also

`geneticLHS`, `improvedLHS`, `maximinLHS`, and `optimumLHS` to generate Latin Hypercube Samples. `optAugmentLHS`, `optSeededLHS`, and `augmentLHS` to modify and augment existing designs.

### Examples

      # draw a Latin hypercube
      randomLHS(4, 3)

      # transform a Latin hypercube
      X <- randomLHS(5, 2)
      Y <- matrix(0, nrow=5, ncol=2)
      Y[,1] <- qnorm(X[,1], mean=3, sd=0.1)
      Y[,2] <- qbeta(X[,2], shape1=2, shape2=3)

      # check the preserveDraw option
      set.seed(1976)
      X <- randomLHS(6,3,preserveDraw=TRUE)
      set.seed(1976)
      Y <- randomLHS(6,5,preserveDraw=TRUE)
      all(abs(X - Y[,1:3]) < 1E-12) # TRUE

[Package lhs version 0.15 Index]