Generation of non-uniform random numbers

Similar documents
3 Generation of non-uniform random numbers: non-correlated values

MTH739U/P: Topics in Scientific Computing Autumn 2016 Week 6

Ch3. Generating Random Variates with Non-Uniform Distributions

Probability, CLT, CLT counterexamples, Bayes. The PDF file of this lecture contains a full reference document on probability and random variables.

A6523 Signal Modeling, Statistical Inference and Data Mining in Astrophysics Spring 2011

Stochastic Processes. M. Sami Fadali Professor of Electrical Engineering University of Nevada, Reno

f(s) e -i n π s/l d s

1 Kalman Filter Introduction

Multiple Random Variables

5 Operations on Multiple Random Variables

S6880 #7. Generate Non-uniform Random Number #1

FORMULA SHEET FOR QUIZ 2 Exam Date: November 8, 2017

Math 180A. Lecture 16 Friday May 7 th. Expectation. Recall the three main probability density functions so far (1) Uniform (2) Exponential.

11.10a Taylor and Maclaurin Series

Random Variables and Their Distributions

1 + lim. n n+1. f(x) = x + 1, x 1. and we check that f is increasing, instead. Using the quotient rule, we easily find that. 1 (x + 1) 1 x (x + 1) 2 =

Multiple Random Variables

MATHS & STATISTICS OF MEASUREMENT

conditional cdf, conditional pdf, total probability theorem?

Physics 250 Green s functions for ordinary differential equations

Statistics 100A Homework 5 Solutions

3F1 Random Processes Examples Paper (for all 6 lectures)

Generating the Sample

Chapter 3, 4 Random Variables ENCS Probability and Stochastic Processes. Concordia University

Estimation theory. Parametric estimation. Properties of estimators. Minimum variance estimator. Cramer-Rao bound. Maximum likelihood estimators

Electromagnetism HW 1 math review

Transformations and Expectations

EEL 5544 Noise in Linear Systems Lecture 30. X (s) = E [ e sx] f X (x)e sx dx. Moments can be found from the Laplace transform as

1 Review of di erential calculus

Introduction to Probability and Stocastic Processes - Part I

Higher-order ordinary differential equations

Lecture 11: Probability, Order Statistics and Sampling

Multivariate probability distributions and linear regression

Generating Random Variates 2 (Chapter 8, Law)

Math Homework 2

Preliminary statistics

2 Random Variable Generation

Monte-Carlo MMD-MA, Université Paris-Dauphine. Xiaolu Tan

INTRODUCTION TO COMPUTATIONAL MATHEMATICS

BMIR Lecture Series on Probability and Statistics Fall 2015 Discrete RVs

Engg. Math. I. Unit-I. Differential Calculus

7.1. Calculus of inverse functions. Text Section 7.1 Exercise:

Answers to Problem Set Number MIT (Fall 2005).

The Helmholtz theorem at last!

CALCULUS JIA-MING (FRANK) LIOU

Ma 530 Power Series II

We introduce methods that are useful in:

General Random Variables

Physics 307. Mathematical Physics. Luis Anchordoqui. Wednesday, August 31, 16

Change Of Variable Theorem: Multiple Dimensions

Perhaps the simplest way of modeling two (discrete) random variables is by means of a joint PMF, defined as follows.

Chemistry 532 Problem Set 7 Spring 2012 Solutions

converges as well if x < 1. 1 x n x n 1 1 = 2 a nx n

Conformal maps. Lent 2019 COMPLEX METHODS G. Taylor. A star means optional and not necessarily harder.

PROBABILITY AND RANDOM PROCESSESS

ELEG 3143 Probability & Stochastic Process Ch. 6 Stochastic Process

Immerse Metric Space Homework

Qualification Exam: Mathematical Methods

Cheng Soon Ong & Christian Walder. Canberra February June 2018

Math Stochastic Processes & Simulation. Davar Khoshnevisan University of Utah

A Probability Review

Analysis II: Basic knowledge of real analysis: Part V, Power Series, Differentiation, and Taylor Series

Fundamentals of Digital Commun. Ch. 4: Random Variables and Random Processes

3 Continuous Random Variables

2905 Queueing Theory and Simulation PART IV: SIMULATION

Solutions. Problems of Chapter 1

Markov Chain Monte Carlo (MCMC)

Part IA Probability. Definitions. Based on lectures by R. Weber Notes taken by Dexter Chua. Lent 2015

Candidates are expected to have available a calculator. Only division by (x + a) or (x a) will be required.

Asymptotic Statistics-III. Changliang Zou

d(x n, x) d(x n, x nk ) + d(x nk, x) where we chose any fixed k > N

(x 3)(x + 5) = (x 3)(x 1) = x + 5. sin 2 x e ax bx 1 = 1 2. lim

So we will instead use the Jacobian method for inferring the PDF of functionally related random variables; see Bertsekas & Tsitsiklis Sec. 4.1.

Math 185 Fall 2015, Sample Final Exam Solutions

Introducing the Normal Distribution

2 Functions of random variables

On the number of ways of writing t as a product of factorials

Starting from Heat Equation

1 Solution to Problem 2.1

Lecture 25: Review. Statistics 104. April 23, Colin Rundel

Bivariate Transformations

Conditioning a random variable on an event

Functions of Random Variables

Fourth Week: Lectures 10-12

Implicit sampling for particle filters. Alexandre Chorin, Mathias Morzfeld, Xuemin Tu, Ethan Atkins

MAGIC058 & MATH64062: Partial Differential Equations 1

ECE353: Probability and Random Processes. Lecture 7 -Continuous Random Variable

n! (k 1)!(n k)! = F (X) U(0, 1). (x, y) = n(n 1) ( F (y) F (x) ) n 2

FOURIER AND LAPLACE TRANSFORMS

Math 489AB A Very Brief Intro to Fourier Series Fall 2008

MATH 311: COMPLEX ANALYSIS CONTOUR INTEGRALS LECTURE

STAT2201. Analysis of Engineering & Scientific Data. Unit 3

Modelling Non-linear and Non-stationary Time Series

MAS223 Statistical Inference and Modelling Exercises

Corner. Corners are the intersections of two edges of sufficiently different orientations.

Ch. 8 Math Preliminaries for Lossy Coding. 8.5 Rate-Distortion Theory

04. Random Variables: Concepts

STAT 450: Statistical Theory. Distribution Theory. Reading in Casella and Berger: Ch 2 Sec 1, Ch 4 Sec 1, Ch 4 Sec 6.

Coordinate systems and vectors in three spatial dimensions

Nonhomogeneous Linear Differential Equations with Constant Coefficients - (3.4) Method of Undetermined Coefficients

Transcription:

Generation of non-uniform random numbers General method Function ran f() Theorem.- Let ˆx be a r.v. with probability distribution function Fˆx (x) û = Fˆx (ˆx) is a r.v. uniformly distributed in the interval (0, 1) (Û(0, 1) variable). If û is a 1 Û(0, 1) r.v., then the r.v. ˆx = Fˆx (û) has Fˆx (x) as probability distribution function Exponential distribution, i.e. fˆx (x) = The distribution function is: a exp( ax) if x 0 0 if x < 0 Fˆx (x) = xfˆx(x) dx = 1 exp( ax) x = Fˆx 1 (u) = 1 a function ran_e(a) ran_e=-log(ran_u())/a return end log(1 u) 1 a log(u) 1

Cauchy distribution: fˆx (x) = 1 1 π 1 + x 2 1 π Fˆx (x) = x fˆx(x) dx = x Example: x = tan(π(u 1 2 )) 1 1 + x 2 = 1 2 + 1 π arctan(x) fˆr (r) = re 1 2 r2, 0 r Fˆr (r) = r fˆr(r) dr = 1 e 1 2 r2 r = 2 log(1 u) 2 log(u) Bernouilli distribution. The distribution probability function is: 0 x < 0 Fˆx (x) = 1 p 0 x < 1 1 x 1 The inverse function takes only two values: F 1 ˆx (u) = 0 u < 1 p 1 u 1 p 2

function ran_b(p) if (ran_u().lt.1-p) then ran_b=0 else ran_b=1 endif end An equivalent program is: function ran_b(p) if (ran_u().lt.p) then ran_b=1 else ran_b=0 endif end Generation of a vector (x 1, x 2,..., x n ) of random variables with a given joint probability density function fˆx1,...,ˆx n (x 1,..., x n ) 3

If (u 1,..., u n ) is a vector of n Û(0, 1) independent random variables, (x 1,..., x n ) is the solution of: F x1 (x 1 ) = u 1 F x2 (x 2 x 1 ) = u 2 F xn (x n x 1,..., x n 1 ) = u n There are n! ways of ordering the n variables x 1,..., x n Not very useful in practice Numerical Inversion Divide [0, 1] in M subintervals [ i M, i+1 M ] i=0,1,...,m 1 Compute and store x i = F 1 (i/m) for i = 0,..., M. Substitute Fˆx (x) by its piecewise linear approximation between points [ i M, i+1 M ]. Generate u according to Û(0, 1) x = Fˆx 1 (u) is approximated by: x = (Mu i)x i+1 + (i + 1 Mu)x i i is such that u [ i M, i+1 M ), or i = [Mu], (integer part of Mu). 4

Change of variables y = y(x) fŷ(y) = fˆx(x) dy dx Linear transformation y = ax + b. fŷ(y) = 1 a fˆx( y b a ) If ˆx is Û(0, 1), then ŷ is Û(b, a + b) for a > 0 or Û(a + b, b) for a < 0 If ˆx is a Gaussian Ĝ(0, 1) r.v. then y is a Ĝ(b, a) r.v. The change y = x a leads to: fŷ(y) = 1 a y 1 a 1 valid for 0 < y < 1 if a > 0 or for 1 < y < if a < 0. fˆx (x) = (1 + α)x α ˆx = û a with a = 1/(α+1), being û a Û(0, 1) random variable. Gaussian distribucion Gaussian random variable of mean 0 and variance 1, ẑ ˆx = σẑ + µ 5

Fẑ(z) = z f ẑ(z) dz = z Implemented in NAG function ran_g() fẑ(z) = 1 2π e z2 2 1 2π e z2 2 dz = 1 2 (1+erf( z 2 )) = u z = 2erf 1 (2u 1) ran_g = g05cef(ran_u(),ifail) return end Aproximations to inverse error function z t c 0 + c 1 t + c 2 t 2 1 + d 1 t + d 2 t 2 + d 3 t 3 t = 2 log(1 u) c 0 =2.515517, c 1 =0.802853, c 2 =0.010328, d1=1.432788, d 2 =0.189269 y d 3 = 0.001308 error less than 4.5 10 4 if 0.5 u 1.0. 6

function ran_g() data c0,c1,c2/2.515517,0.802853,0.010328/ data d1,d2,d3/1.432788,0.189269,0.001308/ u=ran_u() if (u.gt.0.5) then t=sqrt(-2.0*log(1.-u)) ran_g=t-(c0+t*(c1+c2*t))/(1.0+t*(d1+t*(d2+t*d3))) else t=sqrt(-2.0*log(u)) ran_g=-t+(c0+t*(c1+c2*t))/(1.0+t*(d1+t*(d2+t*d3))) endif return end Box-Muller-Wiener algorithm (BMW) Two Gaussian independent random variables ˆx 1, ˆx 2 (mean zero and variance one). fˆx1,ˆx 2 (x 1, x 2 ) = fˆx1 (x 1 )fˆx2 (x 2 ) = 1 2π e (x2 1 +x2 2 )/2 7

Polar coordinates: Joint pdf of ˆr and ˆθ is : with and fˆr,ˆθ(r, θ) = J ˆx 1 = ˆr cos(ˆθ) ˆx 2 = ˆr sin(ˆθ) (1) x 1, x 2 r, θ fˆr,ˆθ(r, θ) = 1 2π re r2 2 fˆx1,ˆx 2 (x 1, x 2 ) fˆr,ˆθ (r, θ) = fˆr(r)fˆθ (θ) fˆr (r) = re r2 2 fˆθ (θ) = 1 2π ˆr y ˆθ independent random variables. ˆθ is a random variable uniformly distributed in the interval [0, 2π] ˆθ = 2πˆv 8

û is a Û(0, 1) variable. We saw that: ˆr = 2 log(û) Hence we arrive at: ˆx 1 = 2 log(û) cos(2πˆv) ˆx 2 = 2 log(û) sin(2πˆv) Box-Muller-Wiener algorithm. Exact, produces 2 independent Gaussian random variables starting from 2 independent uniform random variables Slow Rejection methods improve somewhat (20%), but not in vector computers. Use numerical inversion. Central limit theorem: where û k are ẑ = 12 N N k=1 û k N 2 Û(0, 1) variables, tends to a Gaussian in the limit 9

N. The algorithm is used typically with N = 12 Joint Gaussian variables. Generate d-dimensional real Gaussian field h( r) Numerically h( r) = 0 h( r)h( r ) = C( r, r ) = C( r r ) C (s) ( r) = 1 N h(s) ( r )h (s) ( r + r ) r Perform an ensemble average over M (preferably a large number) realizations: C( r) C (s) ( r) 1 M M s=1 C(s) ( r) Constructive sequential algorithm (Schmidt s ortonormalization process). Generate a set {u j }, j = 1,..., N, of independent Gaussian variables of zero mean and variance one. h 1 = β 11 u 1 10

β 11 = (C 1,1 ) 1/2 h 2 = β 21 u 1 + β 22 u 2 h 2 2 = C 2,2 h 1 h 2 = C 1,2 In general, we write h j = j i=1 β jiu i h j h i = C i,j, i = 1,..., j Useful when the number N of variables is small. For large N, use Fourier transform. Fourier Filtering Method. S( k) = L d/2 r e i r k C( r) satisfies exactly: S( k) = L d ĥ(s) ( k) 2 To generate realizations h (s) ( r), s = 1,..., M of the field h( r ), the FFM proceeds in the following way: (i) Given C( r ), compute S( k ) (ii) Generate a set of independent Gaussian random variables 11

u (s) ( r) of mean zero and variance one. (iii) Compute the Fourier transform û (s) ( k) of u (s) ( r). (iv) Generate the Fourier transform of the field as: ĥ (s) ( k) = L d/2 S( k) 1/2 û (s) ( k) (v) Compute the required field h (s) ( r) as the inverse Fourier transform of ĥ(s) ( k). Step (i) needs to be done only once for each function C( r ) Step (iii) can be avoided by generating directly the random field u (s) ( k) in Fourier space Respect the symmetries of the field u (s) ( k), namely: u (s) ( k) = [u (s) ( k)]. Power-law correlations: C( r) r γ for r S(k) k γ d for k 0. To be precise (d = 1) 12

C i = S min (k) < 0!! i γ if 0 < i L/2 1 (L i) γ if L/2 i L 1 1 if i = 0, minimal substraction procedure. Substracting the minimum value S 0 (k) = S(k) S min, S 0 (k) is used instead of S(k) C(0) is no longer equal to 1. C(0, L = 2 21 ) 1.01 C(0, L = 2 6 ) 1.17 Another possibility: C j = (1 + j 2 ) γ/2 if L/2 + 1 j L/2 S(k) = 2π1/2 Γ(β + 1) k 2 β K β (k) K β (k) is the modified Bessel function of order β = (γ 1)/2. 13

Variable composition ˆx 1,...ˆx n independent random variables with distribution function F (x). ẑ = max(ˆx 1,..., ˆx n ) Fẑ(z) = F (z) n If ˆx i is Û(0, 1), F (z) = z, then: Fẑ(z) = z n, z [0, 1] f(z) = nz n 1 14

In many cases: fˆx (x) = i α if i (x) i α i = 1 We can interpret α i as the probabilities of a discrete random variable ẑ taking integer values: fẑ(z) = α iδ(z i) i (a) choose an integer value i according to the r.v. ẑ (b) choose a value of the r.v. defined by f i (x). fˆx (x) = Prob(ẑ = i)f(x ẑ = i) = α if i (x) i i Example fˆx (x) = 5 6 (1 + x4 ), 0 x 1 Can be written as: fˆx (x) = α 1 f 1 (x) + α 2 f 2 (x) = 5 6 1 + 1 6 (5x4 ) f 1 (x) is a Û(0, 1) r.v. f 2 (x) can be sampled by x = u 1/5 (with u a Û(0, 1) variable). 15

if (ran_u().gt.1./6.) then x=ran_u() else x=ran_u()**(1./5.) endif Equivalent algorithm: x=ran_u() if (ran_u().lt.1./6.) x=x**(1./5.) Rejection Methods One proposes a value for the random variable ˆx which is accepted (otherwise rejected) with a given probability. Example: fˆx (x) = C exp( x2 2 ) 1 x 1 No need to know the normalization constant C It is more probable to obtain values of ˆx for which fˆx (x) is larger. 16

1 - Propose x from a uniform distribution in (-1,1) 2 - Accept x with probability proportional to fˆx (x) = exp( x2 2 ) Accept with probability αfˆx (x) (0, 1). α 1 max fˆx (x). α = 1/C. 17

Step (2) is a Bernouilli process (either we accept or not) with probability αfˆx (x) = exp( x2 2 ). 1 x=2*ran_u()-1 if(ran_u().gt.exp(-0.5*x*x)) goto 1 General case: 1 - Propose a value for ˆx according to a pdf gˆx (x) 2 - Accept the proposed value with probability h(x), 0 h(x) 1, x. Example above: gˆx (x) is a uniforme distribution in ( 1, 1)) and h(x) = exp( x2 2 )). The second step can be interpreted as a Bernouilli variable,ŷ, taking the value 1 with probability h(x). In the rejection process, we obtain values of the r.v. ˆx distributed according to fˆx (x ŷ = 1). Bayes theorem allows us 18

to write: fˆx (x ŷ = 1) = fˆxŷ (x, 1) fˆxŷ (x, 1) dx fˆxŷ (x, 1) = gˆx (x)prob(ŷ = 1 x) = gˆx (x)h(x) Properly normalized. fˆx (x) = h(x)gˆx (x) h(x)gˆx (x) dx Acceptance probability, ɛ, method efficiency ɛ = P (ŷ = 1 x)gˆx(x) dx = h(x)gˆx(x) dx It is convenient to take h(x) as big as possible but still keeping the condition 0 h(x) 1. Eample above, we can easily relate: C = 1/(2ɛ). ɛ = 1 1 1 2 exp( x2 2 ) dx = 1 2C C = (erf(1/ 2) 2π) 1 = 0.5844, ɛ = 0.8556. Another way: gˆx (x) = 1 exp( x2 ) x (, ) 2π 2 h(x) = 1 if x [ 1, 1] 19

h(x) = 0 otherwise (2) Generate x according to a Gaussian distribution as usual and accept with probability 1 (i.e. accept) if the x value lies in the interval [ 1, 1]. 1 x=ran_g() if(abs(x).gt.1.) goto 1 the efficiency of this method is: ɛ = 1 1 Another example: 1 2π exp( x2 2 ) dx = erf(1/ 2) = 0.68269 fˆx (x) = C exp( x2 2 x4 ) x (, ) We choose the functions: gˆx (x) = 1 exp( x2 ) x (, ) 2π 2 satisfying 0 h(x) 1. h(x) = exp( x 4 ) 20

1 x=ran_g() if(ran_u().gt.exp(-x**4) goto 1 Generate a point randomly and uniformly distributed in the disc of center (0, 0) and radius 1: fˆxŷ (x, y) = (C = 1/π, is irrelevant). We take the following functions: C if (x, y) D(0, 1) 0 otherwise g(x, y) = 1/4 (x, y) [ 1, 1] [ 1, 1] h(x, y) = 1 x=2*ran_u()-1 y=2*ran_u()-1 r2=x*x+y*y if (r2.gt.1.) goto 1 r=sqrt(r2) c=x/r s=y/r 1 if (x, y) D(0, 1) 0 otherwise 21

22

Generates sine and cosine of an angle uniformly distributed in the interval [0, 2π] without computing the functions sin and cos Alternate algorithm: u=2*pi*ran_u() c=cos(u) s=sin(u) which is slower (in serial computers) than the rejection method. Variance of the rejection method: If the proposed value is not accepted, we repeat the previous ones Produces correlated values for the random variable Useful in vector computers. ˆx n r.v. generated in the n-essim method repetition: fˆxn (x) = fˆxn (x accep)p(accep) + fˆxn (x rejec)p(rejec) fˆxn (x) = Prob(accep x)gˆx (x) + fˆxn (x rejec)(1 p(accep)) fˆxn (x) = h(x)gˆx (x) + fˆxn 1 (x) [ 1 h(x)gˆx(x) dx ] 23

Recurrence equation whose solution is: fˆxn (x) = (1 ɛ) n In terms of fˆx (x): fˆx0 (x) h(x)gˆx (x) + h(x)gˆx (x) dx h(x)gˆx (x) h(x)gˆx (x) dx fˆxn (x) = (1 ɛ) n [fˆx0 (x) fˆx (x)] + fˆx (x) + 0 < ɛ 1 the solution tends to the distribution fˆx (x) in the limit n independently of the initial distribution fˆx0 : lim n fˆx n (x) = fˆx (x) If fˆx0 (x) = fˆx (x) then fˆxn (x) = fˆx (x), n If fˆx0 (x) fˆx (x), the factor (1 ɛ) n makes sure that the initial condition will be lost after a sufficient number of steps. To neglect the first M 0 steps (thermalization). We can write the evolution equation as: fˆxn (x) = f(x y)fˆx n 1 (y) dy f(x y) = h(x)gˆx (x) + [ 1 h(x)gˆx(x) dx ] δ(x y) 24

Generation of discrete distributions Geometric distribution. x i can take integer values x i = 0, 1, 2,... with probability p i = pq i (p + q = 1). The distribution function is: Fˆx (m) = m i=0 p i = m i=0 pqi = 1 q m+1 1 q m+1 u q m+1 1 u u m = log(u) log(q) Rejection method: We propose a valu according to g(x): g(x) = i g iδ(x x i ) this value is accepted with probablity h i, 0 h i 1, i, The resulting pdf of the distribution is: fˆx (x) = i h i g i δ(x x i ) i h i g i 25