• Home   /  
  • Archive by category "1"

Latin Hypercube Quasi-Random Assignment Definition

This example shows how to use to construct a 2-D Halton quasi-random point set.

Create a object , that skips the first 1000 values of the sequence and then retains every 101st point.

The object encapsulates properties of the specified quasi-random sequence. The point set is finite, with a length determined by the and properties and by limits on the size of point set indices.

Use to apply reverse-radix scrambling.

Use to generate the first 500 points.

This is equivalent to

Values of the point set are not generated and stored in memory until you access using or parenthesis indexing.

To appreciate the nature of quasi-random numbers, create a scatter plot of the two dimensions in .

Compare this to a scatter of uniform pseudorandom numbers generated by the function.

The quasi-random scatter appears more uniform, avoiding the clumping in the pseudorandom scatter.

In a statistical sense, quasi-random numbers are too uniform to pass traditional tests of randomness. For example, a Kolmogorov-Smirnov test, performed by , is used to assess whether or not a point set has a uniform random distribution. When performed repeatedly on uniform pseudorandom samples, such as those generated by , the test produces a uniform distribution of p-values.

The results are quite different when the test is performed repeatedly on uniform quasi-random samples.

Small p-values call into question the null hypothesis that the data are uniformly distributed. If the hypothesis is true, about 5% of the p-values are expected to fall below 0.05. The results are remarkably consistent in their failure to challenge the hypothesis.

rng default% For reproducibility p = haltonset(2,'Skip',1e3,'Leap',1e2)
p = Halton point set in 2 dimensions (89180190640991 points) Properties: Skip : 1000 Leap : 100 ScrambleMethod : none
p = Halton point set in 2 dimensions (89180190640991 points) Properties: Skip : 1000 Leap : 100 ScrambleMethod : RR2
scatter(X0(:,1),X0(:,2),5,'r') axis square title('{\bf Quasi-Random Scatter}')
X = rand(500,2); scatter(X(:,1),X(:,2),5,'b') axis square title('{\bf Uniform Random Scatter}')
nTests = 1e5; sampSize = 50; PVALS = zeros(nTests,1); for test = 1:nTests x = rand(sampSize,1); [h,pval] = kstest(x,[x,x]); PVALS(test) = pval; end histogram(PVALS,100) h = findobj(gca,'Type','patch'); xlabel('{\it p}-values') ylabel('Number of Tests')
p = haltonset(1,'Skip',1e3,'Leap',1e2); p = scramble(p,'RR2'); nTests = 1e5; sampSize = 50; PVALS = zeros(nTests,1); for test = 1:nTests x = p(test:test+(sampSize-1),:); [h,pval] = kstest(x,[x,x]); PVALS(test) = pval; end histogram(PVALS,100) xlabel('{\it p}-values') ylabel('Number of Tests')

Title: Exploring multi-dimensional spaces: a Comparison of Latin Hypercube and Quasi Monte Carlo Sampling Techniques

Authors:Sergei Kucherenko, Daniel Albrecht, Andrea Saltelli

(Submitted on 10 May 2015)

Abstract: Three sampling methods are compared for efficiency on a number of test problems of various complexity for which analytic quadratures are available. The methods compared are Monte Carlo with pseudo-random numbers, Latin Hypercube Sampling, and Quasi Monte Carlo with sampling based on Sobol sequences. Generally results show superior performance of the Quasi Monte Carlo approach based on Sobol sequences in line with theoretical predictions. Latin Hypercube Sampling can be more efficient than both Monte Carlo method and Quasi Monte Carlo method but the latter inequality holds for a reduced set of function typology and at small number of sampled points. In conclusion Quasi Monte Carlo method would appear the safest bet when integrating functions of unknown typology.

Submission history

From: Andrea Saltelli [view email]
[v1] Sun, 10 May 2015 07:16:41 GMT (639kb)

Which authors of this paper are endorsers? | Disable MathJax (What is MathJax?)

One thought on “Latin Hypercube Quasi-Random Assignment Definition

Leave a comment

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *