Jump to content
Wikipedia The Free Encyclopedia

Convolution random number generator

From Wikipedia, the free encyclopedia
Non-uniform number generator
This article needs additional citations for verification . Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Convolution random number generator" – news · newspapers · books · scholar · JSTOR
(February 2025) (Learn how and when to remove this message)

In statistics and computer software, a convolution random number generator is a pseudo-random number sampling method that can be used to generate random variates from certain classes of probability distribution. The particular advantage of this type of approach is that it allows advantage to be taken of existing software for generating random variates from other, usually non-uniform, distributions. However, faster algorithms may be obtainable for the same distributions by other more complicated approaches.[1]

A number of distributions can be expressed in terms of the (possibly weighted) sum of two or more random variables from other distributions. (The distribution of the sum is the convolution of the distributions of the individual random variables).

Example

[edit ]

Consider the problem of generating a random variable with an Erlang distribution, X   Erlang ( k , θ ) {\displaystyle X\ \sim \operatorname {Erlang} (k,\theta )} {\displaystyle X\ \sim \operatorname {Erlang} (k,\theta )}. Such a random variable can be defined as the sum of k random variables each with an exponential distribution Exp ( k θ ) {\displaystyle \operatorname {Exp} (k\theta ),円} {\displaystyle \operatorname {Exp} (k\theta ),円}. This problem is equivalent to generating a random number for a special case of the Gamma distribution, in which the shape parameter takes an integer value.

Notice that:

E [ X ] = 1 k θ + 1 k θ + + 1 k θ = 1 θ . {\displaystyle \operatorname {E} [X]={\frac {1}{k\theta }}+{\frac {1}{k\theta }}+\cdots +{\frac {1}{k\theta }}={\frac {1}{\theta }}.} {\displaystyle \operatorname {E} [X]={\frac {1}{k\theta }}+{\frac {1}{k\theta }}+\cdots +{\frac {1}{k\theta }}={\frac {1}{\theta }}.}

One can now generate Erlang ( k , θ ) {\displaystyle \operatorname {Erlang} (k,\theta )} {\displaystyle \operatorname {Erlang} (k,\theta )} samples using a random number generator for the exponential distribution:

if X i   Exp ( k θ ) {\displaystyle X_{i}\ \sim \operatorname {Exp} (k\theta )} {\displaystyle X_{i}\ \sim \operatorname {Exp} (k\theta )}    then X = i = 1 k X i Erlang ( k , θ ) . {\displaystyle X=\sum _{i=1}^{k}X_{i}\sim \operatorname {Erlang} (k,\theta ).} {\displaystyle X=\sum _{i=1}^{k}X_{i}\sim \operatorname {Erlang} (k,\theta ).}

References

[edit ]

AltStyle によって変換されたページ (->オリジナル) /