Skip to content

Add Randomized Latin Hypercube Sampling (RLHS) discrete distribution #573

Description

@Samuel-Vangu

Motivation

QMCPy provides several low-discrepancy constructions, but does not appear to provide a Randomized Latin Hypercube Sampling (RLHS) distribution.

RLHS is a variance reduction technique that ensures uniform coverage of each dimension while preserving the unbiasedness and convergence properties of standard uniform random sampling.

Proposed feature

Add a Randomized Latin Hypercube Sampling (RLHS) discrete distribution following the existing QMCPy distribution interfaces and conventions.

The construction is based on

$$ X_i^j = \frac{\Pi_j(i) - U_i^j}{n}, \quad i = 1, \dots, n,; j = 1, \dots, d, $$

where $\Pi_j$ are independent uniform random permutations of ${1, \dots, n}$, and $U_i^j \sim \mathcal{U}([0, 1[)$ are i.i.d. and independent of the permutations.

Each point satisfies $X_i \sim \mathcal{U}([0, 1[^d)$, so all results for uniform random sequences apply (unbiased estimators, convergence rate, etc.). In addition, RLHS provides:

  • Better space-filling properties than pure random sampling.
  • Exact stratification in each dimension, ensuring that every coordinate stratum is represented exactly once per dimension.
  • Reduced variance for integrands that are monotonic or additive.

Proposed implementation

  • Add the new distribution to the appropriate QMCPy module.
  • Follow the existing distribution API.
  • Add unit tests for the mathematical construction and edge cases.
  • Add documentation and examples.
  • Add references to the relevant literature.

I would be interested in implementing this feature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions