100
Introducci´on Generador lineal congruente Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Simulaci´ on Computacional Tema 1: Generaci´ on de n´ umeros aleatorios Irene Tischer Escuela de Ingenier´ ıa y Computaci´on Universidad del Valle Irene Tischer. Simulaci´oncomputacional Tema 1: Generaci´on de n´ umeros aleatorios

Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Simulacion ComputacionalTema 1: Generacion de numeros aleatorios

Irene Tischer

Escuela de Ingenierıa y ComputacionUniversidad del Valle

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 2: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Contenido

1 Introduccion

2 Generador lineal congruente

3 Pruebas de bondad para generadores de aleatorios

4 Secuencias con otras distribuciones

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 3: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

‘?Porque numeros aleatorios?

Uso en simulacion de sistemas con componente estocastica

Uso en algoritmos probabilısticos (algoritmos geneticos, redesneuronales, ...)

Algoritmos probabilısticos son a veces la unica manera viablede resolver problemas complejos

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 4: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Numeros aleatorios

Apariencia de numeros aleatorias en sistemas naturales:

Ruido blanco

Movimiento de esporas de helecho

Resultados del lanzamiento de un dado o una moneda...

Para usar numeros aleatorios en el computador, se debe hacer elexperimento y copiar los datos al computador (existen grandesbases de datos de numeros aleatorios) o conectar el computador aun sistema externo con componente aleatorio.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 5: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Numeros pseudoaleatorios

Cada intento de generar datos aleatorios por computador resultaen numeros pseudoaleatorios

la maquina tiene un numero finito de estados, en algunmomento repite exactamente el estado y por eso se vuelveperiodico

cada algoritmo de generacion consiste de un conjunto finito dereglas, por eso el resultado es predecible

Se busca generadores de numeros pseudoaleatorios, lo masparecidos a numeros aleatorios.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 6: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Propiedades de aleatorios

Los numeros aleatorios se encuentran generalmenteestandarizados para encontrarse en el intervalo [0,1].

Secuencias de numeros aleatorios tienen una distribucionuniforme (en [0,1]), es decir, subintervalos de igual longituddeben tener aproximadamente la misma cantidad de datos (nohay datos acumulados).

No hay ninguna clase de patron en la secuencia

Cada subsecuencia es por si mismo una secuencias de numerosaleatorios.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 7: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Ejemplo de una secuencia aleatoria

0 10 20 30 40 50 60

0.2

0.4

0.6

0.8

1.0

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 8: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Ejemplos de secuencias que NO son aleatorias (1)

0 10 20 30 40 50 60

0.2

0.4

0.6

0.8

No es uniforme(en el intervalo [0.2, 0.4] hay muchos puntos)

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 9: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Ejemplos de secuencias que NO son aleatorias (2)

5 10 15 20 25 30

0.2

0.4

0.6

0.8

Hay un patron de valores por encima y por debajo de la media

(a un punto en [0, 0.5]) siempre le sigue un punto en [0.5, 1])

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 10: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Ejemplos de secuencias que NO son aleatorias (3)

20 40 60 80

0.2

0.4

0.6

0.8

Hay un patron de valores crecientes-decrecientes(a 4 puntos en orden creciente les siguen 4 puntos en orden

decreciente)

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 11: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Problemas que se pueden presentar con pseudoaleatorios

Numeros aleatorios Numeros pseudoaleatorios

Son datos continuos Puede resultar en datos discretos (si

son generados en el computador, siem-

pre son discretos)

Siguen distribucion

uniforme U(0,1)

Si se divide el intervalo [0,1] en subintervalos iguales

pueden resultar intervalos donde caen significativamente

mas o menos datos que el numero esperado

media 1/2

varianza 1/12

media por encima o por debajo de 1/2

varianza por encima o por debajo de 1/12

Los datos son

independientes: una

observacion no depende

de las observaciones

anteriores; no hay

ninguna clase de patron

Se pueden presentar regularidades como:

periodicidad

autocorrelacion

patrones de crecimiento-decrecimiento

patrones de valores encima o por de bajo de la media

.....y muchos mas

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 12: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Exigencias a un generador de numeros pseudoaleatorios

En cuanto a los datos generados:

distribucion uniforme

perıodo largo

no hay regularidad

En cuanto al algoritmo:

rapido (generalmente se necesitan muchos numeros)

poca memoria requerida

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 13: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Contenido

1 Introduccion

2 Generador lineal congruente

3 Pruebas de bondad para generadores de aleatorios

4 Secuencias con otras distribuciones

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 14: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Generador linear congruente

Definido por la relacion de recurrencia

Xn+1 = (a · Xn + c)mod m; X0 : semilla

Rn =Xn

m

donde a se llama el multiplicador; c es el incremento y m elmodulo.

Se tiene 0 ≤ Xn < m, por eso 0 ≤ Rn < 1.

OJO

Las caracterısticas de un generador linear congruente dependenfuertemente de la seleccion de sus parametros a, c, m.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 15: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Ejemplo

X0 = 27, a = 17, c = 43, m = 100.

n Xn Xn+1 = (a · Xn + c) mod 100 R =X

m0 27 (17 · 27 + 43) mod 100=502 mod 100=2 0.021 2 (17 · 2 + 43) mod 100=77 mod 100=77 0.772 77 (17 · 77 + 43) mod 100=1352 mod 100=52 0.523 52 (17 · 52 + 43) mod 100=927 mod 100=27 0.274 27

...

Obviamente la recurrencia genera numeros entre 0 y 99, por eso, elperıodo del generado es ≤ 100. Como vemos en este ejemplo, elperıodo es de longitud 4.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 16: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Ejercicio en clase

Generar numeros pseudoaleatorios usando un generador linealcongruente con

X0 = 5, a = 5, c = 13, m = 7.

Cual es su perıodo?

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 17: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Ejemplos

100 numeros aleatorios generados con diferentes generadoreslineales congruentes

X0 = 5a = 255c = 100m = 1032

0.2 0.4 0.6 0.8 1.0

5

10

15

X0 = 5a = 255c = 100m = 1031

0.2 0.4 0.6 0.8 1.0

2

4

6

8

10

12

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 18: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Ejemplos

Aplicando los mismos generadores para generar 10.000 numeros

X0 = 5a = 255c = 100m = 1032

0.2 0.4 0.6 0.8 1.0

100

200

300

400

500

X0 = 5a = 255c = 100m = 1031

0.2 0.4 0.6 0.8 1.0

50

100

150

200

250

300

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 19: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Ejemplo: Un generador linear congruente bueno

a = 106c = 1283m = 6075

X0 = 5

0.2 0.4 0.6 0.8 1.0

20

40

60

80

100

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 20: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Analisis de este generador

Ventajas:

El generador parece dar numeros con distribucion uniforme en[0,1]. Para cualquier semilla genera todos los numeros (perıodomaximo m = 6075).

Limitaciones:Por su perıodo relativamente pe-queno, el generador sirve solo sise requiere pocos numeros aleato-rios.Parece tener regularidades (luegoveremos una prueba de indepen-dencia), como se nota del graficode los puntos generados.

2000 4000 6000 8000 10 000

0.2

0.4

0.6

0.8

1.0

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 21: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Un generador de estandar mınimo: Exigencias

Se buscan los parametros especıficos del generado (a, c y m), talque cumple las siguientes exigencias:

es rapido;

usa poca memoria;

tiene un periodo largo;

genera datos con distribucion uniforme en [0,1);

el perıodo es completo (se generan todos los numeros antes derepetir);

genera datos ”pseudoindependientes”:no hay patrones evidentes (pasa la gran mayorıa de pruebasestadısticas, que permiten excluir patrones).

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 22: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Un primer generador de estandar mınimo GEMPropuesto por Park y Miller (1988)

a = 75 = 16.807c = 0m = 231 − 1 = 2 147’483.641

Cumple con las exigencia a un buen generador.

Se debe garantizar que no se use 0 como semilla (la semilla 0genera una secuencia de 0’s).

Su periodo es m− 1 = 231 − 2 (se usan todos los numeros delrango con excepcion de 0).

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 23: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

El generador de estandar mınimo GEM: Desempeno

Se generaron 10.000 puntos con el generador de estandar mınimo.Histograma:

0.2 0.4 0.6 0.8 1.0

20

40

60

80

100

120

Histograma con valores cen-trados en 100, con varianza ra-zonable

Plot de puntos generados:

2000 4000 6000 8000 10 000

0.2

0.4

0.6

0.8

1.0

Plot de puntos generados sinregularidades visibles

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 24: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Conclusiones (1)

1 De un buen generador de numeros aleatorios se espera:

la generacion de datosuniformes en [0,1]

con perıodo grande

sin evidencia deregularidades

computacionalmenteeficiente

con poco requerimiento dememoria

2 El generador de estandar mınimo de tiene GEM estaspropiedades, y es por ende apropiado para situaciones dondese depende de la generacion de muchos datos (ej.: algoritmosprobabilısticos).

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 25: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

Conclusiones (2)

3 Los generadores modernos tiene un perıodos aun mas grande;agregan mecanismos sofisticados para mejorar la”pseudoindependencia”.

4 Antes de usar un generador se deben verificar que cumpla conlas exigencias mınimas.

5 Al desarrollar un nuevo generador se deben realizar pruebascuantitativas (estadısticas) para verificar sus propiedades.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 26: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Contenido

1 Introduccion

2 Generador lineal congruente

3 Pruebas de bondad para generadores de aleatorios

4 Secuencias con otras distribuciones

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 27: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Pruebas para pseudoaleatorios

Numeros aleatorios tienen la propiedad de uniformidad y deindependencia. Estas propiedades se pueden verificarestadısticamente.

Pruebas de uniformidad:comprueban que los datos siguen una distribucion uniforme(generalmente U[0, 1])

Pruebas de independencia:Hay una cantidad de pruebas que permiten verificar que untipo determinado de patron no esta presente en los datos

Los pseudoaleatorios generados deben tener (estadısticamente)estas propiedades.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 28: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Pruebas de uniformidad

Numeros aleatorios se distribuyen uniformemente en el intervalo[0,1]: No son densos en una parte del intervalo, escasos en otras.

Si se reparte el intervalo en subintervalos de igual longitud, seespera encontrar aproximadamente la misma cantidad de datos encada subintervalo.

Como se exige que los pseudoaleatorios tengan el mismocomportamiento que los aleatorios, se tiene que verificar si ungenerador produce datos uniformes.

La pruebas uniformidad comparan la cantidad de datosencontrados en cada subintervalo con la cantidad que teoricamentedeberıa tener suponiendo la distribucion uniforme.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 29: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Pruebas de independencia

Un ejemplo:

El diagrama de frecuencia de 100 pseudoaleatorios resulta en10 datos en el intervalo [0, 0,1), 10 datos en [0,1, 0,2), etc.Entonces los numeros pasan las pruebas de uniformidad sinproblema.

Pero si se revisa los datos especıficos, se encuentra que losprimeros 10 numeros estan entre 0 y 0.1, los segundos 10entre 0.1 y 0.2 etc.

Obviamente NO son aleatorios por falta de independencia.

Existen muchas pruebas para la independencia que analizan si hayestructura o regularidad en los datos.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 30: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Tipos de pruebas

Pruebas de uniformidad

Comparan el comportamientode los datos generados con ladistribucion uniforme U[0, 1].

Prueba χ2

(Prueba deKolmogorov-Smirnov)

Pruebas de independencia

Analizan si las datos generadosse comportan como datosverdaderamente aleatorios.Algunos ejemplos son:

Pruebas de serie

Pruebas de corridas

Prueba de poker

(...y muchos mas)

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 31: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

1. Prueba χ2 para la uniformidad

OJO

Revisar material adicional sobre la prueba χ2

Principio: Se aplica la prueba χ2 especıfica, que contrasta losdatos generados con una distribucion uniforme U[0, 1]

Detalles:

el numero de clases debe ser aproximadamenteigual a

√cantidad de datos

no se requieren estimaciones de parametros, poreso se tiene:grados de libertad = numero de clases− 1

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 32: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Prueba χ2 de uniformidad (proceso) (1)

1 Se los clasifican los n datos observados en√n clases FO.

2 Se determina la frecuencia esperada de cada clase.Como se trata de la distribucion U[0, 1], la frecuenciaobservada es igual para cada clase:

FE = numero de datosnumero de calses

3 Se determina el valor calculado de la χ2

χ2calc =

∑i

(FEi − FOi )2

FEi

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 33: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Prueba χ2 de uniformidad (proceso) (2)

4 Se determinan los grados de libertad:Como no se usan los datos para estimar parametros de ladistribucion, se tiene gl = clases-1

5 Se determina el valor crıtico de la χ2con gl grados delibertad, para un nivel de confianza α, usando la funcion dedistribucion acumulado F y su inversa:

F(χ2crit

)= 1− α

χ2crit = F−1(1− α)

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 34: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Prueba χ2 de uniformidad (proceso) (3)

6 Se toma la decision:

si χ2calc ≤ χ2

crit se acepta la hipotesis de que losdatos se distribuyen con U(0, 1]

si χ2calc > χ2

crit se rechaza la hipotesis de que losdatos se distribuyen con U(0, 1]

Rango de aceptación

Χcrit5 10 15 20 25 30

-0.02

0.00

0.02

0.04

0.06

0.08

0.10

0.12

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 35: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo: Problema

El generador definido por a = 106, c = 1283, m = 6075 se hadescrito como bueno. ‘?Pasa la prueba de uniformidad?

Se considera adecuado un nivel de confianza de α = 0,05.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 36: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo: Proceso

1 Se generan n = 100 datos y se los clasifican en√n = 10

clases. Esto es la frecuencia observada de los datos.(son muy pocos datos para poder mostrar el calculo)

2 Se determina la frecuencia esperada de cada clase:FE = 100

10 = 10

3 Se determina el valor calculado χ2calc =10.6 (ver calculo)

4 Se determinan los grados de libertad gl = clases-1=9

5 Se determina el valor crıtico de la χ2 con 9 grados delibertad, para un nivel de confianza α = 0,05: χ2

crit = 16,92

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 37: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo: Calculo

rango FO FE(FE − FO)2

FE0-0.1 11 10 0.1

0.1-0.2 6 10 1.6

0.2-0.3 16 10 3.6

0.3-0.4 9 10 0.1

0.4-0.5 7 10 0.9

0.5-0.6 11 10 0.1

0.6-0.7 10 10 0.

0.7-0.8 9 10 0.1

0.8-0.9 15 10 2.5

0.9-1 6 10 1.6

χ2calc = 10.6

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 38: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo: resultado

Decision:

Como χ2calc < χ2

crit se acepta la hipotesis que los datos tienen distribucionU(0, 1).

Conclusion:

El generador es bueno en cuanto a uniformidad.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 39: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo para otro generador

rango FO FE(FE − FO)2

FE0-0.1 14 10 1.6

0.1-0.2 6 10 1.60.2-0.3 16 10 3.60.3-0.4 6 10 1.60.4-0.5 7 10 0.90.5-0.6 14 10 1.60.6-0.7 7 10 0.90.7-0.8 8 10 0.40.8-0.9 16 10 3.60.9-1 6 10 1.6

χ2calc= 17.4

Grados de libertad gl = 9.Valor crıtico para α = 0,05:χ2crit = 16,92

Decision:Como χ2

calc > χ2crit se recha-

za la hipotesis que los datostienen distribucion U(0, 1).

Conclusion:

El generador es malo en cuan-

to a uniformidad.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 40: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

2. Pruebas de corridas para independencia

Una corrida es una sucesion de eventos similares. La longitud deuna corrida es el numero de eventos similares en la corrida.

Ejemplo:

Se lanza una moneda 10 veces, observando

C S S C C S S S C S

Las corridas son los sucesiones de eventos C y de eventos S.

En el experimento obtenemos 6 corridas (3 corridas de longitud 1,2 corridas de longitud 2 y 1 corrida de longitud 3).

El numero de corridas es una variable aleatoria con distribucionconocida, si el experimento es un experimento Bernoulli.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 41: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Pruebas de corridas: Principio

A partir de una secuencia de numeros pseudoaleatorios, seconstruye una secuencia de eventos provenientes de unexperimento Bernoulli.

Se determina el valor de la variable aleatoria “numero decorridas” , que se obtiene con la secuencia de pseudoaleatorios(corridas observadas)

Dado que se conoce teoricamente esta variable aleatoria, sedetermina si el valor observado esta suficiente suficientecercano al a la media de esta variable aleatoria (dentro de unintervalo con alta significancia)

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 42: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Tipos de pruebas de corrida

Existen varias pruebas de corrida, por ejemplo:

respecto al crecimiento o decrecimiento observado en lasecuencia de pseudoaleatorios

respecto a obtener valores encima o por debajo de la media(1/2)

(tambien se pueden comparar las longitudes de las corridascon las obtenidas aleatoriamente)

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 43: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo inicial (1)Corrida respecto a crecimiento/decrecimiento

Consideramos los datos

0.08, 0.09, 0.23, 0.29, 0.42, 0.55, 0.58, 0.72, 0.89, 0.91,

0.84, 0.74, 0.73, 0.71, 0.53, 0.41, 0.31, 0.18, 0.16, 0.11,

0.01, 0.09,0.30, 0.32, 0.45, 0.47, 0.69, 0.74, 0.91, 0.95,

0.91, 0.88, 0.86, 0.68, 0.54, 0.38, 0.36, 0.29, 0.13, 0.12

Son independientes?

Corridas respecto al crecimiento o decrecimiento:

* + + + + + + + + +

- - - - - - - - - -

- + + + + + + + + +

- - - - - - - - - -

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 44: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Desarrollo

Es poco probable que una secuencia de aleatorios tiene muchas oque tiene pocas corridas:

El numero mınimo de corridas es 1 (para una secuenciacreciente)

El numero maximo de corridas en una secuencia de Nnumeros es N − 1 (cuando cambia cada vez)

El numeros de corridas es una variable aleatoria a, que se puededescribir estadısticamente.

Una secuencia de pseudoaleatorias debe tener el mismocomportamiento.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 45: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Variable aleatoria: numero de corridas

La variable aleatoria a que describe el numero de corridas en unasecuencia aleatoria tiene los parametros:

µ =2n1n2

n1 + n2+ 1 (media)

σ2 =2n1n2(2n1n2 − n1 − n2)

(n1 + n2)2(n1 + n2 − 1)(varianza)

donde n1 y n2 son la cantidad de valores positivos y negativos en lasecuencia.

Y si hay suficiente datos (N > 20), se puede asumir que la variablealeatoria a tiene una distribucion normal.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 46: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo inicial (2)

Los 39 datos de la secuencia anterior tienen 18 valores ”+” y 21valores ”-”. Si la secuencia fuera aleatoria, deberıa tener alrededorde

µ =2n1n2

n1 + n2+ 1 =

2 · 18 · 21

18 + 21+ 1 = 20,4

corridas. Tiene 4.

¿Es 4 suficiente cerca a 20.4? Hay que emplear la varianza o suraız, la desviacion estandar:

σ =

√2n1n2(2n1n2 − n1 − n2)

(n1 + n2)2(n1 + n2 − 1)= 3,06

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 47: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Rango de aceptacion para el numero de corridas observadas

Si se observa una cantidad de corridas aobs cercana de la media, lasecuencia pseudoaleatoria es similar a una secuencia de aleatoriasen cuanto a este tipo de corridas.

Μ

-Σ Σ

Rango de aceptación

Infcrit Supcrit

15 20 25 300.00

0.05

0.10

0.15

Para un nivel de confianza de α = 0,05, el rangode aceptacion esta dado por

[Infcrit ,Supcrit ] = [−1,96 · σ + µ, 1,96 · σ + µ]

Si aobs se encuentra en el rango de aceptacion (intervalo deconfianza), no se puede rechazar la hipotesis que los datos sonindependientes. Se tiene un indicio para independencia, pero solo enel aspecto de la corridas.

En el otro caso, se tiene evidencia que hay dependencia en los datos(y se puede rechazar el generador).

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 48: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo inicial (3)

El intervalo de confianza para el ejemplo inicial es

[Infcrit ,Supcrit ] = [−1,96 · σ + µ, 1,96 · σ + µ] = [14,38, 26,39]

Se observaron 4 corridas, lo que es atıpico para una secuenciaaleatoria (no dentro del rango de aceptacion).

Se encontro un indicio para la dependencia entre los datos, por esohay que rechazar el generador.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 49: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejercicio (1)

Aplicar una prueba de corridas en cuanto acrecimiento-decrecimiento a la secuencia de los 40 datos siguientespara determinar si se tiene que rechazar la hipotesis deindependencia (usando α = 0,05).Secuencia

0.41, 0.68, 0.89, 0.94, 0.74, 0.91, 0.55, 0.62, 0.36 , 0.27,

0.19, 0.72, 0.75, 0.08, 0.54, 0.02, 0.01, 0.36, 0.16, 0.28,

0.18, 0.01, 0.95, 0.69, 0.18, 0.47, 0.23, 0.32, 0.82, 0.53,

0.31, 0.42, 0.73, 0.04, 0.83, 0.45, 0.13, 0.57, 0.63, 0.29

Comportamiento

* + + + - + - + - -

- + + - + - - + - +

- - + - - + - + + -

- + + - + - - + + -

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 50: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejercicio (2)

Los 39 datos de la secuencia tienen 19 valores ”+” y 20 valores ”-”.Por eso

µ =2n1n2

n1 + n2+ 1 = 20,5

σ =

√2n1n2(2n1n2 − n1 − n2)

(n1 + n2)2(n1 + n2 − 1)= 3,08

El intervalo de confianza para las corridas observadas por eso es:

[Infcrit ,Supcrit ] = [−1,96 · σ + µ, 1,96 · σ + µ] = [14,5, 26,5]

Dado que hay 26 corridas (aobs = 26), el generador pasa esteprueba de corrida (puede ser que otras pruebas no puede pasar).

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 51: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejercicio (3)Corridas encima y por debajo de 0.5

Aplicamos una prueba de corridas por encima y por debajo de lamisma a la secuencia para determinar si se tiene que rechazar lahipotesis de independencia (usando α = 0,05).Secuencia

0.41, 0.68, 0.89, 0.94, 0.74, 0.91, 0.55, 0.62, 0.36 , 0.27,

0.19, 0.72, 0.75, 0.08, 0.54, 0.02, 0.01, 0.36, 0.16, 0.28,

0.18, 0.01, 0.95, 0.69, 0.18, 0.47, 0.23, 0.32, 0.82, 0.53,

0.31, 0.42, 0.73, 0.04, 0.83, 0.45, 0.13, 0.57, 0.63, 0.29

Comportamiento

- + + + + + + + - -

- + + - + - - - - -

- - + + - - - - + +

- - + - + - - + + -

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 52: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejercicio (3) corridas encima y por debajo de 0.5

se obtienen 18 valores ”+” (n1) y 22 valores ”-” (n2). Por eso

µ =2n1n2

n1 + n2+ 1 = 20,8

σ =

√2n1n2(2n1n2 − n1 − n2)

(n1 + n2)2(n1 + n2 − 1)= 3,09

El intervalo de confianza para las corridas observadas por eso es:

[Infcrit ,Supcrit ] = [−1,96 · σ + µ, 1,96 · σ + µ] = [14,8, 26,9]

Se observan 17 corridas, lo que significa que el generador pasa estaprueba de corrida.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 53: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

3. Pruebas de serie para independencia

Principio

Este tipo de pruebas mide si las subsecuencias, tomando cadak−esimo dato, son uniformes en [0, 1].Si lo son, el generador pasa la prueba. Si no lo son, hay querechazar el generador.

Proceso

La prueba agrupa los datos de k en k, interpretando cada grupocomo los coordenados de un vector en el intervalo unitariok-dimensional [0, 1]k .Los vectores deben ser uniformes en [0, 1]k (el intervalo unitariok-dimensional).Si no son uniformes, los datos originales no son independientes.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 54: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Pruebas de serie: proceso (1)

1 Se divide el intervalo unitario k-dimensional en subintervalos(clases), teniendo en cuenta que

numero de clases=√

cantidad de datos

Dado que se agrupa de k en k, la cantidad de datos es

longitud de la secuencia

k

o sea, la cantidad de subintervalos es√longitud de la secuencia

k

entonces se debe dividir el intervalo [0,1] en cada dimension en la k − esima raızde esta cantidad, o sea se obtiene

k

√√longitud de la secuencia

k

subdivisiones en cada dimension

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 55: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Pruebas de serie: proceso (2)

2 Se cuentan las frecuencias observadas (FO) en cada clase.

3 Se determinan las frecuencias esperadas (FE ), suponiendo launiforme multidimensional.

4 Se aplica la prueba χ2 con grados de libertadgl = numero de clases− 1

5 Conclusion:

Si se acepta la hipotesis que los datos siguen una distribucionuniforme multidimensional, entonces no hay evidencia paradependencia en los datos. El generador pasa la prueba.En el otro caso se encontro una dependencia en los datos y sedebe rechazar el generador.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 56: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo para 2 dimensiones (1)

Se tiene 1200 datos pseudoaleatorios:0.41 0.68 0.89 0.94 0.74 0.91 0.55 0.62 0.36 0.27 0.19 0.720.75 0.08 0.54 0.02 0.01 0.36 ...

Se forman los 600 pares:(0.41, 0.68), (0.89, 0.94), (0.74, 0.91), (0.55, 0.62), (0.36, 0.27),(0.19 0.72) ...

Se agrupan los datos en√

600 ≈ 25 clases. Como elhistograma es 2-dimensional, se requieren

√25 = 5 clases en

cada dimension.

200 400 600 800 1000 1200

0.20.40.60.81.0

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 57: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo para 2 dimensiones (2)

H0,0L H1,0L

H1,1LH0,1L

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 58: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo para 2 dimensiones (3)

Tabla de frecuencias de 2 dimensiones:

0-0.2 0.2-0.4 0.4-0.6 0.6-0.8 0.8-1

0-0.2 22 31 35 27 25

0.2-0.4 30 22 23 17 34

0.4-0.6 17 18 24 27 24

0.6-0.8 22 27 16 22 30

0.8-1 18 17 23 19 26

La probabilidad teorica de cada celda es 1/25,por eso la frecuencia esperada FE es 600/25= 24.

Con esta informacion se puede aplicar la prueba χ2.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 59: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo para 2 dimensiones (4)

En la tabla se muestra el valor de(FE − FO)2

FE

0-0.2 0.2-0.4 0.4-0.6 0.6-0.8 0.8-1

0-0.2 0.17 2.04 5.04 0.38 0.04

0.2-0.4 1.5 0.17 0.04 2.04 4.17

0.4-0.6 2.04 1.5 0. 0.38 0.

0.6-0.8 0.17 0.38 2.67 0.17 1.5

0.8-1 1.5. 2.04 0.04 1.04 0.17

Se obtiene χ2calc =29.19

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 60: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo para 2 dimensiones (5)

Grados de libertad gl : Como no se usa los datos para estimarparametros de la distribucion, se tiene gl = 24.

El valor crıtico de la χ2 con 24 grados de libertad con α = 0,05es: χ2

crit =36.42

Decision: Como χ2calc ≤ χ2

crit se acepta la hipotesis que los datostienen distribucion uniforme bidimensional

Conclusion:

El generador pasa esta prueba de serie de dimension 2.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 61: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo para 3 dimensiones (1)

En la prueba 3-dimensional con los mismos 1200 datospseudoaleatorios se obtienen 400 tripletas; por eso se debe usar√

400 ≈ 20 clases. Y dado que se quiere agrupar los datos en 3dimensiones, se debe partir en 3

√20 ≈ 3 el intervalo en cada

dimension; resultando en un total de 27 clases.

Se determina la frecuencia observada FO en cada clase por conteo.La frecuencia esperada FE de cada clase es 400

27 =14.8. Se obtieneun valor calculado de xcalc = 42.74 (prox. paginas)

El valor crıtico de la χ2 con 26 grados de libertad es xcrit = 38.89.

Siendo xcalc > xcrit se rechaza la hipotesis de uniformidad. Elgenerador no pasa la prueba y debe ser descartado.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 62: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo para 3 dimensiones (2)

clase FO clase FO clase FO

1-1-1 15 2-1-1 15 3-1-1 13

1-1-2 11 2-1-2 19 3-1-2 24

1-1-3 15 2-1-3 20 3-1-3 16

1-2-1 13 2-2-1 11 3-2-1 10

1-2-2 18 2-2-2 16 3-2-2 7

1-2-3 22 2-2-3 24 1-2-3 8

1-3-1 20 2-3-1 6 1-3-1 11

1-3-2 18 2-3-2 12 1-3-2 9

1-3-3 17 2-3-3 15 1-3-3 11

Para los subintervalos se escribe 1 :[0, 1/3], 2 :[1/3, 2/3],3 :[2/3, 1] ypara la clase 3D [0, 1/3]×[1/3, 2/3]×[2/3, 1] se escribe 1-2-3

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 63: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Ejemplo para 3 dimensiones (3)

clase χ2 clase χ2 clase χ2

1-1-1 0. 2-1-1 0 3-1-1 0.22

1-1-2 0.98 2-1-2 1.18 3-1-2 5.69

1-1-3 0. 2-1-3 1.81 3-1-3 0.09

1-2-1 0.22 2-2-1 0.98 3-2-1 1.56

1-2-2 0.68 2-2-2 0.09 3-2-2 4.12

1-2-3 3.48 2-2-3 5.69 1-2-3 3.13

1-3-1 1.81 2-3-1 5.24 1-3-1 0.98

1-3-2 0.68 2-3-2 0.53 1-3-2 2.28

1-3-3 0.32 2-3-3 0. 1-3-3 0.98

χ2calc =42.74

Para los subintervalos se escribe 1 :[0, 1/3], 2 :[1/3, 2/3],3 :[2/3, 1] ypara la clase 3D [0, 1/3]×[1/3, 2/3]×[2/3, 1] se escribe 1-2-3

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 64: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

4. Pruebas de Poker para independencia

Principio

Se interpreta los k dıgitos decimales de un numeropseudoaleatorio como una mano de k cartas de un juego decartas, que estan numeradas de 0 a 9.

Si los numeros son independientes, se deben ocurrir losmismos patrones que en un juego de poker, con las mismasprobabilidades:todas las cartas iguales, cartas en orden creciente odecreciente, ....(de acuerdo con k).en este caso, el generado pasa la prueba.

Si los dıgitos de los numeros no son semejantes a las manosdel juego, se debe rechazar el generador.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 65: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Pruebas de Poker: Proceso (1)

1 Se buscan patrones que pueden ocurrir en secuenciasaleatorias conformadas por los numeros de 0 a 9, agrupadosen subsecuencias de tamano k (las manos). Los patrones sermutuamente disjuntos (una mano no debe contabilizarse en 2patrones) y exhaustivos (cada mano concuerda con uno de lospatrones).

2 Se calculan las probabilidades pi teoricas de cada patron i(suponiendo aleatoriedad).

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 66: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Pruebas de Poker: Proceso (2)

3 Se generan n numeros pseudoaleatorios con k dıgitos (manos).

4 Se aplica una prueba χ2, donde

las clases corresponden a los patrones,las frecuencias observadas FO se determinan con las manos,las frecuencias esperadas FE de un patron i corresponde api ∗ n.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 67: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Pruebas de Poker: Proceso (3)

5 Conclusion:

Si se acepta igual distribucion entre los datos generados y lospatrones observados, el generador pasa la prueba;si no pasa, debe ser rechazado por falta de independencia.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 68: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Pruebas de Poker: Ejemplo para k = 3 (1)

Tenemos los eventos teoricos del juego:

3 cartas iguales probabilidad: 10/103 = 0,012 iguales, 1 diferente probabilidad: 10 · 9 · 3/103 = 0,273 diferentes probabilidad: 10 · 9 · 8/103 = 0,72

Se genera una secuencia (n = 40):

0.959, 0.713, 0.178, 0.427, 0.299, 0.153, 0.087, 0.615, 0.188,

0.972,

0.239, 0.425, 0.372, 0.015, 0.316, 0.532, 0.216, 0.466, 0.808,

0.444,

0.084, 0.577, 0.166, 0.182, 0.904, 0.296, 0.854, 0.317, 0.051,

0.229,

0.299, 0.199, 0.185, 0.222, 0.954, 0.582, 0.283, 0.324, 0.913,

0.158.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 69: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Pruebas de Poker: Ejemplo para k = 3 (2)

Se aplica la prueba χ2:

clase FO FE χ2

3 cartas iguales 2 0,01 · 40 = 0,4 6.4

2 iguales, 1 diferente 10 0,27 · 40 = 10,8 1.6

3 diferentes 28 0,72 · 40 = 28,8 1.6

xcalc = 9.6

El valor crıtico de la χ2 con 2 grados de libertad es xcrit = 6.0.

Como xcalc > xcrit , la distribucion observada es distinta de ladistribucion esperada, por ende se descarta el generador.

Nota: Para fines didacticos se usaron muy pocos datos y muypocos patrones (recuerden: clases ≈

√datos), para que valga la

prueba en un caso real hay que pensar en mas clases y mas datos.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 70: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Prueba χ2 para la uniformidad2. Pruebas de corridas para independencia3. Pruebas de serie para independencia4. Pruebas de poker para independencia

Conclusiones

Entre las pruebas principales para revisar la uniformidad deun generador se encuentra la prueba χ2 (es una prueba quesirve en terminos generales para verificar si una variablealeatoria sigue una distribucion hipotetica).Existen muchas pruebas de independencia para mostrar quelos datos generados tiene un comportamiento que es similar auna secuencia aleatoria; cada prueba chequea un solo aspectode una posible regularidad. Por eso se debe realizar con exitouna gran variedad de pruebas de independencia para verificarla bondad del generador en cuanto a ausencia deregularidades. Si una de estas pruebas resulta en el rechazo dela hipotesis de independencia, el generador debe ser rechazado.El generador de estandar mınimo ha sido probadoexitosamente una cantidad grande de pruebas deindependencia.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 71: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Contenido

1 Introduccion

2 Generador lineal congruente

3 Pruebas de bondad para generadores de aleatorios

4 Secuencias con otras distribuciones

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 72: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Secuencias con otras distribuciones

OJO

Revisar material adicional sobre distribuciones

Principio:

Se generan pseudoaleatorios con distribucion uniforme U(0, 1);

luego se convierten para seguir la distribucion deseada.

Metodos:

1 Metodo de la transformada inversa

2 Metodo de la convolucion

3 Metodo de aceptacion y rechazo

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 73: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Metodo de la transformada inversa (1)

Idea:

Sea F la funcion de distribucion acumulada de la distribucion quese quiere generar.

Sea F (a) = r .

Sea pU([0, r ]) la probabilidad del intervalo [0, r ], suponiendodistribucion la uniforme,y pF ((−∞, a]) la probabilidad del intervalo (−∞, a], suponiendodistribucion deseada:

pU([0, r ]) = pF ((−∞, a]) = r

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 74: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Metodo de la transformada inversa (2)

Es decir:si ri es una secuencia de aleatorios∼ U[0, 1],entoncesai = F−1(ri ) es una secuencia denumeros que siguen la distribuciondeseada F .

a

r

1FHxL

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 75: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

La distribucion exponencialpor el metodo de la transformada inversa

La funcion de distribucion acumulada de la distribucionexponencial con parametro λ esta dada por:

F (x) = 1− e−λx

F (a) = r ⇒ 1− e−λa = r ⇒ a = F−1(r) = − 1

λln (1− r)

Datos con distribucion exponencial:

a = − 1

λln r

si r es uniforme en (0,1]}

Nota: (1 − rn)n∈N tiene las mismas propiedades respecto a uniformidad yindependencia que la secuencia (rn)n∈N . Por eso se pudo simplificar lageneracion del dato exponencial.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 76: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Ejemplo: distribucion exponencial con λ = 1,5

Para r = 0,5520, se obtiene

a = F−1(0,5520) = − 1

1,5ln (0,5520) = 0,3961

r a

0.5520 0.3961

0.4881 0.4782

0.7512 ⇒ 0.1907

0.3124 0.7756

0.5696 0.3752

0.7238 0.2155

0.9438 0.0386

Diagrama de frecuencias de 100numeros pseudoaleatorios con dis-tribucion exponencial

0.125 0.625 1.125 1.625 2.125

5

10

15

20

25

30

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 77: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

La distribucion uniforme U(A,B)por el metodo de la transformada inversa

La funcion de distribucion acumulada de la distribucion uniformeU(A,B) esta dada por:

F (x) =x − A

B − A

F (a) = r ⇒ a−AB−A = r ⇒ a = F−1(r) = r(B − A) + A

Es decir, simplemente se multiplica el aleatorio en [0,1] con lalongitud B −A y se suma el punto inicial A de la uniforme U(A,B).

para r aleatorio en [0,1].

Datos con distribucion uniforme:

a = (B − A)r + A

si r es uniforme en (0,1]}

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 78: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Ejemplo: distribucion uniforme U(10, 20)

Para r = 0,5520, se obtiene a = F−1(0,5520) = 0,5520 · 10 + 10

r a

0.5520 15.520

0.4881 14.881

0.7512 ⇒ 17.512

0.3124 13.124

0.5696 15.696

0.7238 17.238

0.9438 19.438

Diagrama de frecuencias de 100numerospseudoaleatorios con distribucionU(10, 20)

10.5 12.5 14.5 16.5 18.5

2

4

6

8

10

12

14

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 79: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

La distribucion Normal estandarizada N(0, 1) (1)por el metodo de la transformada inversa

La funcion de distribucion acumulada de la normalFN(0,1)(x) = 1√

´ x−∞ e−

12t2dt ,

se tiene que determinar por integracion numerica. Como resultadose obtiene una tabla de puntos, las valores intermedios se obtienepor interpolacion lineal. A esta aproximacion de la funcion dedistribucion acumulada se puede aplicar el metodo de latransformada inversa.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 80: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

La distribucion Normal estandarizada N(0, 1) (2)por el metodo de la transformada inversa

Ejemplo:

x F (x)

-3 0.0013

-2 0.0228

-1 0.1586

0 0.5

1 0.8413

2 0.9772

3 0.9987

Metodo de la inversa transforma-da, aplicada para la aproximacionde F

-2 -1 a 1 2

0.2

0.4

0.6

r

1

(En realidad se debe tabular F en muchos puntos)

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 81: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

La distribucion Normal estandarizada N(0, 1) (3)por el metodo de la transformada inversa

Para r ∼ U(0, 1) se busca en la tabla el intervalo[F (xk),F (xk+1)] que contiene r .

r es combinacion de las extremos del intervalo:r = λF (xk) + (1− λ)F (xk+1);

despejando λ se obtiene λ = F (xk+1)−rF (xk+1)−F (xk) .

a es la combinacion correspondiente de xk y xk+1:a = λxk + (1− λ)xk+1.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 82: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Ejemplo: distribucion normal N(0, 1) (1)

Para r = 0,5520, se obtiener ∈ [0,5, 0,8413];

λ = 0,8413−0,55200,8413−0,5

= 0,847641;

a = 0,847641 · 0 + (1− 0,847641) · 1 =

=0.152359

Para r = 0,4881, se obtiener ∈ [0,1586, 0,5];

λ = 0,8413−048810,8413−0,5

= 0,0348565;

a = 0,0348565 ·(−1)+(1−0,0348565) ·0 =

=-0.0348565

r intervalo de r λ intervalo de a a

0.5520 [0,5, 0,8413] 0.847641 [0, 1] 0.152359

0.4881 [0,1586, 0,5] 0.0348565 [−1, 0] -0.0348565

0.7512 [0,5, 0,8413] 0.263991 [0, 1] 0.736009

0.3124 [0,1586, 0,5] 0.549502 [−1, 0] -0.549502

0.5696 [0,5520, 0,8413] 0.796074 [0, 1] 0.203926

0.7238 [0,5520, 0,8413] 0.344272 [0, 1] 0.655728

0.9438 [0,8413, 0,9772] 0.245769 [1, 2] 1.75423

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 83: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Ejemplo: distribucion normal N(0, 1) (2)

Diagrama de frecuencias de 100 numeros pseudoaleatorios con ladistribucion que aproximaN(0, 1):

-2.5 -1.5 -0.5 0.5 1.5 2.5

5

10

15

20

25

30

35

Notas:

Observese que esta aproximacion no es buena dado que se usa muypocos puntos. Para aplicaciones practicas se deberıan usar muchomas puntos tabulados.Existen otros metodos para generar datos con distribucion N(0,1)que no requieren la tabulacion de la normal (ver mas adelante).

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 84: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Otras distribuciones Normalesa partir de la Normal estandarizada

Si se tiene datos que siguen la distribucion normal estandarizada,se pueden convertir a datos con distribucion N(µ, σ), sumando lamedia µ(traslada la distribucion) y multiplicando por σ (anchurade la distribucion)

Datos con distribucion normal N(µ, σ):

aN(µ,σ) = aN(0,1) · σ + µ

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 85: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Ejemplo: distribucion N(10, 2)

Convertir los datos del ejemplo anterior a datos con N((10, 2))

r aN(0,1) aN(10,2)

0.5520 0.152359 10.3047

0.4881 -0.0348667 9.93027

0.7512 0.736009 11.472

0.3124 -0.549663 8.90067

0.5696 0.203926 10.4079

0.7238 0.655728 11.3115

0.9438 1.75423 13.5085

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 86: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Distribuciones discretaspor el metodo de la transformada inversa

Aunque la funcion de distribu-cion acumulada de una distri-bucion discreta no tiene inver-sa, se puede aplicar un pro-cedimiento parecido al meto-do de la transformada inversapara generar distribuciones dis-cretas.

Para la distribucion discreta dada por susvalores y su probabilidad (vi , pi ) se usala probabilidad acumulada pai en lugarde la funcion de distribucion F :

vi pi pai

v1 p1 p1

v2 p2

∑2i=1 pi

......

...

vn pn∑n

i=1 pi = 1

Dato uniforme

Para r ∼ U[0, 1] se define

a = vi si r ∈ [pai−1, pai )

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 87: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Ejemplo 1: una distribucion discreta empırica

vi pi pai1 0.2 0.2

5 0.1 0.3

8 0.5 0.8

10 0.2 1

Para r ∼ U[0, 1] se define:

a =

1 si r < 0,25 si 0,2 ≤ r < 0,38 si 0,3 ≤ r < 0,810 si 0,8 ≤ r < 1

Por ejemplo:r a

0.5520 80.4881 80.7512 80.2124 50.5696 80.0723 10.9438 10

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 88: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Ejemplo 2: distribucion Bernoulli

La generacion de datos condistribucion Bernoulli con parametrop es muy sencillo y rapido

Dato con distribucion Bernoulli

a =

{exito si r < pfracaso en el otro caso

Ejemplo para p = 0,7r a

0.5520 exito

0.4881 exito

0.7512 fracaso

0.3124 exito

0.5696 exito

0.7238 fracaso

0.9438 fracaso

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 89: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Ejemplo 3: distribucion Binomial (1)

Ejemplo: n = 6, p = 0,7Definicion de las probabilidades, usando

p(i) =

(ni

)0,7i 0,3n−i , 0 ≤ i ≤ n

valor probabilidad probabilidad acumulada

0 0.000729 0.000729

1 0.010206 0.010935

2 0.059535 0.07047

3 0.18522 0.25569

4 0.324135 0.579825

5 0.302526 0.882351

6 0.117649 1

Datos a condistribucion binomial(0,3, 6):

r a

0.5520 4

0.4881 4

0.7512 5

0.3124 4

0.5696 3

0.7238 5

0.9438 6

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 90: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Ejemplo 3: distribucion Binomial (2)

El metodo de la inversa transformada para generar una binomial(n, p) es eficiente, si n es pequeno.

Si n es grande (por ejemplo n = 200) se tiene que calcular muchasprobabilidades p(i) y probabilidades acumuladas pa(i).

En este caso se recomienda otro metodo de generacion: el metodode convolucion para generar la distribucion binomial.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 91: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

2. Metodo de convolucion

Principio

Se expresa la variable aleatoria con distribucion deseada comofuncion de otras con distribuciones que se generan facilmente.

Se generan estas variables aleatorias y se aplica la funcion.

El resultado es un valor de la variable aleatoria deseada

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 92: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Distribucion binomialpor el metodo de convolucion

Dado un experimento Bernoulli con probabilidad de exito p, lavariable aleatoria X : numero de exitos en n repeticiones delexperimento Bernoulli sigue una distribucion binomial conparametros p y n.

Es decir, generando n numeros con distribucion Bernoulli, ycontando el numero de exitos se obtiene un numero condistribucion binomial.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 93: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Ejemplo: La binomial con parametros p = 0,7; n = 6.

r1, r2, ..., r6 a

0.0530374 0.808378 0.903386 0.538051 0.875958 0.513395 3

0.932824 0.261447 0.879235 0.456081 0.851364 0.566246 3

0.926326 0.648505 0.0858267 0.603867 0.297316 0.126606 5

0.990079 0.367285 0.693317 0.125736 0.434217 0.300056 5

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 94: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Distribucion normalpor el metodo de convolucion

El promedio de n datos con igual distribucion cualquiera tiende auna distribucion normal (teorema central de lımite). El metodo deconvolucion usa este teorema para generar datos normalmentedistribuidos con promedio de datos ∼ U[0, 1].

La distribucion uniforme U[0, 1] tiene media 1/2 y varianza 1/12,por eso: la suma de 12 datos ∼ U[0, 1] tiene media 6 y varianza 1,por eso

a =

(12∑i=1

ri

)− 6 ∼ N[0, 1]

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 95: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Ejemplo: Distribucion normal

r1, r2, ..., r12 a

0.0530374 0.808378 0.903386 0.5380510.875958 0.513395 0.851364 0.5662460.932824 0.261447 0.879235 0.456081 1.6394

0.926326 0.648505 0.0858267 0.6038670.297316 0.126606 0.434217 0.3000560.990079 0.367285 0.693317 0.125736 -0.400863

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 96: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

3. Metodo de aceptacion y rechazo para la distribucionPoisson

La distribucion Poisson esta definida para los enteros ≥ 0 por:

p(i) = e−ααi

i !, es decir, no se pueden tabular las probabilidades discretas.

Por eso se vuelve sumamente lento un metodo de de transformadainversa.

En su vez, se usa la relacion entre la distribucion Poisson y Exponencial:Si el tiempo entre llegadas sigue una distribucion exponencial conparametro α, entonces la probabilidad de obtener i llegadas en unintervalo de tiempo de longitud 1 sigue una distribucion Poisson conparametro α.

Entonces: para generar un numero de llegadas de acuerdo con laprobabilidad Poisson, se generan y suman la cantidad necesaria denumeros con distribucion exponencial hasta pasar por el intervalo unitario.

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 97: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Ejemplo: distribucion Poisson con α = 2

r tiempo entre llegadas tiempo de llegada n (Poisson)

0.5520 2.97104 2.97104 0

0.4881 0.358617 0.358617

0.7512 0.143062 0.501679

0.3124 0.581735 1.08341 2

0.5696 0.28141 0.28141

0.7238 0.16162 0.443031

0.9438 0.0289205 0.471951

0.9725 0.0139426 0.485894

0.2739 0.647496 1.13339 4

0.4004 0.457646 0.457646

0.7213 0.16335 0.620996

0.0031 2.88818 3.50917 2

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 98: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Calculo eficiente de la distribucion Poisson (1)

Para calcular mas eficientemente se usa que la exponencial conparametro α se genera por a = − 1

α ln(r); r ∼ U{0, 1]

Se busca n tal que tal que

− 1α

(ln(r1) + ln(r2) + ...+ ln(rn)) ≤ 1 < − 1α

(ln(r1) + ln(r2) + ...+ ln(rn+1))

ln(r1) + ln(r2) + ...+ ln(rn) ≥ −α > ln(r1) + ln(r2) + ...+ ln(rn+1)

ln(r1 · r2 · ... · rn) ≥ −α > ln(r1 · r2 · ... · rn+1)

r1 · r2 · ... · rn ≥ e−α > r1 · r2 · ... · rn+1

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 99: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Calculo eficiente de la distribucion Poisson (2)

Algoritmo (generacion de numeros con distribucion Poisson):

(random[0, 1] llama generador de uniforme)

A← e−α; n← 0; R ← 1;

while R ≥ A

R ← R · random[0, 1]; n++

n← n − 1; devolver n

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios

Page 100: Simulaci on Computacional Tema 1: Generaci on de …...Pruebas de bondad para generadores de aleatorios Secuencias con otras distribuciones Ejemplos de secuencias que NO son aleatorias

IntroduccionGenerador lineal congruente

Pruebas de bondad para generadores de aleatoriosSecuencias con otras distribuciones

1. Metodo de la transformada inversa2. Metodo de convolucion3. Metodo de de aceptacion y rechazo

Conclusion

Basado en un generador de aleatorios uniformes en [0,1] sepueden generar datos que siguen otras distribuciones deprobabilidad.

Se aplican procesos especıficos de transformacion de los datosuniformes generados, apoyandose en conceptos generalesestadısticos.

Por ende, la calidad de las distribuciones generadas dependede la calidad del generador original. Otra vez se recomienda elgenerador de estandar mınimo.

Para verificar si la distribucion generada por esteprocedimiento es la deseada, se puede aplicar una prueba χ2

(reemplazando FE por los valores que corresponden a ladistribucion deseada)

Irene Tischer. Simulacion computacional Tema 1: Generacion de numeros aleatorios