Rationale n Random-Variable Generators n Simulators need generators of random variable with specific distributions The actual procedure is: 1. We generate a sequence X of integer random numbers 2. Using X, we generate a sequence Z of instances of a random variable uniform in (0,1) 3. Using Z, we generate instances of the chosen random variable Michela Meo Maurizio M. Munafò [email protected] – [email protected] revised by Paolo Giaccone © TLC Network Group - Politecnico di Torino © TLC Network Group - Politecnico di Torino 1 Inverse-transform technique n n n Inverse-transform technique Proof that u =F(x) is uniform in [0,1] : n Let Y=g(X) be function of X invertible and monotone not decreasing, X=g-1(Y) FY (y ) = P (Y ≤ y ) = P ( g −1 (Y ) ≤ g −1 (y )) We want to generate instances of a random variable X with cumulative distribution F(x) The inverse-transform technique is based on the fact that u =F(x) is a r.v uniformly distributed in [0,1] Therefore we can generate an instance of u uniform and then calculate x =F-1(u) © TLC Network Group - Politecnico di Torino n = P (X ≤ g −1 (y )) = FX ( g −1 (y )) Select g(·) such that g(X)=Fx(X), or also Y=Fx (X), and 0≤y≤1, FY (y ) = FX ( g −1 (y )) = FX (FX−1 (y )) = y 3 © TLC Network Group - Politecnico di Torino Inverse-transform technique n 2 4 Inverse-transform technique F(x) 1 Moreover, from Fy(y)=y, Δy2 fY (y ) = dFY /dy = 1 Δy1 hence Y is uniform in [0,1] 0 x If Δy1=Δy2, the probability of generating an instance of X in Δx1 or in Δx2 is the same n For the same dx, the numbers in Δx1 are more frequent than those in Δx2, because Δx1 is narrower Generating Y uniform in [0,1] and calculating the inverse, F-1(Y), we obtain X © TLC Network Group - Politecnico di Torino Δx1 Δx2 n 5 © TLC Network Group - Politecnico di Torino 6 1 Inverse-transform technique Negative exponential Intervals on the x axis are narrower if the derivative of F(x) is higher, i.e., f(x) is larger 1 n F(x) We want to generate instances of a random variable with negative exponential distribution and rate a, x≥0, n f(x) = a e-ax , F(x) = 1 - e-ax Δy2 1 a Δy1 f(x) 0 Δx1 X Δx2 © TLC Network Group - Politecnico di Torino f(x) 0 7 © TLC Network Group - Politecnico di Torino Negative exponential n e −ax 1. − ax 2. =1−y 3. − ax = ln(1 − y ) n 1 x = − ln(1 − y ) a © TLC Network Group - Politecnico di Torino 9 n f(x) = 1/(b-a), F(x) =(x-a)/(b-a), a ≤ x ≤ b F(x) 1 0 1. 2. a © TLC Network Group - Politecnico di Torino 10 b The inverse of F(x) is (x − a ) y = (b − a ) (b − a )y = x − a x = a + (b − a )y f(x) 1/(b-a) Since both u and 1-u are uniformly distributed in (0,1), x can also be calculated as x = -1/a ln(u) Uniform We want to generate instances of a uniform random variable with support [a,b] n 8 Generate u =U(0,1), uniform in (0,1) Calculate x = -1/a ln(1-u) Return x © TLC Network Group - Politecnico di Torino Uniform n X Negative exponential The inverse of F(x) is y = 1 −e F(x) 3. X 11 Generate u =U(0,1), uniform in (0,1) Calculate x = a + (b-a) u Return x © TLC Network Group - Politecnico di Torino 12 2 Discrete uniform distribution Discrete uniform distribution We want to generate an instance x of X, with x in {1,2,…,k} and p(X=x)=1/k n 1 We have F(x)=x/k with x =1,2,…,k n 1 F(x) 2/k 2/k f(x) 1/k 0 1 2 k 0 X 21 k that is n n x − 1 < ku ≤ x ku ≤ x < ku + 1 n n 23 The cumulative distribution is empirically derived by the measured or approximated values x values Probability CDF, F(x) x1 x2 x3 … p3 … 0 0≤x<x1 p1 x1≤x<x2 p1+p2 x2≤x<x3 … p1 p2 © TLC Network Group - Politecnico di Torino X 22 © TLC Network Group - Politecnico di Torino 1. 2. pk 1 xk≤x To generate instances of X, we can use the following procedure: Generate u=U(0,1), uniform in (0,1) Return x, according to which condition is satisfied by u in the following table x values Condition 25 24 Empirical discrete distributions n xk Measurements Approximations (e.g. when the inverse cannot be expressed in closed form) X holds the values x1, x2, …, xk with probability p1, p2, …, pk We derive the cumulative We calculate the inverse n Empirical discrete distributions n k We want to generate instances of a random variable whose distribution is calculated empirically through n k © TLC Network Group - Politecnico di Torino 2 Empirical discrete distributions The inverse is x =yk X can be calculated as x = ⎡ku ⎤ Indeed, after generating u uniform in (0,1), we return x if x −1 x <u ≤ n 1 © TLC Network Group - Politecnico di Torino Discrete uniform distribution n f(x) 1/k © TLC Network Group - Politecnico di Torino n F(x) x1 x2 … 0<u≤F(x1) F(x1)<u≤F(x2) … © TLC Network Group - Politecnico di Torino Xk F(xk-1)<u≤F(xk) 26 3 Other methods Inverse-transform technique n n n To apply it we must be able to calculate the inverse of F(x) We just need to generate a single random number U(0,1) The computational cost depends on the computational complexity of the inverse function n n n n n 27 convolution method acceptance rejection method composition method adhoc methods n n © TLC Network Group - Politecnico di Torino More efficient methods for specific distributions e.g., Gaussian distribution Not discussed in this course © TLC Network Group - Politecnico di Torino 28 4
© Copyright 2024 Paperzz