ierg 3050 week 6 generating random variates
TRANSCRIPT
![Page 1: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/1.jpg)
IERG 3050 Week 6Generating Random Variates
Bolei ZhouDepartment of Information Engineering
The Chinese University of Hong Kong
![Page 2: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/2.jpg)
Announcement
• Pick up your graded homework 1• After class today• Go to TA’s tutorials or office hour or by appointment at SHB 702
• This week’s tutorial will go through homework 1 and homework 2 briefly• Work on your homework 2 (no need to hand in)• Prepare for Quiz 1 next Wed (Oct.16)
![Page 3: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/3.jpg)
Outline• Generating random variates from U(0, 1) (a.k.a. generating
random numbers)• Linear congruential generators (LCGs)• Testing pseudo-random number generators (PRNGs)
• Generating random variates from arbitrary distributions • Inverse transform method• Acceptance/Rejection method• Composition method• Convolution method
• Reading: Chapters 7 and 8
□ Acknowledgement: Prof. Minghua Chen, Prof. Rosana Chan, Prof. Angela Zhang, Prof. Jianwei Huang, and Prof. Pascal Vontobel for contributing to the slides
3
![Page 4: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/4.jpg)
Be careful about the saying
4
![Page 5: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/5.jpg)
Random-Number Generation
5
![Page 6: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/6.jpg)
Criteria for PRNGs
6
![Page 7: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/7.jpg)
Example code
import randomrandom.seed(3)random.random()random.random()
![Page 8: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/8.jpg)
Arithmetic way to generate ‘Random’ numbers
• First arithmetic generator by Von Neumann and Metropolis in 1940s• Midsquare method:
1. Let Z0 be a four-digit positive integer such as 71822. Square Z0 to make it eight digit number3. take the middle four digits as next four digit Z1, U1 be the 0.Z1
4. Repeat
![Page 9: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/9.jpg)
Problem with the Midsquare method
• It has a strong tendency to degenerate rapidly to zero and stay there forever• Better solution for sequential arithmetic random number generator
given Z0
Zi = f(Zi-1)Ui = g(Zi)
![Page 10: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/10.jpg)
Linear Congruential Generators (LCGs)
10
![Page 11: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/11.jpg)
Example 1
11
![Page 12: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/12.jpg)
Example 2
12
![Page 13: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/13.jpg)
LCGs
13
![Page 14: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/14.jpg)
Period is determined by the parameters
![Page 15: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/15.jpg)
Period of LCGs
15
m is usually very large, say 109 or more (a billion possible values)
![Page 16: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/16.jpg)
Full-Period Theorem
16
![Page 17: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/17.jpg)
Desired Properties of LCG
17
![Page 18: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/18.jpg)
LCG with c = 0: Multiplicative LCG
18
![Page 19: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/19.jpg)
Integer Overflow
19
b = 4
![Page 20: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/20.jpg)
Some “Good” LCGs (with One Exception)
20
![Page 21: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/21.jpg)
Parameters in common use
![Page 22: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/22.jpg)
Testing Random Number Generators
22
![Page 23: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/23.jpg)
Uniformity Test
23
![Page 24: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/24.jpg)
Uniformity Test: Example
24
![Page 25: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/25.jpg)
Higher-Dimensional Uniformity Test (Serial Test)
25
![Page 26: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/26.jpg)
Runs-Up Test
26
It is a test of independence only, not for uniformity
![Page 27: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/27.jpg)
Runs-Up Test
27
![Page 28: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/28.jpg)
Runs-Up Test
28
![Page 29: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/29.jpg)
Runs-Up Test
![Page 30: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/30.jpg)
Correlation Test
![Page 31: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/31.jpg)
Outline• Generating random variates from U(0, 1) (a.k.a.
generating random numbers)• Linear congruential generators (LCGs)• Testing pseudo-random number generators (PRNGs)
• Generating random variates from arbitrary distributions
31
![Page 32: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/32.jpg)
Generating random variates from arbitrary distributions
32
![Page 33: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/33.jpg)
Inverse-Transform Method
33
![Page 34: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/34.jpg)
Proof of Inverse-Transform Method
34
![Page 35: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/35.jpg)
Intuition of Inverse-Transform Method
View f(x) as the slope function of F(x)
![Page 36: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/36.jpg)
Intuition of Inverse-Transform Method
View f(x) as the slope function of F(x)
![Page 37: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/37.jpg)
Example
37
![Page 38: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/38.jpg)
Exercise
38
![Page 39: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/39.jpg)
Another Example
39
![Page 40: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/40.jpg)
Inverse Transform Method for Discrete Random Variates
40
![Page 41: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/41.jpg)
Acceptance/Rejection Method
41
![Page 42: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/42.jpg)
Motivating Example 1
42
![Page 43: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/43.jpg)
Motivating Example 1
43
![Page 44: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/44.jpg)
Motivating Example 2
44
![Page 45: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/45.jpg)
Motivating Example 2
45
![Page 46: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/46.jpg)
Motivating Example 2
46
![Page 47: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/47.jpg)
Motivating Example 2
47
(a)
![Page 48: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/48.jpg)
Motivating Example 2
48
![Page 49: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/49.jpg)
Acceptance/Rejection Method
49
![Page 50: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/50.jpg)
Acceptance/Rejection Method
50
![Page 51: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/51.jpg)
Acceptance/Rejection Method
51
![Page 52: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/52.jpg)
Composition Method
52
![Page 53: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/53.jpg)
Composition Method
53
![Page 54: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/54.jpg)
Example 1
54
![Page 55: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/55.jpg)
Example of combining three generation techniques
55
Textbook. Example 8.7
![Page 56: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/56.jpg)
Convolution Method
56
![Page 57: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/57.jpg)
Convolution Method
57
![Page 58: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/58.jpg)
Example
58
![Page 59: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/59.jpg)
Typical Continuous Distributions: Uniform
![Page 60: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/60.jpg)
Typical Continuous Distributions: Exponential
![Page 61: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/61.jpg)
Typical Continuous Distributions: m-Erlang
![Page 62: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/62.jpg)
Typical Continuous Distributions: Gamma
![Page 63: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/63.jpg)
Typical Continuous Distributions: Normal distribution
![Page 64: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/64.jpg)
Typical Continuous Distributions: Lognormal
![Page 65: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/65.jpg)
Typical Continuous Distributions: Beta
![Page 66: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/66.jpg)
Typical Discrete Distribution: Bernoulli
![Page 67: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/67.jpg)
Typical Discrete Distribution: Binomial
![Page 68: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/68.jpg)
Typical Discrete Distribution: Geometric
![Page 69: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/69.jpg)
Other Methods
• See Chapter 8 of the book by Averill M. Law on additional, more sophisticated and/or more specialized ways to generate random variates for commonly used distributions (gamma, lognormal,etc)• Code example: The standard random function in pythonhttps://github.com/python/cpython/blob/3.7/Lib/random.py
69
![Page 70: IERG 3050 Week 6 Generating Random Variates](https://reader031.vdocuments.net/reader031/viewer/2022012021/6168a23ad394e9041f715a10/html5/thumbnails/70.jpg)
Next Week
• Confidence intervals and hypothesis testing• Required reading: Chapter 4