Download presentation
Presentation is loading. Please wait.
1
Random-Variate Generation
2
2 Purpose & Overview Develop understanding of generating samples from a specified distribution as input to a simulation model. Illustrate some widely-used techniques for generating random variates. Inverse-transform technique Convolution technique Acceptance-rejection technique A special technique for normal distribution
3
3 Inverse-transform Technique The concept: For cdf function: r = F(x) Generate R sample from uniform (0,1) Find X sample: X = F -1 (R) r1r1 x1x1 r = F(x)
4
4 Exponential Distribution [Inverse-transform] Exponential Distribution: Exponential cdf: To generate X 1, X 2, X 3,… generate R 1, R 2, R 3,… r = F(x) = 1 – e - x for x 0 X i = F -1 (R i ) = -(1/ ln(1-R i ) Figure: Inverse-transform technique for exp( = 1)
5
5 Example: Generate 200 variates X i with distribution exp( = 1) Matlab Code for i=1:200, expnum(i)=-log(rand(1)); end Exponential Distribution [Inverse-transform] R and (1 – R) have U(0,1) distribution
6
6 Uniform Distribution: Uniform cdf: To generate X 1, X 2, X 3,…, generate R 1, R 2, R 3,… Uniform Distribution [Inverse-transform]
7
7 Example: Generate 500 variates X i with distribution Uniform (3,8) Matlab Code for i=1:500, uninum(i)=3+5*rand(1); end Uniform Distribution [Inverse-transform]
8
8 Discrete Distribution [Inverse-transform] All discrete distributions can be generated by the Inverse-transform technique. p1p1 p 1 + p 2 p 1 + p 2 + p 3 a b c F(x)F(x) R1R1 General Form
9
9 Discrete Distribution [Inverse-transform] Example: Suppose the number of shipments, x, on the loading dock of IHW company is either 0, 1, or 2 Data - Probability distribution: Method - Given R, the generation scheme becomes: Consider R 1 = 0.73: F(x i-1 ) < R <= F(x i ) F(x 0 ) < 0.73 <= F(x 1 ) Hence, x 1 = 1
10
10 Empirical Continuous Dist’n [Inverse-transform] When theoretical distribution is not applicable To collect empirical data: Resample the observed data Interpolate between observed data points to fill in the gaps For a small sample set (size n): Arrange the data from smallest to largest Assign the probability 1/n to each interval where
11
11 Empirical Continuous Dist’n [Inverse-transform] Example: Suppose the data collected for 100 broken- widget repair times are: Consider R 1 = 0.83: c 3 = 0.66 < R 1 < c 4 = 1.00 X 1 = x (4-1) + a 4 (R 1 – c (4-1) ) = 1.5 + 1.47(0.83-0.66) = 1.75
12
12 Convolution Technique Use for X = Y 1 + Y 2 + … + Y n Example of application Erlang distribution Generate samples for Y 1, Y 2, …, Y n and then add these samples to get a sample of X.
13
13 Example: Generate 500 variates X i with distribution Erlang-3 (mean: k/ Matlab Code for i=1:500, erlnum(i)=-1/6*(log(rand(1))+log(rand(1))+log(rand(1))); end Erlang Distribution [Convolution]
14
14 Useful particularly when inverse cdf does not exist in closed form a.k.a. thinning Steps to generate X with pdf f(x) Step 0: Identify a majorizing function g(x) and a pdf h(x) satisfying Step 1: Generate Y with pdf h(x) Step 2: Generate U ~ Uniform(0,1) independent of Y Step 3: Acceptance-Rejection technique Generate Y,U Condition Output X=Y yes no Efficiency parameter is c
15
15 Triangular Distribution [Acceptance-Rejection] Generate Y~U(0,0.5) and U~U(0,1) Output X = Y yes no
16
16 Triangular Distribution [Acceptance-Rejection] Matlab Code: (for exactly 1000 samples) i=0; while i<1000, Y=0.5*rand(1); U=rand(1); if Y 0.25 & U<=2-4*Y i=i+1; X(i)=Y; end
17
N can be interpreted as number of arrivals from a Poisson arrival process during one unit of time Then, the time between the arrivals in the process are exponentially distributed with rate Poisson Distribution [Acceptance-Rejection]
18
Step 1. Set n = 0, and P = 1 Step 2. Generate a random number R n+1 and let P = P. R n+1 Step 3. If P < e - , then accept N = n. Otherwise, reject current n, increase n by one, and return to step 2 How many random numbers will be used on the average to generate one Poisson variate? Poisson Distribution [Acceptance-Rejection]
19
19 Approach for normal(0,1): Consider two standard normal random variables, Z 1 and Z 2, plotted as a point in the plane: B 2 = Z 2 1 + Z 2 2 ~ chi-square distribution with 2 degrees of freedom = Exp( = 1/2). Hence, The radius B and angle are mutually independent. Normal Distribution [Special Technique] In polar coordinates: Z 1 = B cos Z 2 = B sin Uniform(0,2
20
20 Normal Distribution [Special Technique] Approach for normal( , ): Generate Z i ~ N(0,1) Approach for lognormal( , ): Generate X ~ N( , ) Y i = e X i X i = + Z i
21
21 Normal Distribution [Special Technique] Generate 1000 samples of Normal(7,4) Matlab Code for i=1:500, R1=rand(1); R2=rand(1); Z(2*i-1)=sqrt(-2*log(R1))*cos(2*pi*R2); Z(2*i)=sqrt(-2*log(R1))*sin(2*pi*R2); end for i=1:1000, Z(i)=7+2*Z(i); end
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.