Week10 practice 1
Generating Poisson and exponential random variables
Most programming languages provide library functions for generating uniform continuous random variable in the range (0,1). However, they often do not provide any functions for generating more complicated types of random variables.
Given a uniform random variable in (0,1), we can generate Poisson and exponential random variables based on their cumulative distribution function. Here is a simple idea. Let's consider, as an example, generating a Poisson random variable with parameter . Using the definition of Poisson random variables, we have its pmf as in the following list (for the first few values):
- f(0) = 0.006738
- f(1) = 0.033690
- f(2) = 0.084224
- f(3) = 0.140374
- f(4) = 0.175467
- f(5) = 0.175467
- f(6) = 0.146223
- f(7) = 0.104445
- f(8) = 0.065278
- f(9) = 0.036266
With this we can compute cdf :
- F(0) = 0.006738
- F(1) = 0.040428
- F(2) = 0.124652
- F(3) = 0.265026
- F(4) = 0.440493
- F(5) = 0.615961
- F(6) = 0.762183
- F(7) = 0.866628
- F(8) = 0.931906
- F(9) = 0.968172
It is not hard to use this list together with a uniform random variable in range (0,1) to generate a Poisson random variable.