Thank you.

It looks like the M-M generator is deeply flawed, although R implementation seems to be faithful.

I can understand that R keeps this generator for historical reasons.

However, R should at least warn that this generator is buggy and should not be used!

That could be as simple as a Warning message generated by set.seed().


--

Sincerely

André GILLIBERT


> With these matters, one has to be careful to distinguish between method error and implementation error. > The reason for changing the RNG setup in R v. 1.7.0 was pretty much this kind of unfortunate interaction between M-M and K-R. There are even more egregious examples for the distribution of maxima of normal variables. Try e.g.
>
> RNGversion("1.6.0") # Marsaglia-Multicarry, Kinderman-Ramage
>  s <- replicate(1e6,max(rnorm(10)))
>  plot(density(s))
>
> (A further bug in K-R was fixed in 1.7.1, but that is tangential to this.)
>
> A glimpse of the source of the problem is seen in the "microcorrelations" in this:
 >
> RNGkind("Mar");m <- matrix(runif(4e7),2)
>  plot(m[1,],m[2,],xlim=c(0,1e-3),pch=".")
>  m <- matrix(runif(4e7),2)
>  points(m[1,],m[2,],pch=".")
>
> These examples are from 2003, so the issue has been known for almost 2 decades. However, to the best of our knowledge, the M-M RNG is a faithful implementation of their > method, so we have left the RNG in R's arsenal, in case someone needed it for some specific purpose.
>
> - pd
>

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to