[R] quasi-random sequences

Stas Kolenikov skolenik at gmail.com
Sun Apr 27 01:10:44 CEST 2008


You might want to shuffle coordinates independently to get rid of the
diagonals. Otherwise what quasi-random sequence guarantee are upper
boundaries on the coverage errors, but not anything nice-looking and
irregular. Sobol' sequences, even though they are theoretically
superior to some others (e.g., Halton sequences more popular among
economists), are especially nasty in producing bands and bricks on the
low dimensional plots.

 Among statisticians, Art Owen from Stanford is almost the only one
interested in this sort of stuff (referred to as quasi-Monte Carlo, in
his field(s)). You might have better luck on a physics list with a
question like yours.


 On Sat, Apr 26, 2008 at 5:22 AM, baptiste Auguié <ba208 at exeter.ac.uk> wrote:
 > Dear list useRs,
 >
 >  I have to generate a random set of coordinates (x,y) in [-1 ; 1]^2
 >  for say, N points. At each of these points is drawn a circle (later
 >  on, an ellipse) of random size, as in:
 >
 >
 >  > N <- 100
 >  >
 >  > positions <- matrix(rnorm(2 * N, mean = 0 , sd= 0.5), nrow=N)
 >  > sizes<-rnorm(N, mean = 0 , sd= 1)
 >  > plot(positions,type="p",cex=sizes)
 >
 >
 >  My problem is to avoid collisions (overlap, really) between the
 >  points. I would like some random pattern, but with a minimum
 >  exclusion distance. In looking up "Numerical recipes in C", I found
 >  out about some Sobol quasi-random sequences, which one can call from
 >  the gsl package,
 >
 >
 >  > library(gsl)
 >  >
 >  > g <- qrng_alloc(type="sobol",dim=2)
 >  > qrng_get(g,n= N) ->xy
 >  >
 >  > plot((xy),t="p",cex=0.5)
 >
 >  but this does not look very random: I clearly see some pattern
 >  (diagonals, etc...), and even the non-overlapping condition is not
 >  impressive.
 >
 >  One (painful) way I can foresee is to check the distance between each
 >  symbol and the others, and move the overlapping ones in a recursive
 >  manner. Before delving into this, I wanted to check I'm not
 >  overlooking something in the rgl quasi-random sequences, or missing a
 >  more obvious way to generate such patterns. Perhaps solving an
 >  electrostatic problem with a potential both attractive at long
 >  distances and repulsive at short distances is a better way? I have a
 >  vague recollection of hearing that somewhere to position points
 >  evenly on a sphere.
 >

 --
 Stas Kolenikov, also found at http://stas.kolenikov.name
 Small print: I don't check Gmail account regularly.



More information about the R-help mailing list