Está en la página 1de 26

OPTIMIZACIÓN Y SIMULACIÓN

Generación de números aleatorios

Julian Reyes
Agenda 22

• Técnicas de Generación de Números Aleatorios


– Método Lineal de Congruencias

• Pruebas (Tests) para Números Aleatorios


– Frecuencia
– Autocorrelación
Introducción 33

Áreas de la Informática: algoritmos aleatorizados,


verificación de algoritmos, complejidad de algoritmos,
criptografía,...

Estadística: métodos de muestreo y remuestreo,


contrastes Montecarlo, Inferencia Bayesiana...

Aplicaciones como juegos para ordenador, protectores de


pantallas,...

¿Es fácil encontrar generadores de números aleatorios?


¿Qué tan buenos son? ¿Cómo saberlo?
Generación de números aleatorios 44

Problema: escoger una fuente de números aleatorios y obtener de esta


fuente suficientes números para nuestro experimento de simulación.
Orígenes históricos:
Tablas de números aleatorios:
• Tippet (1927): 10.000 números aleatorios de 4 dígitos basados en Censos.
• Royo y Ferrer (1954): 250.000 resultados de la lotería nacional (INE).
• Rand Corporation (1954): 1 millón de números aleatorios con el uso de
mecanismos físicos: ruleta electrónica, ruido electrónico de circuitos, etc.

Inconveniente: Reproducibilidad.
Von Neumann: producir números que parezcan aleatorios, empleando
operaciones aritméticas del computador.
- Se parte de una semilla inicial.
- Generar una sucesión de números.
Secuencia de números aleatorios 55

Definición clásica de Kolmogorov (Kolmogorov y Uspenskii, 1987): Una


sucesión de números es aleatoria si no puede producirse eficientemente
mediante un programa más corto que la propia serie.
Definición basada en la Estadística. Una sucesión de números aleatorios
(ui) es una sucesión de números en (0,1) con las propiedades de:
• Uniformidad en (0,1)
• Aleatoriedad o independencia estadística.
Otras propiedades relativas a la eficiencia computacional:
1. Rapidez.
2. Poco consumo de memoria.
3. Portabilidad.
4. Sencillez en la implementación.
5. Reproducibilidad y mutabilidad.
6. Periodo suficientemente largo.
66

Técnicas de Generación de Números Aleatorios


Técnicas de Generación de Números Aleatorios 77

Una secuencia de Números Aleatorios debe tener dos


propiedades estadísticas importantes:

• Uniformidad: espacio equiprobable – todo número tiene la


misma probabilidad de ser escogido.

• Independencia: la elección de uno no depende de la elección


de otro.
Técnicas de Generación de Números Aleatorios 88

La idea es generar una secuencia de números entre 0 y 1 que imite las


propiedades de uniformidad e independencia. Estas secuencias se
construyen por medio de una función determinista. Los generadores
de números deben poseer las siguientes propiedades:

1. Secuencias no correlacionadas.
2. Periodo largo: idealmente las secuencias no deberían repetirse, en
la práctica una repetición debe ocurrir después de un gran
conjunto de números generados.
3. Uniformidad.
4. Eficiencia: rutinas portables y rápidas.
Método Lineal de Congruencias 99

Producir una secuencia de números enteros X1, X2,….. entre 0 y (m-1)


mediante la siguiente relación recursiva.

• Xo es la Semilla, el valor inicial.


• m es el módulo.
• La operación n mod m devuelve el residuo de n/m.
• a es la constante multiplicativa.
• c es el incremento, si c≠0 es llamado método mixto de congruencia. Si c=0
es llamado método multiplicativo de congruencia.
• a, c ∈ 0,1, … , 𝑚 − 1
• La escogencia de a, c, m y Xo afecta drásticamente las propiedades
estadísticas y la longitud del ciclo.
• Los enteros aleatorios se generan entre [0, m-1]. Para convertir los enteros
en números entre 0 y 1, se dividen por m.
• Con una misma semilla tendremos la misma secuencia: reproductibilidad y
mutabilidad.
1
Método Lineal de Congruencias: Ejemplo 10
0

a = 17, Xo =27, c=43 y m=100.

Los valores Xi y Ri correspondientes serían:


1
Método Lineal de Congruencias: Ejemplo 2 11
1

Multiplicativos: c = 0
1
Método Lineal de Congruencias: Observaciones 12
2

• Un generador congruencial tiene ciclos.


• La longitud del ciclo depende de la selección de los
parámetros
• Dentro de selecciones de parámetros que conducen a una
misma longitud de ciclo, algunas salidas parecen más
aleatorias que otras
• La representación de los pares (xi, xi+1) sugiere que éstos se
disponen en un número finito de rectas (representación de
tuplas -> hiperplanos).
• Trivialmente, el periodo máximo m se alcanza para a = b = 1.
• Cuando b = 0 (generador multiplicativo) el máximo periodo es
m-1.
1
Características importantes de un buen generador 13
3

Máxima Densidad:

• De tal manera que se reduzcan las brechas entre los números


generados en el intervalo [0, 1].
• Problema: Ri puede solamente asumir valores en el conjunto
I= {0, 1/m, 2/m, …, (m-1)/m} por lo cual cada Ri es discreto en I
en vez de continuo en el intervalo [0,1]
• Solución: Considere un módulo grande. Ej: (231)-1
1
Características importantes de un buen generador 14
4

Máximo Periodo:

• Para lograr máxima densidad y evitar la recurrencia de las


mismas secuencias de números generados.
• Escogencia apropiada de a, c, m y X0 [Law and Kelton, 2000]
• m potencia de 2 y c≠0. Máximo periodo posible, P = m =
2b, a = 1+4k, k es un entero.
• m potencia de 2 y c=0. Máximo periodo posible P = m/4,
se logra con X0 par y a=3+8k ó a = 5+8k para un k entero.
• m un número primo y c=0. Máximo periodo posible
P=m-1, el multiplicador a tiene propiedad de que el k más
pequeño es k=m-1, tal que ak-1 es divisible por m.
1
Otros generadores 15
5

• Registro de desplazamiento
• Fibonacci retardados
• No lineales
• Combinación de generadores
• Generadores paralelos
• Generadores comerciales ¿Qué algoritmos implementan?
• IMSL
• SIMSCRIPT II.5
• S-PLUS
• SPSS
• Unix
• Visual Basic
• Java
1
16
6

Pruebas (Tests) para Números Aleatorios


1
Pruebas para Números Aleatorios 17
7
1
Pruebas de autocorrelación 18
8

• Cálculo de la correlación entre números y comparación de la


correlación de la muestra con la esperada (0 cero).
• Los números en una secuencia pueden estar relacionados.
• Seleccionaremos los números con la misma distancia.
• El test requiere el cálculo de la autocorrelación entre m números
(m=lag=espacio entre los números que están siendo
examinados).
• i es el índice o número de la secuencia en donde se está
empezando. Por lo tanto, nos interesa conocer la
autocorrelación 𝜌𝑖𝑚 entre los siguientes números de interés,
donde M es el mayor entero tal que i + 𝑀 + 1 𝑚 ≤ N, y N es el
número de valores en la secuencia
1
Pruebas de autocorrelación 19
9
Una autocorrelación diferente de cero implica DEPENDENCIA, se aplica pues una
prueba de dos colas:
𝐻0 : 𝜌𝑖𝑚 = 0
𝐻1 : 𝜌𝑖𝑚 ≠ 0

para valores grandes de M, la distribución del estimador de 𝜌𝑖𝑚 es


aproximadamente normal, si los valores 𝑅𝑖 , 𝑅𝑖+𝑚 , 𝑅𝑖+2𝑚 , … , 𝑅𝑖+ 𝑀+1 𝑚 no están
correlacionados. El estadístico de prueba se puede escribir como:

𝜌ො𝑖𝑚
𝑍0 = ~𝑁𝑜𝑟𝑚𝑎𝑙 0, 1
𝜎𝜌ෝ𝑖𝑚
Bajo el supuesto de independencia para M grande.
𝑀
1
𝜌ො𝑖𝑚 = ෍ 𝑅𝑖+𝑘𝑚 𝑅𝑖+ 𝑘+1 𝑚 − 0.25
𝑀+1
𝑘=0
Y usando la ecuación de Schmidt y Taylor se obtiene:
13𝑀 + 7
𝜎𝜌ෝ𝑖𝑚 =
12 𝑀 + 1
2
¿Cuándo rechazo 20
0

Después de calcular 𝑍0 no se debe rechazar la hipótesis nula de


independencia si:

𝜌ො𝑖𝑚
−𝑍𝛼/2 ≤ 𝑍0 = ≤ 𝑍𝛼/2
𝜎𝜌ෝ 𝑖𝑚
2
Ejemplo 21
1

Aplique el test de autocorrelación de Schmidt y Taylor para la 3ª, 8ª, 13ª


… observación usando un nivel de significancia del 5%
2
Ejemplo 22
2
2
Bondad de ajuste o uniformidad 23
3

Contraste χ2 de Pearson: más antiguo y válido en distribuciones continuas y


discretas.

Problema: es poco potente, por lo que permite justificar el rechazo de una


hipótesis, pero proporciona escaso soporte para su aceptación.

Dada una muestra x1,...,xn (n ≥ 25) de una población con función de


distribución Fn(x) desconocida y se desea contrastar la hipótesis:

H0: Fn(x) = F0(x),

para todo x∈ 𝑅, donde F0(x) está completamente especificada (conocemos la


distribución y los parámetros de la misma), frente a la alternativa

Ha: Fn(x) ≠ F0(x) para algún x.

En este caso, F0(x) = Uniforme(0,1).


2
Bondad de ajuste o uniformidad 24
4

1. Agrupamos los n datos en k clases mutuamente excluyentes, k ≥ 5, que cubran


todo el rango posible de valores, siendo Oi a la frecuencia observada en la clase i.
2. Calculamos la frecuencia esperada, Ei, de la clase i de acuerdo con el modelo F0(x).
Conociendo la probabilidad que asigna el modelo a la clase i tenemos
Ei = n x pi
3. Calculamos la discrepancia entre las frecuencias observadas y las esperadas
mediante el modelo F0(x):

que se distribuye aproximadamente como una χ2 cuando el modelo es correcto.

4. Determinamos los grados de libertad:


• Si el modelo especifica las probabilidades pi antes de tomar la muestra, entonces el
nº de grados de libertad es k – 1.
• Si las pi se han calculado estimando r parámetros del modelo de máxima
verosimilitud, entonces el nº de grados de libertad es k – r – 1.
5. Rechazamos el modelo cuando X2 ≥ χ2α(k – r – 1) para un nivel de significación
pequeño (0.05, 0.01, 0.001).
2
Bondad de ajuste o uniformidad 25
5

En nuestro caso, para contrastar la uniformidad escogeremos k subintervalos de [0,1]


de la misma longitud, siendo pi = 1/k y, por lo tanto, Ei = n/k y r = 0, ya que no ha sido
necesario estimar ningún parámetro de la distribución para obtener pi.
2
Tarea 26
6

Genere un arreglo de 10 números pseudoaleatorios con los siguientes


parámetros:
• m = 131
• a = 63
• c=0
• X0 = 119.

Realice las pruebas de aleatoriedad y uniformidad respectivas.

También podría gustarte