Convolution random number generator: Difference between revisions

Content deleted Content added
rewrite lead, following renaming
Adding/improving reference(s)
 
(8 intermediate revisions by 6 users not shown)
Line 1:
{{short description|Non-uniform number generator}}
In [[statistics]] and [[computer software]], a '''convolution random number generator''' is a type of [[random number generator]] which 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.
{{More references|date=February 2025}}
 
In [[statistics]] and [[computer software]], a '''convolution random number generator''' is a type of [[pseudo-random number generatorsampling]] whichmethod that can be used to generate [[random variatesvariate]]s 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.<ref>Antonov, N. (2020). [https://core.ac.uk/download/pdf/326322436.pdf ''Random number generator based on multiplicative convolution transform.'']</ref>
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).
 
A number of distributions can be expressed in terms of the (possibly weighted) sum of two or more [[random variablesvariable]]s from other distributions. (The distribution of the sum is the [[convolution]] of the distributions of the individual random variables).
 
== Example ==
Consider the problem of generating a random variable with an [[Erlang distribution]], <math>X\ \sim \operatorname{Erlang}(k, \theta)</math>,. Such a random variable can be defined as the sum of ''k'' random variables each with an [[exponential distribution]] <math>\operatorname{Exp}(k \theta) \,</math>:see. 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:
 
:<math>\operatorname{E}[X] = \frac{1}{k \theta} + \frac{1}{k \theta} + ...\cdots + \frac{1}{k \theta} = \frac{1}{\theta} .</math>
 
One can now generate '''<math>\operatorname{Erlang}(k, \theta)</math>''' samples using a random number generator for the exponential distribution:
 
if <math>X_i\ \sim exp\operatorname{Exp}(k \theta)</math>&nbsp; &nbsp; then <math>X=\sum_{i=1}^k X_i \sim \operatorname{Erlang}(k,\theta) .</math>
One can now generate '''<math>Erlang(k, \theta)</math>''' samples using a random number generator for the exponential distribution:
 
== References ==
if <math>X_i\ \sim exp(k \theta)</math> then <math>X=\sum_{i=1}^k X_i \sim Erlang(k,\theta) .</math>
{{reflist}}