# Random Number Generator

Random number generation by well researched algorithms should be able to provide extremely long series of numbers for which there is an infinitesimally small probability of finding a repeating pattern. StatsDirect uses such an algorithm (see below).

If you want to get down to basics you might ask, what is random?. A lecture theatre filled with Mathematicians, Philosophers and Elemental Physicists would love to debate this, enough said. Rather than getting suck in debate over what is random, a practical approach is to look for evidence of non-randomness such as repeated patterns. Various methods have been employed to look for non-randomness from 'random' number generators since they began to emerge in the 1960s. Most "quick and dirty" random number generators, including those supplied with computer language compilers, use over simple methods which produce sequences of numbers with repeating patterns, they are unacceptable for statistical use.

Technical validation

StatsDirect uses the Mersenne Twister algorithm of Matsumoto and Nisimura (1998), with updates to its initialisation suggested by the authors via their website in February 2002. Prior to version 2.2.0, StatsDirect used the RANROT type W and Mother-of-All algorithm described by Agner Fog (2000). Both algorithms pass all of the all of the DIEHARD tests (Marsaglia, 1997) and perform well in the theoretical spectral tests (Knuth, 1998). The Mersenne Twister, however, has a stronger theoretical basis for the uniformity of its output, and is well studied. The Mersenne Twister generator has a resolution of 32-bits and a period of 2^19937 - 1. For more information on the strengths and weaknesses of random number generation by computer see Marsaglia (1993, 1996).

Seeds

Most random number generators require a seed number. If the generator is given the same seed each time it is called then it will produce the same series of numbers. This is not acceptable for many purposes, therefore, StatsDirect seeds the random number generator with a number taken from the computer's clock (the number of hundredths of a second which have elapsed since midnight). It is highly improbable that StatsDirect will produce the same "random" sequence more than once, the time is stamped on randomization output so that you can validate this. The random number generation section of the data menu enables you to specify seeds.