Statistically, random numbers exhibit no predictable pattern or regularity. Sequences of statistically random numbers are used to simulate complex mathematical and physical systems.

Random number generators can be used to approximate a random integer from a uniform distribution. When generated by a machine, these numbers are pseudorandom, which means they are deterministic and can be replicated in the same sequence. This allows for the ability to recreate an experiment or simulation with repeatable results, typically by specifying the algorithm as well as starting seeds.

Many types of Monte Carlo simulations require sequences that approximate other parametric or nonparametric distributions. Some common probability distributions include:

**Normal (or Gaussian) distribution****Weibull distribution:**Used for reliability and survivability analysis**Generalized Extreme Value (GEV) distribution:**Used in financial risk and insurance modeling**Logistic distribution:**Used to model categorical response variables in logistic regression**Kernel distribution:**Used to model when the data generating process is unknown**Copulas (multivariate distributions):**Used to model dependency structure between variables

When common random generation methods are inadequate, such as in Bayesian data analysis, then a Markov Chain Monte Carlo (MCMC) simulation using Metropolis Hastings and slice sampling algorithms are the preferred choice for generating posterior distributions.

Quasi-random numbers can be generated from solbol or halton sequences that produce uniform space filling numbers. These are useful for Monte Carlo simulations and experimental designs where space filling properties are more desirable than statistical randomness.

For more information, please see Statistics and Machine Learning Toolbox.

- Simulating Dependent Random Variables Using Copulas (Example)
- New Ways with Random Numbers (Blog)
- Random Numbers (Chapter from Numerical Computing with MATLAB by Cleve Moler)
- Generate Random Vectors with a Fixed Sum (File Exchange)

- Generate Normally Distributed Pseudorandom Numbers (Function)
- Controlling Random Generation (Documentation)
- Generating Quasi-Random Variables (Documentation)
- Representing Sampling Distributions Using Markov Chain Samplers (Documentation)
- Randomizing Seeds for Number Generators in Blocks (Function)

*See also*: *machine learning*, *smoothing*, *data analysis*, *mathematical modeling*