Inverse transform sampling

This is an old revision of this page, as edited by SimonP (talk | contribs) at 20:17, 17 December 2004. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The inverse transform sampling method is a method of sampling a number at random from any probability distribution, given its cumulative distribution function (cdf).

The problem that the inverse transform sampling method solves is as follows:

  • Let X be a random variable whose distribution can be described by the cdf d(x).
  • We want to generate values of x which are distributed according to this distribution.

Many programming languages have the ability to generate pseudo-randomnumbers which are effectively distributed according to the standard uniform distribution. If a random variable has that distribution, then the probability of its falling within any subinterval (a, b) of the interval from 0 to 1 is just the length b - a of that subinterval.

The inverse transform sampling method works as follows:

  1. Generate a random number from the standard uniform distribution; call this u.
  2. Compute the value for x which has the associated cdf value u; call this xchosen.
  3. Take xchosen to be the random number drawn from the distribution described by d(x).