in reply to Unexpected under-dispersion in random simulations

I believe the built-in rand perl function is based on the underlying pseudo-random generator. I would suggest using Math::Random to generate better values

fnord

  • Comment on Re: Unexpected under-dispersion in random simulations

Replies are listed 'Best First'.
Re^2: Unexpected under-dispersion in random simulations
by daverave (Scribe) on Nov 29, 2010 at 21:11 UTC
    I have tried using Math::Random::MT::Auto but the results were similar.

      In that case the fault is in your code unless Math::Random::MT::Auto is a bad implementation. You could try Math::Random::MT instead which, on a cursory inspection, should pretty much be a drop in replacement. The Mersenne Twister is an excellent PNG for most purposes.

      True laziness is hard work

        blakew hit the nail on the head.

        The distribution doesn't move from the realms of Binomial to Poisson until the ratio of events to probablities gets much lower than the 10:1 in the OPs example.

        Increasing the size of the circle, and/or reducing the size of the ranges--eg. 10,000 & 10 respectively--and the expect behaviour starts to manifest.

        This is true for the MT and even Windows default 15-bit rand() respectively:

        C:\test>874353 -M=10e3 -R=10 10000: 0.100 0.098 0.1002 0.098369796979698 C:\test>874353 -M=10e3 -R=10 10000: 0.102 0.101 0.1024 0.100724312431243

        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.