You are on page 1of 40

Generacin de Nmeros Seudo-Aleatorios

En la prctica ninguna funcin produce datos aleatorios verdaderos. Las funciones producen nmeros pseudo-aleatorios.

Generacin de Nmeros Seudo-Aleatorios


Un elemento importante en simulacin es tener rutinas que generen variables aleatorias con distribuciones especficas: uniforme, normal, etc. Para ello la base es generar una secuencia de nmeros aleatorios distribuidos uniformemente entre 0 y 1. Y para ello la clave es generar nmeros enteros aleatorios y uniformemente distribuidos en un cierto intervalo de una manera eficiente.

Tcnicas para generar nmeros aleatorios

La mayora de los mtodos (generadores) comienzan con un nmero inicial (semilla), a este nmero se le aplica un determinado procedimiento y as se encuentra el primer nmero random. Usando este nmero como entrada, el procedimiento es repetido para lograr un prximo nmero random.

Tcnicas para generar nmeros aleatorios


Mtodo Del Cuadrado Medio: comienza con un nmero inicial (semilla). Este nmero es elevado al cuadrado. Se escogen los dgitos del medio de este nuevo nmero (segn los dgitos que se deseen) y se colocan despus del punto decimal. Este nmero conforma el primer nmero random.
Ejemplo: X0 = 5497 X02 = (5497)2 = 30,217,009 ===> X1 = 2170 R1 = 0.2170 X12 = (2170)2 = 04,708,900 ===> X2 = 7089 R2 = 0.7089

X22 = (7089)2 = 50,253,921 ===> X3 = 2539

Operacin mod

k mod m es el residuo de hacer la divisin de k entre m

Sea x un entero grande 45 mod 12 =

(5+55x) mod 5 =
(5+55x) mod 11 =
5

Mtodo de la Congruencia Lineal

El nmero aleatorio se encuentra de la siguiente manera: R = x /m

Ejercicio 1
a = 12 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x 10 x 11 x 12
0 0 0 0 0 0 0 0 0 0 0 0 0

Usar Excel para calcular los nmeros aleatorios que se producen para m = 15, a = 12 y c = 0 con las semillas x0 = 0, hasta 14.

c= 0
1 12 9 3 6 12 9 3 6 12 9 3 6 2 9 3 6 12 9 3 6 12 9 3 6 12

m = 15
3 6 12 9 3 6 12 9 3 6 12 9 3 4 3 6 12 9 3 6 12 9 3 6 12 9 5 0 0 0 0 0 0 0 0 0 0 0 0 6 12 9 3 6 12 9 3 6 12 9 3 6 7 9 3 6 12 9 3 6 12 9 3 6 12 8 6 12 9 3 6 12 9 3 6 12 9 3 9 3 6 12 9 3 6 12 9 3 6 12 9 10 0 0 0 0 0 0 0 0 0 0 0 0 11 12 9 3 6 12 9 3 6 12 9 3 6 12 9 3 6 12 9 3 6 12 9 3 6 12 13 6 12 9 3 6 12 9 3 6 12 9 3 14 3 6 12 9 3 6 12 9 3 6 12 9

Ejercicio

Usar Excel para calcular los nmeros aleatorios que se producen para m = 15, a = 12 y c = 0 con las semillas x0 = 0, hasta 14.

Para x0 = 1: Cul es el perodo, la longitud es del ciclo y la longitud de la cola ?.

R: 5, 4, 1.

10

Ejercicio

Usar Excel para calcular los nmeros aleatorios que se producen para m = 15, a = 12 y c = 0 con las semillas x0 = 0, hasta 14.

11

GCL Multiplicativos

Periodo completo = Cuando tiene el mximo periodo posible, m 1.


Los hay con m potencia de 2 (m = 2k ) que son rpidos pues el residuo en divisiones con potencia de 2 puede hacerse rpidamente. Aunque tienen la desventaja que no son de periodo completo pueden ser suficientes para muchas aplicaciones. Cuando m no es potencia de 2 el generador es menos rpido; se acostumbra elegir un nmero m que sea primo y la relacin entre m y a debe ser especial para que el generador tenga un periodo completo o al menos grande.

12

13

14

Ejercicio 2
Suponiendo que se utilice el generador de nmeros seudo-aleatorios.

y que la semilla se escoge eligiendo al azar un entero entre 1 y 26 1 inclusive, determine el promedio de la longitud del periodo y su desviacin estndar.

15

Varianza y Desviacin Estndar para una muestra de datos.

Varianza:

S
2

x x X x n
n 2 i 1 i

n 1

2 i

n 1

Desviacin Estndar:
16

s s2

Ejercicio
1. Determina el rango, la varianza y la desviacin estndar para los siguientes datos: 2 4 3 5 2 2 0 1 R = Rango 5; Varianza 2.5536 y Desviacin Estndar 1.5980

2. Determina el rango, la varianza y la desviacin estndar para los siguientes datos: -2 -4 -3 -5 -2 -2 0 -1 R = Rango 5; Varianza 2.5536 y Desviacin Estndar 1.5980

17

3. Determina el rango, la varianza y la desviacin estndar para los siguientes datos: 6 12 9 15 6 6 0 3 R = Rango 15; Varianza 22.9821 y Desviacin Estndar 4.7940

Ejercicio
Frecuentemente se utilizan generadores de nmeros seudoaleatorios en forma encadenada; por ejemplo, el nmero que sale de

xn+1 = (81 xn + 121) mod 255


es utilizado por

yn+1 = (625 xn+1 + 48) mod 63


para producir el nmero yn+1 que es el que se reporta. Usando la semilla x0 = 23 y los datos anteriores, determine los primeros 2 nmeros aleatorios generados (y1 y y2).

18

Otro ejercicio
Frecuentemente se utilizan generadores de nmeros seudoaleatorios en forma encadenada; por ejemplo, el nmero que sale de

xn+1 = (45 xn + 71) mod 127


es utilizado por

yn+1 = (125 xn+1 + 11) mod 63


para producir el nmero yn+1 que es el que se reporta. Usando la semilla x0 = 49 y los datos anteriores, determine los primeros 2 nmeros aleatorios generados (y1 y y2).

19

Probando generadores de nmeros aleatorios


Es importante asegurarse de que el generador usado produzca una secuencia suficientemente aleatoria. Para esto se somete el generador a pruebas estadsticas. Si no pasa una prueba, podemos asumir que el generador es malo. Pasar una prueba es una condicin necesaria pero no suficiente. Un generador puede pasar una prueba y luego no pasarla si se usa otra semilla u otro segmento del ciclo.

20

Cmo sabemos que nuestro generador es bueno?


PRUEBAS GRFICAS Grfica de Serie de Tiempo. Tablas de frecuencias e histogramas PRUEBA ESTADSTICA Prueba Ji-cuadrada Usar el ejemplo: xn+1 = (75 xn) mod 231 1
Con semilla = 1, los primeros 200 nmeros generados.

21

Grfica de Serie de Tiempo


1 0.9

0.8
0.7 0.6 0.5 0.4

0.3 0.2
0.1 0 1 1 0.9 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181 191 201

0.8
0.7 0.6 0.5 0.4

0.3 0.2
0.1 0 0 20 40 60 80 100 120 140 160 180 200

Es importante observar que NO exista ningn patrn o tendencia.

22

xn+1 = (75 xn) mod 231 1


Con semilla = 1, los primeros 200 nmeros generados

Cmo sabemos que nuestro generador es bueno?


Cul de estas series de nmeros parecen venir de un buen generador?
Generador Uniforme
1.25 1 0.75 0.5 0.25 0 -0.25 0 -0.5

Generador Uniforme?
1 0.8 0.6 0.4 0.2 0 0 50 100

23

random

Tabla de frecuencias e histograma


Intervalo Frecuencia [0, 0.1) [0.1, 0.2) [0.2, 0.3) [0.3, 0.4) [0.4, 0.5) [0.5, 0.6) [0.6, 0.7) [0.7, 0.8) [0.8, 0.9) [0.9, 1.0) 21 19 20 16 25 20 20 17 20 22 200

Histograma
30

25
Frecuencias
20 15

10
5 0 [0, 0.1) [0.1, 0.2) [0.2, 0.3) [0.3, 0.4) [0.4, 0.5) [0.5, 0.6) [0.6, 0.7) [0.7, 0.8) [0.8, 0.9) [0.9, 1.0)

Intervalo

24

Nmeros aleatorios entre 0 y 1


f(x) 1, 0 x 1 f(x) = 0, en otro caso

1
F(x) 0, x < 0 F(x) = x, 0 x 1 1, x<1

25

Nmeros aleatorios entre 0 y 1


* La probabilidad de observar un valor en un particular intervalo es independiente del valor previo observado.
* Todo punto en el rango tiene igual probabilidad de ser elegido. * Si el intervalo (0,1) es dividido en n sub-intervalos de igual longitud, el nmero esperado de observaciones en cada intervalo es N/n. (N nmero de observaciones totales).

El objetivo de cualquier esquema de generacin (generador), es producir una secuencia de nmeros entre 0 y 1 que simule las propiedades ideales de distribucin uniforme y de independencia.

26

Prueba estadstica Ji-cuadrada


Esta es la prueba ms comnmente usada. En general, puede ser usada para cualquier distribucin.
A partir de un histograma, se comparan las frecuencias observadas con las frecuencias obtenidas de la distribucin especfica (frecuencias esperadas).

Intervalo I1 I2 Ik

27

Frecuencia Observada O1 O2 Ok Total

Frecuencia Esperada E1 E2 Ek Total

Prueba estadstica Ji-cuadrada


Hiptesis nula.

Ho: no hay diferencia entre frecuencias observadas y esperadas. Hiptesis alternativa. Ha o H1 : existe una diferencia entre frecuencias observadas y esperadas.
Estadstico de prueba:

28

Si el ajuste es exacto, c02 es cero, pero por aleatoriedad no lo ser. Se puede demostrar que tiene distribucin ji-cuadrado con k-1 grados de libertad.

Distribucin Ji-cuadrada

29

Ejercicio: Determine el 95 percentil de la distribucin ji-cuadrada con 6 grados de libertad.

Prueba estadstica Ji-cuadrada


Los grados de libertad son iguales a: nmero de filas - 1

Regin de Rechazo:

c c ,k 1
2 0 2

30

En esta prueba se debe cuidar que las frecuencias esperados sean mayores o iguales a 5.

Prueba estadstica Ji-cuadrada


Ejercicio 3
Generador: xn+1 = (75 xn) mod 231 1
Con semilla = 1, los primeros 200 nmeros generados. Realizar la prueba estadstica ji-cuadrada para probar si los valores vienen de una distribucin uniforme. Usar nivel de significancia = = 0.05 Ho: Los valores provienen de una distribucin uniforme. Ha: Los valores NO provienen de una distribucin uniforme.

31

Prueba estadstica Ji-cuadrada


Ejercicio 3
Frecuencia Intervalo Observada [0, 0.1) [0.1, 0.2) [0.2, 0.3) [0.3, 0.4) [0.4, 0.5) [0.5, 0.6) [0.6, 0.7) [0.7, 0.8) [0.8, 0.9) [0.9, 1.0) Total 21 19 20 16 25 20 20 17 20 22 200 Frecuencia Esperada 20 20 20 20 20 20 20 20 20 20 200 (observado - esperado) 2 esperado 0.05 0.05 0 0.8 1.25 0 0 0.45 0 0.2 2.8

c
2 0 i 1

10

Oi Ei
Ei

2.8

Estadstico de prueba

32

Prueba estadstica Ji-cuadrada


Ejercicio 3
Regin de Rechazo:

c c ,k 1
2 0 2
2 2 c c , k 1 0.05, 9

16.919
2.8 no es mayor que 16.919, por lo que el estadstico de prueba NO cae en la regin de rechazo. Conclusin: Ho NO se rechaza. Los valores generados s parecen venir de una distribucin uniforme

33

Ejercicio 4

Generador: xn+1 = (57 xn) mod 215 1


Con semilla = 1, considere los primeros 100 nmeros generados entre 0 y 1. Realizar la prueba estadstica ji-cuadrada para probar si los valores vienen de una distribucin uniforme. Usar 10 intervalos. Usar nivel de significancia = = 0.05.

34

Ejercicio 5
Usando el mtodo del cuadrado medio y semilla = 5896, se generaron los primeros 80 nmeros aleatorios.
Realizar la prueba estadstica jicuadrada para probar si los valores provienen de una distribucin uniforme. Usar 8 intervalos y un nivel de significancia = = 0.05.

Intervalo [0, 0.125) [0.125, 0.25) [0.25, 0.375) [0.375, 0.5) [0.5, 0.625) [0.625, 0.75) [0.75, 0.875) [0.875, 1.0)

Frecuencia 16 12 11 11 8 6 7 9 80

35

Ejercicio 6

Generador: xn+1 = (57 xn) mod 215 1


Con semilla = 14, considere los primeros 100 nmeros generados entre 0 y 1. Realizar la prueba estadstica ji-cuadrada para probar si los valores vienen de una distribucin uniforme. Usar 8 intervalos. Usar nivel de significancia = = 0.05.

Intervalo [0, 0.125) [0.125, 0.25) [0.25, 0.375) [0.375, 0.5) [0.5, 0.625) [0.625, 0.75) [0.75, 0.875) [0.875, 1.0)

Frecuencia 22 7 18 13 21 4 9 6 100

36

Generacin de variables aleatorias discretas


Suponga que un determinado fenmeno aleatorio tiene la siguiente distribucin de probabilidad:
Variable 18 cm. 19 cm. 20 cm.
0 R 0.3 0.3 < R 0.7 0.7 < R 1

Probabilidad Acumulada 0.3 0.3 0.4 0.3 0.7 1

entonces x = 18 grs. entonces x = 19 grs. entonces x = 20 grs.

37

Para esto, se necesitan nmeros aleatorios R entre 0 y 1.

Ejercicio 7
Usar el generador: xn+1 = (57 xn) mod 215 1
Con semilla = 1.

a) Generar 100 valores de la distribucin:


Variable 18 cm. 19 cm. 20 cm. Probabilidad 0.3 0.4 0.3

38

b) Utilizar la prueba ji-cuadrada para decidir si los valores generados realmente parecen tener la distribucin de probabilidad anterior ( = 0.05). c) Usar 20 semillas y observar en cuntos casos la prueba se rechaza.

Nmeros aleatorios con distribucin normal

En Excel. =NORMINV(RAND(),500,50) aleatorio entre 0 y 1 media desv. std. (puedes usar tu propio generador)

39

Ejercicio 8
Usar el generador: xn+1 = (59 xn) mod 217 1
Con semilla = matrcula menor del equipo.

a) Generar 500 valores de la distribucin uniforme continua entre 0 y 1 con el generador. b) Usar esos valores para generar 500 nmeros aleatorios de la distribucin normal con media 100 y desviacin estndar 16 (distribucin del puntaje de IQ). c) Utilizar la prueba ji-cuadrada para decidir si los valores generados realmente parecen tener la distribucin normal ( = 0.01). En la tabla de frecuencias, calcular a mano 3 frecuencias esperadas (mostrar procedimiento usando editor de ecuaciones). Escribir conclusin (s o no se trata de un buen generador de nmeros normales). d) Construir el histograma de frecuencias observadas y el histograma de frecuencias esperadas.

40

e) Usar 20 semillas y observar en cuntos casos la prueba se rechaza. Indicar qu semillas se usaron y cul fue el valor del estadstico en cada caso.

You might also like