GENERATING NON-UNIFORM RANDOM DEVIATES 12/9/2018 VMASC MSIM 710/810
BASICS (as evolved) Generate one or more independent U[0, 1] Create deviate using these as input Use few Uniforms Be Fast Be Simple Be EXACT (we’ll relax this later) 12/9/2018 VMASC MSIM 710/810
INVERSE TRANSFORM METHOD Generate U~U[0, 1] Find x such that F(x) = U, return x Recall F(x) = P[X <= x] Since F is a monotonically increasing function in x, we can reliably use F-1 F-1(U) = x 12/9/2018 VMASC MSIM 710/810
INVERSE TRANSFORM METHOD PROOF! 12/9/2018 VMASC MSIM 710/810
PROOF BY PICTURE 12/9/2018 VMASC MSIM 710/810
EXAMPLE Weibull (a = 1.5, b = 6) example 12/9/2018 VMASC MSIM 710/810
WEIBULL 12/9/2018 VMASC MSIM 710/810
WEIBULL Trickeration: 1-U and U are identically distributed 12/9/2018 VMASC MSIM 710/810
DISCRETE DISTRIBUTIONS P[X=xi]=pi 12/9/2018 VMASC MSIM 710/810
NORMALS F, the CDF of the Normal Distribution, cannot be written down in closed form What to Do? exploit the Central Limit Theorem use conditional probability for a new method 12/9/2018 VMASC MSIM 710/810
EXPLOITING THE CLT Result: sum of n i.i.d. random variables (m, s2) N(nm, ns2) Method (Composite) Generate U1, U2, ..., U30 ~U[0, 1] SUM ~ N(30 * ½, 30 * 1/6) (SUM – 15)/sqrt(5) ~ N(0, 1) CLT approximation is more exact with data having symetric distributions “30” comes from very old folklore (Galton) 12/9/2018 VMASC MSIM 710/810
ACCEPTANCE-REJECTION METHOD To generate variate X from inaccessible CDF FX... Generate x uniformly in the Range of X Generate U~U[0, max(f(x))] if U <= fX(x), return x otherwise, try again 12/9/2018 VMASC MSIM 710/810
Proof: Consider this slice 12/9/2018 VMASC MSIM 710/810
EXACT COMPOSITION METHODS n Summed exponentials make a Gamma(n, l) Two summed Uniforms make a Triangular Summed Bernouli’s make a Binomial See ... Handy T&R Facts.pdf 12/9/2018 VMASC MSIM 710/810