+ All Categories
Home > Documents > 2 Random Numbers

2 Random Numbers

Date post: 27-Dec-2015
Category:
Upload: nadia-moromenacho-solis
View: 28 times
Download: 0 times
Share this document with a friend
Popular Tags:
47
© Kleber Barcia V. Chapter 2 Random Numbers 1. Random-number generation 2. Random-variable generation
Transcript

© Kleber Barcia V.

Chapter 2

Random Numbers

1. Random-number generation

2. Random-variable generation

© Kleber Barcia V.

Chapter 2

2

1. Objectives. Random numbers

Discuss how the random numbers are

generated.

Introduce the subsequent testing for

randomness:

Frequency test

Autocorrelation test.

© Kleber Barcia V.

Chapter 2

3

Properties of random numbers

Two important statistical properties:

Uniformity

Independence.

Random Number, Ri, must be independently drawn from a

uniform distribution with pdf:

Figure: pdf for random numbers

2

1

2)(

1

0

21

0

xxdxrE

12

1

4

1

3

1

2

1

3)(

21

0

31

0

22

xrEdxxrV

12

22

abrV

barE

otherwise ,0

10 ,1)(

xxf

© Kleber Barcia V.

Chapter 2

4

Generation of pseudo-random numbers

“Pseudo”, because generating numbers using a known

method removes the potential for true randomness.

Goal: To produce a sequence of numbers in [0,1] that

simulates, or imitates, the ideal properties of random numbers

(RN).

Important considerations in RN routines:

Fast

Portable to different computers

Have sufficiently long cycle

Replicable

Closely approximate the ideal statistical properties of uniformity

and independence.

© Kleber Barcia V.

Chapter 2

5

Techniques to generate random numbers

Middle-square algorithm

Middle-product algorithm

Constant multiplier algorithm

Linear algorithm

Multiplicative congruential algorithm

Additive congruential algorithm

Congruential non-linear algorithms

Quadratic

Blumy Shub

© Kleber Barcia V.

Chapter 2

6

Middle-square algorithm

1. Select a seed x0 with D digits (D > 3)

2. Rises to the square: (x0)2

3. Takes the four digits of the Center = x1

4. Rises to the square: (x1)2

5. Takes the four digits of the Center = x2

6. And so on. Then convert these values to r1 between

0 and 1

If it is not possible to obtain the D digits in the Center,

add zeros to the left.

© Kleber Barcia V.

Chapter 2

7

Middle-square algorithm

If x0 = 5735

Then,

Y0 = (5735)2 = 32890225 x1 = 8902 r1 = 0.8902

Y1 = (8902)2 = 79245604 x2 = 2456 r2 = 0.2456

Y2 = (2456)2 = 06031936 x3 = 0319 r3 = 0.0319

Y3 = (0319)2 = 101760 x4 = 0176 r4 = 0.0176

Y4 = (0176)2 = 030976 x5 = 3097 r5 = 0.3097

1. Small cycles

2. May lose the series (e.g.: X0 = 0012)

© Kleber Barcia V.

Chapter 2

8

Middle-product algorithm

It requires 2 seeds of D digits

1. Select 2 seeds x0 and x1 with D > 3

2. Y0 = x0* x1 xi = digits of the center

3. Yi = xi*xi+1 xi+1 = digits of the center

If it is not possible to obtain the D digits in the center, add

zeros to the left.

© Kleber Barcia V.

Chapter 2

9

Middle-product algorithm

Example:

Seeds x0 = 5015 y x1 = 5734

Y0 = (5015)(5734) = 28756010 x2 = 7560 r1 = 0.756

Y1 = (5734)(7560) = 43349040 x3 = 3490 r2 = 0.349

Y2 = (7560)(3490) = 26384400 x4 = 3844 r3 = 0.3844

Y3 = (3490)(3844) = 13415560 x5 = 4155 r4 = 0.4155

Y4 = (3844)(4155) = 15971820 x6 = 9718 r5 = 0.9718

© Kleber Barcia V.

Chapter 2

10

Constant multiplier algorithm

Similar to Middle-product algorithm

1. Select a seed x0 (D > 3)

2. Select a constant "a“

3. Y0 = a*x0 xi = D digits of the center

4. Yi = a*xi xi+1= D digits of the center

5. Repeat until you get the desired random numbers

© Kleber Barcia V.

Chapter 2

11

Constant multiplier algorithm

Example:

If: seed x0 = 9803 and constant a = 6965

Y0 = (6965)(9803) = 68277895 x1 = 2778 r1 = 0.2778

Y1 = (6965)(2778) = 19348770 x2 = 3487 r2 = 0.3487

Y2 = (6965)(3487) = 24286955 x3 = 2869 r3 = 0.2869

Y3 = (6965)(2869) = 19982585 x4 = 9825 r4 = 0.9825

Y4 = (6965)(9825) = 68431125 x5 = 4311 r5 = 0.4311

© Kleber Barcia V.

Chapter 2

12

Linear algorithm

To produce a sequence of integers, X1, X2, … between 0 and m-1 by following a recursive relationship:

The selection of the values for a, c, m, and X0 drastically affects

the statistical properties and the cycle length, must be > 0

"mod (m)" is the residue of the term (ax i + c) /m

The random integers are being generated [0,m-1], and to convert the integers to random numbers:

,...2,1,0 , mod )(1 imcaXX ii

The

multiplier

The

increment

The

modulus

,...2,1 ,1 im

XR i

i

© Kleber Barcia V.

Chapter 2

13

Linear algorithm

Example:

Use X0 = 27, a = 17, c = 43 y m = 100

The values of xi and ri are:

X1 = (17*27+43) mod 100 = 502 mod 100 = 2 r1 = 2/99 = 0.02

X2 = (17*2+43) mod 100 = 77 mod 100 = 77 r2 = 77/99 = 0.77

X3 = (17*77+43) mod 100 = 1352 mod,100 = 52 r3 = 52/99 = 0.52

The maximum life period N is equal to m

© Kleber Barcia V.

Chapter 2

14

Multiplicative congruential algorithm

It arises from the linear algorithm when c = 0. The recursive

equation is:

The values of a, m, and x0 must be > 0 and integers

The conditions that must be fulfilled to achieve the

maximum period are:

m = 2g

g must be integer

a = 3 + 8 k or 5 + 8 k where k = 0, 1, 2, 3,...

X0 = should be an odd number

With these conditions we achieve N = m/4 = 2g-2

,...2,1,0 ,mod1 imaXX ii

,...2,1 ,1

1

im

Xr ii

© Kleber Barcia V.

Chapter 2

15

Multiplicative congruential algorithm

Example: Use x0 = 17, k = 2, g = 5

Then: a = 5+8(2) = 21 and m=25 = 32

x1 = (21*17) mod 32 = 5 r1 = 5/31 = 0.1612

x2 = (21*5) mod 32 = 9 r2 = 9/31 = 0.2903

x3 = (21*9) mod 32 = 29 r3 = 29/31 = 0.9354

x4 = (21*29) mod 32 = 1 r4 = 1/31 = 0.3225

x5 = (21*1) mod 32 = 21 r5 = 21/31 = 0.6774

x6 = (21*21) mod 32 = 25 r6 = 25/31 = 0.8064

x7 = (21*25) mod 32 = 13 r7 = 13/31 = 0.4193

x8 = (21*13) mod 32 = 17 r8 = 17/31 = 0.5483

© Kleber Barcia V.

Chapter 2

16

Additive congruential algorithm

Requires a sequence of n integer numbers x1, x2, x3,…xn

to generate new random numbers starting at xn+1, xn+2,…

The recursive equation is:

1

m

Xr ii

Nnnimxxx niii ,...,2,1 ,mod1

© Kleber Barcia V.

Chapter 2

17

Additive congruential algorithm

Example:

x1 =65, x2 = 89, x3 = 98, x4 = 03, x5 = 69, m = 100

x6=(x5+x1)mod100 = (69+65)mod100 = 34 r6= 34/99 = 0.3434

x7=(x6+x2)mod100 = (34+89)mod100 = 23 r7= 23/99 = 0.2323

x8=(x7+x3)mod100 = (23+98)mod100 = 21 r8= 21/99 = 0.2121

x9=(x8+x4)mod100 = (21+03)mod100 = 24 r9= 24/99 = 0.2424

x10=(x9+x5)mod100 = (24+69)mod100 = 93 r10= 93/99 = 0.9393

x11=(x10+x6)mod100 = (93+34)mod100 = 27 r11= 27/99 = 0.2727

x12=(x11+x7)mod100 = (27+23)mod100 = 50 r12= 50/99 = 0.5050

© Kleber Barcia V.

Chapter 2

18

Congruential non-linear algorithms

Quadratic:

Conditions to achieve a maximum period N = m

m = 2g

g must be integer

a must be an even number

c must be an odd number

(b-a)mod4 = 1

1

1

m

Xr ii

Nimcbxaxxi ,...,3,2,1,0 mod2

1

© Kleber Barcia V.

Chapter 2

19

Congruential non-linear algorithms (quadratic)

Example:

x0 = 13, m = 8, a = 26, b = 27, c = 27

x1 = (26*132+27*13+27)mod 8 = 4

x2 = (26*42+27*4+27)mod 8 = 7

x3 = (26*72+27*7+27)mod 8 = 2

x4 = (26*22+27*2+27)mod 8 = 1

x5 = (26*12+27*1+27)mod 8 = 0

x6 = (26*02+27*0+27)mod 8 = 3

x7 = (26*32+27*3+27)mod 8 =6

x8 = (26*62+27*6+27)mod 8 = 5

x9 = (26*52+27*5+27)mod 8 = 4

Nimcbxaxxi ,...,3,2,1,0 mod2

1

© Kleber Barcia V.

Chapter 2

20

Congruential non-linear algorithms

Algorithm Blum, Blumy Shub

It occurs when Quadratic is:

a = 1

b = 0

c = 0

nimxx ii ,...,3,2,1,0 mod2

1

© Kleber Barcia V.

Chapter 2

21

Characteristics of a good generator

Maximum Density

Such that the values assumed by Ri, i = 1,2,…, leave no large gaps on [0,1]

Problem: Instead of continuous, each Ri is discrete

Solution: a very large integer for modulus m

Maximum Period

To achieve maximum density and avoid cycling.

Achieve by: proper choice of a, c, m, and X0.

Most digital computers use a binary representation of numbers

Speed and efficiency depend on the modulus, m, to be (or close to) 2b a big number

Rev. 1

© Kleber Barcia V.

Chapter 2

22

Tests for Random Numbers

Two categories:

Testing for uniformity:

H0: Ri ~ U[0,1]

H1: Ri ~ U[0,1]

Test for independence:

H0: Ri ~ independently

H1: Ri ~ independently

Mean test

H0: µri = 0.5

H1: µri = 0.5

We can use the normal distribution with σ2 = 1/12

or σ = 0.2887 with a significance level α = 0.05

/

/

/

© Kleber Barcia V.

Chapter 2

23

Tests for Random Numbers

When to use these tests:

If a well-known simulation languages or random-number

generators is used, it is probably unnecessary to test

If the generator is not explicitly known or documented, e.g.,

spreadsheet programs, symbolic/numerical calculators, tests

should be applied to the sample numbers.

Types of tests:

Theoretical tests: evaluate the choices of m, a, and c without

actually generating any numbers

Empirical tests: applied to actual sequences of numbers

produced. Our emphasis.

Rev. 1

© Kleber Barcia V.

Chapter 2

24

Kolmogorov-Smirnov test [Uniformity Test]

Very useful for little data.

For discrete and continuous variables.

Procedure:

1. Arrange the ri from lowest to highest

2. Determine D+, D-

3. Determine D

4. Determine the critical value of Dα, n

5. If D> Dα, n then ri are not uniform

© Kleber Barcia V.

Chapter 2

25

Kolmogorov-Smirnov test [Uniformity Test]

Example: Suppose that 5 generated numbers are 0.44,

0.81, 0.14, 0.05, 0.93.

Step 1:

Step 2:

Step 3: D = max(D+, D-) = 0.26

Step 4: For a = 0.05,

Da, n = 0.565 > D

So not reject H0.

Sort R (i) Ascending

D+ = max {i/N – R(i)}

D- = max {R(i) - (i-1)/N}

R(i) 0.05 0.14 0.44 0.81 0.93

i/N 0.20 0.40 0.60 0.80 1.00

i/N – R(i) 0.15 0.26 0.16 - 0.07

R(i) – (i-1)/N 0.05 - 0.04 0.21 0.13

© Kleber Barcia V.

Chapter 2

26

Chi-square test [Uniformity Test]

The Chi-square test uses the statistical sample:

Approximately the chi-square distribution with n-1 degrees of

freedom is tabulated in Table A.6

For a uniform distribution, the expected number Ei, in each class

is:

Valid only for large samples, example: N> = 50

If X02>X2

(α; n-1) reject the hypothesis of uniformity

n

i i

ii

E

EO

1

22

0

)(

nobservatio of # total theis N where,n

NEi

n is the # of classes

Oi is the observed # of

the class ith

Ei is the expected # of

the class ith

© Kleber Barcia V.

Chapter 2

27

Chi-square test [Uniformity Test]

Example: Use Chi-square with a = 0.05 to test that the data shown

are uniformly distributed

The test uses n = 10 intervals of equal length:

[0, 0.1), [0.1, 0.2), …, [0.9, 1.0)

0.34 0.90 0.25 0.89 0.87 0.44 0.12 0.21 0.46 0.67

0.83 0.76 0.79 0.64 0.70 0.81 0.94 0.74 0.22 0.74

0.96 0.99 0.77 0.67 0.56 0.41 0.52 0.73 0.99 0.02

0.47 0.30 0.17 0.82 0.56 0.05 0.45 0.31 0.78 0.05

0.79 0.71 0.23 0.19 0.82 0.93 0.65 0.37 0.39 0.42

0.99 0.17 0.99 0.46 0.05 0.66 0.10 0.42 0.18 0.49

0.37 0.51 0.54 0.01 0.81 0.28 0.69 0.34 0.75 0.49

0.72 0.43 0.56 0.97 0.30 0.94 0.96 0.58 0.73 0.05

0.06 0.39 0.84 0.24 0.40 0.64 0.40 0.19 0.79 0.62

0.18 0.26 0.97 0.88 0.64 0.47 0.60 0.11 0.29 0.78

© Kleber Barcia V.

Chapter 2

28

Chi-square test [Uniformity Test]

The X02 value = 3.4

Compared to the value of Table A.6, X20.05, 9 = 16.9

Then H0 is not rejected.

Intervalo Oi Ei Oi-Ei (Oi-Ei)2

(Oi-Ei)2

Ei

1 8 10 -2 4 0.4

2 8 10 -2 4 0.4

3 10 10 0 0 0.0

4 9 10 -1 1 0.1

5 12 10 2 4 0.4

6 8 10 -2 4 0.4

7 10 10 0 0 0.0

8 14 10 4 16 1.6

9 10 10 0 0 0.0

10 11

100

10

100

1

0

1 0.1

3.4

© Kleber Barcia V.

Chapter 2

29

Tests for Autocorrelation [Test of Independence]

It is a test between each m numbers, starting with the number i The auto-correlation rim between the numbers Ri, Ri+m, Ri+2m,

Ri+(M+1)m

M is the largest integer such that, , where N is the total number of values in the sequence

Hypothesis:

If the values are not correlated: For large values of M, the distribution estimation rim, is

approximately a normal distribution.

N)m (Mi 1

tindependen NOT are numbers ,0 :

,0 :

1

0 tindependen are numbers

im

im

H

H

r

r

© Kleber Barcia V.

Chapter 2

30

Tests for Autocorrelation [Test of Independence]

The statistical test is:

Z0 is distributed normally with mean = 0 and variance = 1, and:

If rim > 0, the subsequence has positive autocorrelation

High random numbers tend to be followed by high ones, and vice versa.

If rim < 0, the subsequence has negative autocorrelation

Low random numbers tend to be followed by high ones, and vice versa.

im

imZr

r

ˆ

ˆ

)(M

.RRM

ρ

imρ

M

k

)m(kikmiim

112

713ˆ

2501

0

1

© Kleber Barcia V.

Chapter 2

31

Example [Test for autocorrelation]

Test if the 3rd, 8th, 13th and so on, are auto-correlated.

Use a = 0.05

Then i = 3, m = 5, N = 30

Then M = 4

0.12 0.01 0.23 0.28 0.89 0.31 0.64 0.28 0.83 0.93

0.99 0.15 0.33 0.35 0.91 0.41 0.60 0.27 0.75 0.88

0.68 0.49 0.05 0.43 0.95 0.58 0.19 0.36 0.69 0.87

30 28

30 5143

1

N)m (Mi

© Kleber Barcia V.

Chapter 2

32

Example [Test for autocorrelation]

From Table A.3, z0.025 = 1.96. then the hypothesis is not

rejected.

516.11280.0

1945.0

128.01412

7)4(13ˆ

1945.0

250)36.0)(05.0()05.0)(27.0(

)27.0)(33.0()33.0)(28.0()28.0)(23.0(

14

0

35

35

Z

)(σ

ρ

© Kleber Barcia V.

Chapter 2

33

Other tests of Independence

Test runs up and down

Test runs up and below the mean

Test poker

Test series

Test holes

-----HOMEWORK 3 at SIDWeb-----

Bonus: (3 points for the partial exam) Write a computer program that generates random numbers (4 digits) using the Multiplicative Congruential Algorithm. Allow user to enter values x0, k, g Give an example printed and the program file

© Kleber Barcia V.

Chapter 2

34

Understand how to generate random variables

from a specific distribution as inputs of a

simulation model.

Illustrate some widely used techniques for

generating random variables.

Inverse-transform technique

Acceptance- rejection technique

2. Objectives. Random Variables

© Kleber Barcia V.

Chapter 2

35

Inverse-transform technique

It can be used to generate random variables from an

exponential distribution, uniform, Weibull, triangular and

empirical distribution.

Concept:

For cdf function: r = F(x)

Generate r (0,1)

Find x:

x = F-1(r)

r1

x1

r = F(x)

© Kleber Barcia V.

Chapter 2

36

Exponential Distribution [inverse-transform]

The exponential cdf:

To generate X1, X2, X3 …

r = F(x)

r = 1 – e-lx for x 0

Xi = F-1(ri)

= -(1/l ln(1-ri)

= -(1/l) ln(ri)

Figure: Inverse-transform

technique for exp (l = 1)

)1ln(1

)1ln(

1

rX

rX

re X

l

l

l

© Kleber Barcia V.

Chapter 2

37

Table of Distributions [inverse-transform]

Distribution Cumulative Inverse-Transform

Uniform

Weibull

Triangular

Normal

bxa

abax

xF

0 1

xexFx

a

21

22

1

10 2

2

2

xx

xF

xxxF

ii rabax

a1

1ln rx

12

1 122

210 2

rrx

rrx

zx

© Kleber Barcia V.

Chapter 2

38

Exponential Distribution [inverse-transform]

Example: Generate 200 variables Xi with exponential distribution (l = 1) The histograms of ri and xi are:

Uniform distribution Exponential distribution

i 1 2 3 4 5

Ri 0.1306 0.0422 0.6597 0.7965 0.7696

Xi 0.1400 0.0431 1.078 1.592 1.468

© Kleber Barcia V.

Chapter 2

39

Uniform Distribution [Example]

The temperature of an oven

behaves uniformly within the

range of 95 to 100 ° C.

Modeling the behavior of the

temperature.

ii rabax

Measurements ri Temperature oC

1 0.48 95+5*0.48=97.40

2 0.82 99.10

3 0.69 98.45

4 0.67 98.35

5 0.00 95.00

© Kleber Barcia V.

Chapter 2

40

Exponential Distribution [Example]

Historical data service time a Bank

behaves exponentially with an

average of 3 min / customer.

Simulate the behavior of this

random variable

Customer ri Service Time(min)

1 0.36 3.06

2 0.17 5.31

3 0.97 0.09

4 0.50 2.07

5 0.21 0.70

ii rx 1ln3

© Kleber Barcia V.

Chapter 2

41

Poisson Distribution [Example]

The number of pieces entering a production system

follows a Poisson distribution with mean 2 pcs/hour.

Simulate the arrival behavior of the pieces to the system.

x P(x) F(x) Random digits

0 0.1353 0.1353 0-0.1353

1 0.2706 0.4060 0.1353-0.4060

2 0.2706 0.6766 0.4060-0.6766

3 0.1804 0.8571 0.6766-0.8571

4 0.0902 0.9473 0.8571-0.9473

5 0.0369 0.9834 0.9473-0.9834

6 0.0120 0.9954 0.9834-0.9954

7 0.0034 0.9989 0.9954-0.9989

8 0.0008 0.9997 0.9989-0.9997

9 0.0001 0.9999 0.9997-0.9999

10 0.00003 0.9999 0.9999-0.9999

Arrival

Time

ri Pieces/hour

1 0.6754 2

2 0.0234 0

3 0.7892 3

4 0.5134 2

5 0.3331 1

x

i

i

x

i

exF

xx

exp

0 !)(

,...1,0 ,!

a

a

a

a

© Kleber Barcia V.

Chapter 2

42

Convolution Method

In some probability distributions, the random variable

can be generated by adding other random variables

Erlang Distribution

The sum of exponential variables of equal means

(1/λ)

Y = x1+x2+…+xk

Y = (-1/kλ)ln(1-r1)+ (-1/kλ)ln(1-r2)+…+ (-1/kλ)ln(1-rk)

Where:

Y = Eri= (-1/kλ)lnπ(1-ri) The factor productoria

© Kleber Barcia V.

Chapter 2

43

Convolution Method

The processing time of certain machine follows a 3-

erlang distribution with mean 1/λ = 8 min/piece

Y = -(8/3)[lnπ(1-ri)] = -(8/3)ln[(1-r1) (1-r2) (1-r3)]

Piece 1-r1 1-r2 1-r3 Process Time

1 0.28 0.52 0.64 6.328

2 0.96 0.37 0.83 3.257

3 0. 04 0.12 0.03 23.588

4 0.35 0.44 0.50 6.837

5 0.77 0.09 0.21 11.279

© Kleber Barcia V.

Chapter 2

44

Empirical continuous distribution [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 1 / n is the probability

(n)(2)(1) x x x

(i)1)-(i x x x

n

iRaxRFX ii

)1()(ˆ

)1(

1

n

xx

nin

xxa

iiii

i/1/)1(/1

)1()()1()(

© Kleber Barcia V.

Chapter 2

45

Empirical continuous distribution [inverse-transform]

Example: Suppose that the observed data of 100 repair times of a machine are:

i

Interval

(Hours) Frecuency

Relative

Frecuency

Cumulative

Frecuencia, c i Slot, a i

1 0.25 ≤ x ≤ 0.5 31 0.31 0.31 0.81

2 0.5 ≤ x ≤ 1.0 10 0.10 0.41 5.0

3 1.0 ≤ x ≤ 1.5 25 0.25 0.66 2.0

4 1.5 ≤ x ≤ 2.0 34 0.34 1.00 1.47

Consider r1 = 0.83:

c3 = 0.66 < r1 < c4 = 1.00

X1 = x(4-1) + a4(r1 – c(4-1)) = 1.5 + 1.47(0.83-0.66)

= 1.75

© Kleber Barcia V.

Chapter 2

46

Empirical Discrete Distribution

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:

0.18.0

8.05.0

5.0

,2

,1

,0

R

R

R

xConsider R1 = 0.73:

F(xi-1) < R <= F(xi)

F(x0) < 0.73 <= F(x1)

Hence, x1 = 1

x p(x) F(x)

0 0.50 0.50

1 0.30 0.80

2 0.20 1.00

Rev. 1

© Kleber Barcia V.

Chapter 2

47

Acceptance-Rejection technique

Useful particularly when inverse cdf does not exist in closed form, a.k.a. thinning

To generate random variables X ~ U (1/4, 1) we must:

This procedure is only for uniform distributions

Acceptance-rejection technique is also applied to Poisson, nonstationary Poisson, and gamma distributions

-----HOMEWORK 4 at SIDWeb-----

procedure :

Step 1. Generate R ~ U[0,1]

Step 2a. If R >= ¼, accept X=R.

Step 2b. If R < ¼, reject R, back to step 1

Generate R

Condition

output R’

si

no


Recommended