Anda di halaman 1dari 37

Generacin de Nmeros Aleatorios

y de Variables Aleatorias

Basados en apuntes de : Dr. Jose Sepulveda, UCF

Dr. Jos A. Seplveda

Random Numbers and Random Variates, 4

Definiciones:
Los NMEROS ALEATORIOS son observaciones
independientes tomadas de una distribucin uniforme entre
0 y 1 [0,1].
f ( x ) = 1 if 0 x 1; 0 elsewhere. E ( x ) = 0.5; = 1 / 12
F ( x ) = 0 if x 0; F ( x ) = x 0 x 1; F ( x ) = 1
x 1
2

Propiedades: uniformidad e independencia.

Las
VARIABLE
ALEATORIAS
son
obervaciones
independientes tomadas desde una distribucin especfica.
Una vez elegida la distribucin a partir de los datos
muestreados (e.g., para representar tiempos entre llegadas
de clientes/partes, tiempos entre reparaciones, etc.), el
programa de simulacin deber generar muestras aleatorias
independientes a partir de las distribuciones seleccionadas,
lo cual es realizado generando nmeros aleatorios y
aplicando transformaciones a estos nmeros para obtener
variables aleatorias.

Dr. Jos A. Seplveda

Random Numbers and Random Variates, 5

Generando Nmeros Aleatorios de la distribucin U(0,1)

Propiedades de un buen generador de nmeros (Law y Kelton, 1991):


1. Nmeros deben ser U(0,1) y no deben mostrar correlacin entre ellos,
2. Deben ser rpidos, con un bajo requerimiento de almacenamiento y ciclos
largos.
3. Nmeros deben ser reproducibles (para verificacin y experimentacin), y
4. Deberan permitir generar varias secuencias independientes de nmeros
aleatorios a partir de diferentes semillas.

Las principales tcnicas de genracin involucran el uso de frmulas


recursivas, e.g., generadores lineales congruenciales.
Una vez conocido el mtodo y la semilla, cada nmero en la secuencia es
conocido (e.g., no aleatorio). Ellos son llamados pseudo aleatorios por que
se comportan como si fueran aleatorios:
Uniformemente distribuidos
Sin correlacin, tendencia, ciclos, etc. (se comportan como si fueran
independientes)

Dr. Jos A. Seplveda

Random Numbers and Random Variates, 6

Generadores Lineales Congruenciales

zi = (azi-1+c) (mod m)
Procedimiento bsico:
1. Fijar z0 (valor de la semilla) igual a algn entero no negativo.
2. Fijar i =1.
3. Fijar zi = (azi-1+c) (mod m).
4. Fijar ui = zi/m, donde ui es el nmero aleatorio generado.
5. Fijar i = i + 1. Ir al paso 3.
Donde

m = es el mdulo, en Arena: (231-1)


a = la constante multiplicativa, en Arena: 16,807, y
c = el incremento, son todas constantes enteras, con 0< m, a < m,
c < m, y z0 < m. En Arena: 0

Cuandon c>0 tenemos un GLC aditivo. Si c=0 tenemos un GLC


multiplicativo

(azi-1+c)(mod m) es el restoasociado al dividir (azi-1+c) por m.


En todos los programas de simulacin se puede especificar una semilla.

Dr. Jos A. Seplveda

Random Numbers and Random Variates, 7

Ejemplo: LCG Zi=(5 Zi-1 + 3) (mod 16) with Z0 =7

ZI

5 10

10 9

15 4

6 5

11 0

16 7

7 12

12 3

17 6

8 15

13 2

18 1

4 11

9 14

14 13

19 8

ZI

ZI

ZI

El largo del ciclo es 16. Todos los valores posibles estn


incluidos en (0, 15), la cual es la secuencia mxima, ciclo m.
Para calcular el n.a. generado, dividir cada Zi por m.

Dr. Jos A. Seplveda

Random Numbers and Random Variates, 8

Secuencias de Nmeros Aleatorios

Considere el

GLC Zi=(13 Zi-1) (mod 64) con

Z0 =1, 2, 3, y 4
El periodo es determinado por la semilla (largos de 16, 8,
16, 4, respectivamente). Por ejemplo, con Z0 =4: la
secuencia es 4, 52, 36, 20, 4.

Test de nmeros aleatorios:


Test de frecuencia (test de uniformidad)
Test de corridas (test de tendencia arriba o debajo de la
media)
Test de autocorrelacin test (test de correlacin)
Test de saltos (nmero de dgitos entre repeticiones)
Poker test (test de grupos de nmeros como una mano
de poker)

Tests de bondad de ajuste :


La meta es probar formalmente las
siguientes hiptesis nulas:
H0: Las Xi son una muestra
independiente de la distribucin fijadaF (x )
Prueba de Chi-cuadrado
((xx)) en intervalos k :
Divida el rango de FF
[a0, a1), ... , [aj-1, aj), , [ak-1, ak)

Fije Nj = nmeros de Xi en el intervalo j


Ej = nmero esperado de Xi en el F (x )
intervalo j si F (x ) estuviesen correctos
=n
F (x )
Entonces las estadsticas de chi-cuadrado
son dadas por

(2 0)

Claramente, 2 ser pequea si F (x ) es


un buen ajuste.

Rechazamos H0 al nivel (ej., 0.1) si


2

>

2
k - 1, 1 -

donde k - 1, 1 - es el (1 - ) - cuantil
para una distribucin chi-cuadrado con
k - 1 g.l. (p. 709).

f(x)

Densidad de Chi-cuadrado con k - 1 df

Area achurada =

k21,1
No hay rechazo

Rechazo

Figura 12. La disposicin para la prueba de chi-cuadrado .

Recomendaciones para elegir los


intervalos k :
Use intervalos equidistantes en
lugar de intervalos de igual amplitud.
k 3 y Ej 5 para todo j

Pruebas de Kolmogorov-Smirnov (K-S)


Dn = distancia mxima vertical entre F (x ) y
Fn(x) para todo x
No hay intervalo de especificacin
Ms poderoso que la prueba de chi-cuadrado
Slo aplicable a distribuciones
exponenciales, normales, log normales,
Weibull, log-logsticas, y uniformes
Cada distribucin tiene sus propios valores
Crticos
A menudo mal utilizado en paquetes de
software de simulacin y libros

F4 (x )

1.0

0.5

x (1) x (2)

x (3)

x (4)

Figura 11. Muestra de la funcin de distribucin para n = 4.

Dr. Jos A. Seplveda, P.E.

Input Data Analysis, 26

Kolmogorov-Smirnov Test

Sea X1, X2, , Xn (datos ordenados de menor a mayor valor), el


estadstico, Dn , se calcula de la siguinete manera:

donde:

D
D

si

> d

+
n

= m ax { D

+
n

, D

_
n

i
= m ax
F$ ( X
1 i n n

= m a x F$ ( X
1 i n

n , 1

(i )

(i )

i 1

, la distribucin docimada es rechazada.

Pruebas de Anderson-Darling (A-D)


Diseadas para detectar discrepancias
en las colas de una distribucin
Ms poderoso que la prueba K-S
Tambin aplicable a las distribuciones
Gamma y Tipo Pearson V
Cada distribucin tiene sus propios
valores crticos
A menudo mal utilizados en paquetes de
software de simulacin

Limitaciones de tests de bondad de


ajuste :
La hiptesis nula es a menudo falsa
El poder de las pruebas es bajo para
los tamaos pequeos o moderados de
las muestras
El poder de las pruebas se acerca a 1 a
medida que el tamao de las muestras
aumenta, causando que la hiptesis nula
sea rechazada
Intervalos de especificacin son
crticos para pruebas de chi-cuadrado

Dr. Jos A. Seplveda

Random Numbers and Random Variates, 10

Procedimientos para generar Variables Aleatorias

Mtodo de la Transformada Inversa


Mtodo de Aceptancin/Rechazo
Mtodo de Composicin
Otros mtodos empleando propiedades especiales

Dr. Jos A. Seplveda

Random Numbers and Random Variates, 11

Mtodo de la Transformada Inversa


Involucra un procedimiento de cuatro pasos:
Sea: r = un nmero aleatorio
F-1 = la inversa de la funcin distribucin acumulada deseada
x = la variable aleatoria deseada.

Paso 1: Encontrar la funcin acumulada, F (x), para la


variable aleatoria deseada
Paso 2: Generar la inversa de F, F-1(r)
Paso 3: Generar una secuencia de nmeros aleatorios ri
(independientes, identicmente distribuidos UN[0,1] ).
Paso 4: Fijar xi=F -1(ri). Los xis son las variables aleatorias.

Dr. Jos A. Seplveda

Random Numbers and Random Variates, 12

Ejemplo 1: v.a. emprica


Considere la funcin masa de probabilidades que describe el
nmero de clientes, x, en un grupo que entra a un restaurante:
x:
probabildad:

5 o ms

.1

.4

.1

.3

.1

Para generar muestras aleatorias de esta distribucin utilizando el mtodo de la


transformada inversa::

Paso 1: Encontrar la funcin acumulada, F (x), para la v.a. en


F ( x ) P ( X x ).
cuestin, dnde
Paso 2: Generar la inversa de F, F-1(r)

Dr. Jos A. Seplveda

Random Numbers and Random Variates, 13

Ejemplo 1: v.a. emprica (cont.)


1.0
0.9

F(x)
0.6
0.5

0.1

x
1

Paso 3: Generar secuencia de n.a. (independientes, identcamente distribuidos u[0,1]).


Example: ri: .23 .71 .54
Paso 4: Fijar xi=F-1(ri). Las xis son las v.a.
x1 = F-1(r1) = F-1(.23) = 2
x2 = F-1(r2) = F-1(.71) = 4
x3 = F-1(r3) = F-1(.54) = 3

Nota: si la v.a. es continua (0<=x<=5) (lnea continuamente cresciente), se deber


interpolar entre los puntos

Dr. Jos A. Seplveda

Random Numbers and Random Variates, 16

Ejemplo 2: Distribucin Exponencial


f (t ) =

et / = e t

Note that =

t0

F (t ) = 1 e t / = 1 e t

Also, 2 =

= 2

Let r = F (t ) = 1 e t
Then (1 r ) = e t and t = ln(1 r )
1
Hence, t = ln(1 r ) = ln(r )

Pasos: 1. Generar ri
2. Calcular ti = - ln (ri)
3. Repetir las veces necesarias

t0

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 9

Random Numbers Streams in Arena

Arena has ten random number streams (subsequences


positioned around the entire cycle) with initial seeds:
14561
32323

25791
19991

31131
18765

22553
14327

12121
32535

for streams one through ten (the default), respectively.

A new replication uses the final seed value from the


previous replication as the initial seed
Can override using SEEDS element
This element also allows to generate antithetic samples
between successive pairs of replications (r.n. r in second
replication = r.n. 1-r generated in first replication)
It also allows you to get ANY number of streams (Arena can
provide seeds for them automatically)
You can also name streams and refer to them in variables and
attributes

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 15

Inverse Transformation Method: An Example for a Continuous


Random Variable
Step 1: Find the cumulative distribution function, F (x), for the
random variable in question, where:

F (x ) =
=

P r (X

x 3
0 .0 0 3
=
3

x ) =

0 .0 0 1 x

Step 2: Find the inverse of F(x).

f(y )d y

F 1 = r = 0.001x 3, x = 3 1000r

Step 3: Generate a sequence of random numbers (independent,


identically distributed uniform [0,1] random variates).
Example:

ri: .21 .52 .34 .07 .92 .62

Step 4: Set xi = F-1(ri). The xis are the random variates.

x = (1000)(0.21) = 5.94
3

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 14

Inverse Transformation Method: An Example for a Continuous


Random Variable
Consider the continuous probability distribution for the random
variate, x, which gives the time (in minutes) required to repair a
particular machine. The distribution function for this random
variate is given by:

f ( x ) = .0 0 3 x
0

fo r x 0 ,
2

fo r 0 x 1 0 ,
fo r 1 0 x .

f (x )

10

Use the inverse transformation method to generate samples for


this random variate.

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 17

Other Distributions
Uniform
1
f (t ) =
(b a )

a t b;

t a
Let r = F ( t ) =
ba

t a
F (t ) =
ba

then t = a + (b a ) r

Weibull

f (t ) = t e

( t / )

F (t ) = 1 e

( t / )

t 0

= r , hence t = [ ln(1 r )]

1/

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 18

Comments on the Inverse Transform Method

Disadvantages:
The difficulty associated with finding the inverse of the cumulative
distribution function, F-1, in some cases
Not always the most efficient approach (i.e., other methods may
require less computation time)

Advantages:
Facilitates some variance reduction techniques (especially where
synchronization of random numbers is needed),
Easy to generate from truncated distributions,
Useful for generating order statistics....e.g., generate a random variate
which is the smallest of 5 random variables with identical distributions
(application: lifetime of a system with 5 identical components in series).

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 19

Convolution Methods
The probability distribution of a sum of 2 or more
independent r.v. is called a convolution of the
distributions of the original variables.

x ~ Erlang ( k , )
sum of k independent exponentially distributed r. v.,

each having mean =


k
k

X = x i where x i ~ exponential =
1

k
k
1
1
X =
ln (ri ) =
ln ( 1k ri )
1
k
k

Example: Erlang Distribution:

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 20

Acceptance-Rejection Method
f(x)

f(x) defined over (a,b)


It has a maximum (M) at x=c

x
b
a
c
Procedure: 1. Generate U1 and U 2 , both ~uniform(0,1)
2. Determine x=a+(b-a) U1 and f(x)
3. Determine whether U2 M > f(x)
If yes, reject x, go to 1
If no, accept x

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 21

Acceptance-Rejection Example
Let

f ( x) = 60 x (1 x)
3

for 0 x 1 , thus f(x) ~ Beta(4,3)

Note: M = 2.0736 occurs at x=0.6


Let U1 = 0.52 and U2 = 0.06 , then x1 = 0.52

f (0.52) = 60(0.52) 3 (0.48) 2 = 194


.
M U 2 = (2.0736)(0.06) = 012
.
accept x = 0.52

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 22

Poisson Distribution
When there are n arrivals in one time unit and the average is

t1 + t 2 +K+ t n 1 < t1 + t 2 +K+ t n + t n +1


n

ln ri 1 <

n +1

ln ri

ln 1n ri > ln 1n +1ri

or 1n ri e > 1n +1ri

Procedure: Step 1. Set n = 0, P = 1


Step 2. Generate rn+1 and replace P by ( P)(rn+1 )
Step 3. If P < e - , accept N = n
otherwise, reject current n, increase n by 1, and
return to step 2.
Note: E(n +1) = +1 can be quite large

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 23

Example: Generate Poisson r.v.


Let = 0.2 then e - = e 0.2 = 0.8187
Step 1. n = 0, P = 1
Step 2. r1 = 0.4357, P = (1)(0.4357) = 0.4357
Since P < e - , accept N = 0
Step 1. n = 0, P = 1
Step 2. r1 = 0.8353, P = (1)(0.8353) = 0.8353
Since P e - , reject N = 0
n = 1, r2 = 0.9952, P = (0.8353)(0.9952) = 0.8313, reject N = 1
n = 2, r3 = 0.8004, P = (0.8313)(0.8004) = 0.6654
Since P < e , accept N = 2

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 24

Non-Stationary Poisson
t

t
Procedure: 1. Set t = t i-1
1
2. Replace t by t * ln U 1

ti-1
ti
Generate U1 and U2

( t )
3. If U 2 * , set ti = t and return; otherwise, reject and repeat.

Note: If batch arrival situation:


1. Generate next arrival using an exponential distr. (group arrives)
2. Generate group size as 1+Poisson(average=k)
[need at least one person in group]

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 25

Employing Special Properties in Generating


Random Variates

Some random variables can be expressed as functions of other random


variables. For example, if Y has a standard normal distribution, and Z
has a chi-square distribution with k degrees of freedom, then
X

has a Students t-distribution with k degrees of freedom. Therefore, in


order to generate a random variate with a chi-square distribution with k
degrees of freedom, instead of using the inverse transform method
directly (which would be difficult), use the following procedure:
1. Generate Y ~ standard normal distribution,
2. Generate Z ~ chi-square with k d.f.,
3. Compute

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 26

Normal Variates
z1 , z2 ~ iid N (0,1) z1 = B cos ; z2 = B sin
~ 2= 2

B 2 = z12 + z22

(equivalent to an expo(2))

B = ( 2 ln R )

1/2

~ U [0,2 ] Also, B and are independent zB


1

z2 axis
z2
z1 axis

Procedure: 1. Generate r1 and r2


2. Let z1 = ( 2 ln r1 ) cos(2 r2 ) and z 2 = ( 2 ln r1 ) sin(2 r2 )
1/2

1/2

Example: Let r1 = 01758


.
, r2 = 01489
.
Then, z1 = [ 2 ln(01758
.
.
.
)] cos(2 01489
) = 111
1/2

z2 = [ 2 ln(01758
.
.
.
)] sin(2 01489
) = 150
1/2

For normal ( , 2 ), use xi = + z

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 27

Binomial and Geometric Distributions

Binomial Distribution
1. Generate n U[0,1] values
2. Count how many values are <= p
3. The number found follows a b(x;n,p)

Geometric Distribution
Let

ln(1 r )
1
x = roundup
ln(1 p)
x is the number of trials before the first success,
x = 0, 1, 3,K

Dr. Jos A. S eplve da

Random Num be rs and R andom Variates, 28

Variance Reduction: Antithetic Variates


Suppose we are interested in estimating Y with good precision:
Let E(Y1 ) = E(Y2 ) = Y

V (Y1 ) = V (Y2 ) = Y2

e.g., Y1 and Y2 are drawn from same population.


1
1
1
1
Let z = (Y1 + Y2 ) / 2 E ( z ) = E (Y1 ) + E (Y2 ) = Y + Y = Y
2
2
2
2
1
1
11
Cov(Y1 ,Y2 )
and V ( z ) = V (Y1 ) + V (Y2 ) + 2
4
4
22
If Y1 and Y2 are independent, Cov(Y1 ,Y2 ) = 0
But, if Cov(Y1 ,Y2 ) < 0, then V ( z ) < Y2
If we do this n times, V ( z ) < V (Y ) which was our goal
How do we ensure Cov(Y1 ,Y2 ) < 0?
Use COMPLEMENT of r1 in run 2.

Dr. Jos A. Seplveda

Random Numbers and Random Variates, 29

Qu hemos aprendido ...


Motivacin y Definiciones
Generacin de Nmeros Aleatorios
Procedimientos para genrar y tetear nmeros aleatorios

Mtodo de la Transformada Inversa

Ejemplos con el Mtodo de la Tranformada Inversa


Ventajas y desventajas

Otros Mtpdps

Convolucin
Acceptancin/Rechazo
Mtodos especiales de genracin de v.a.

Anda mungkin juga menyukai