# Inverse transform sampling method

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:

- Generate a random number from the standard uniform distribution; call this
*u*.
- Compute the value for
*x* which has the associated cdf value *u*; call this *x*_{chosen}.
- Take
*x*_{chosen} to be the random number drawn from the distribution described by d(*x*).

The following diagram may help the reader to visualise how the method works:

**Sampling using the inverse transform method**

The rejection sampling method.