Captulo 4 Nmeros Aleatorios Simulacin2002 Hctor Allende Nmeros

  • Slides: 50
Download presentation
Capítulo 4 Números Aleatorios Simulación/2002 Héctor Allende

Capítulo 4 Números Aleatorios Simulación/2002 Héctor Allende

Números Aleatorios • Elemento Central en la Simulación digital. • Definición formal controvertida. •

Números Aleatorios • Elemento Central en la Simulación digital. • Definición formal controvertida. • Elemento esencial en muchas áreas del conocimiento Ingeniería, Economía, Física, Estadística, etc. • Definición intuitiva: Una sucesión de números aleatorios puros, se caracteriza por que no existe ninguna regla o plan que nos permita conocer sus valores. • Los números aleatorios obtenidos a través de algoritmos recursivos se llaman pseudoaleatorios. Simulación/2002 Héctor Allende

Números Aleatorios Disponer de un buen generador de números aleatorios es clave en: •

Números Aleatorios Disponer de un buen generador de números aleatorios es clave en: • • Computación Aleatorizada Computación Evolutiva Algoritmos Aleatorizados Verificación de Algoritmos Validación de Algoritmos Criptografía etc. Simulación/2002 Héctor Allende

Números Aleatorios • La gran disponibilidad de generadores de números aleatorios en muchos entornos

Números Aleatorios • La gran disponibilidad de generadores de números aleatorios en muchos entornos y compiladores puede llevarnos a pensar que para un usuario de la simulación no sería necesario estudiar estas cuestiones. • Una lección del pasado reciente nos obliga a sacar lecciones y actuar con mucho cuidado con dichos generadores (RANDU - IBM). • El Uso progresivo de modelos de simulación cada vez más detallados exige una mayor calidad de los generadores de números aleatorios. Simulación/2002 Héctor Allende

Números Aleatorios Algunas ideas o propiedades de los generadores I. Lagarias (1993) publicó un

Números Aleatorios Algunas ideas o propiedades de los generadores I. Lagarias (1993) publicó un trabajo titulado “Pseudo Random Numbers” en Statistical Science. Donde estudia algunas propiedades tales como: Expansividad : Una aplicación si es expansiva La idea es escoger “d” como una aplicación expansiva de manera que la inestabilidad computacional proporcione aleatoriedad. Simulación/2002 Héctor Allende

Números Aleatorios No Linealidad: La composición de aplicaciones no lineales puede conducir a comportamientos

Números Aleatorios No Linealidad: La composición de aplicaciones no lineales puede conducir a comportamientos crecientemente no lineales Ej: d(x) = x 2; d(n)(x) = x 2 n Complejidad Computacional: La aleatoriedad de Kolmogorov, también denominada incomprensibilidad computacional. Consiste en constatar si la aleatoriedad de una sucesión de números es incomprensible (problema decidible). Impredecibilidad Simulación/2002 Héctor Allende

Números Aleatorios • DEF 1: Kolmogorov (1987) [Complejidad Algorítmica] Una sucesión de números es

Números Aleatorios • DEF 1: Kolmogorov (1987) [Complejidad Algorítmica] Una sucesión de números es aleatoria sino puede producirse eficientemente de una manera más corta que la propia serie. • DEF 2: L’Ecuyer (1990) [Impredicibilidad] Una sucesión de números es aleatoria si nadie que utilice recursos computacionales razonables puede distinguir entre la serie y una sucesión de números verdaderamente aleatoria de una forma mejor que tirando una moneda legal para decidir cuál es cuál. Obs: Esta definición conduce a los denominados generadores PT-perfectos usados en Criptografía. Simulación/2002 Héctor Allende

Números Aleatorios • DEF 3: Un Número aleatorio es una realización de una variable

Números Aleatorios • DEF 3: Un Número aleatorio es una realización de una variable aleatoria que tiene asociada una ley de probabilidades F, en un espacio o modelo de Probabilidades ( , , P). Obs: Una particular Ley de Probabilidad base para la generación de números pseudo-aleatorios es: u 1, u 2, . . . , un : es la uniforme (0 ; 1) ui ~ U(0, 1). • DEF 4: Una sucesión de números aleatorios {u 1, u 2, . . . , un} es una sucesión de números U(0; 1), si tiene las mismas propiedades estadísticas relevantes que dicha sucesión de números aleatorios. Simulación/2002 Héctor Allende

Números Aleatorios • DEF 5: Una sucesión de números aleatorios {ui} es aleatorio si

Números Aleatorios • DEF 5: Una sucesión de números aleatorios {ui} es aleatorio si h-úplas de números sucesivos no superpuestos se distribuyen aproximadamente. como una [0, 1]h, con h=1, 2, . . , n, para n suficientemente grande. • Obs: h=2 tenemos (ui, ui+1) , i=1, 2, . . n , se distribuye como una ley uniforme en [0, 1]2. • Existe una gran de métodos para generar {ui} U(0, 1) : -Uniformente distribuidas - Independientes - E[U]= ½ ; V[U]= 1/12 - Período largo Simulación/2002 Héctor Allende

Números Aleatorios A las propiedades estadísticas anteriores se deben agregar otras relativas a la

Números Aleatorios A las propiedades estadísticas anteriores se deben agregar otras relativas a la eficiencia computacional: • Velocidad de respuesta • Consumo de memoria • Portabilidad • Parsimonia • Reproducibilidad • Mutabilidad • Período Simulación/2002 Héctor Allende

Números Aleatorios Métodos de Generación de Números Aleatorios 1. - Método de los cuadrados

Números Aleatorios Métodos de Generación de Números Aleatorios 1. - Método de los cuadrados medios 2. - Métodos Congruenciales 3. - Método de registros desfasados [Semilla - Algoritmo - Validación] P 1 : Obtener semilla (valores iniciales) P 2 : Aplicación de Algoritmos recursivos P 3 : Validación del conjunto de datos generados (Test de Aleatoriedad) Simulación/2002 Héctor Allende

Métodos de los cuadrados Medios Consiste en que cada número de una sucesión es

Métodos de los cuadrados Medios Consiste en que cada número de una sucesión es producido tomando los dígitos medios de un número obtenido mediante la elevación al cuadrado. P 1 : Obtener semilla (valores iniciales 445) P 2 : Aplicación de Algoritmos recursivos (elevar al cuadrado) P 3 : Validación del conjunto de datos generados Simulación/2002 Héctor Allende

Métodos de los Cuadrados Medios Ejemplo: Consideremos la semilla 445 X X 2 N°

Métodos de los Cuadrados Medios Ejemplo: Consideremos la semilla 445 X X 2 N° Aleatorio 445 1| 9802 | 5 0, 9802 96| 0792 | 04 0, 0792 6 | 2726 | 4 0, 2726 . . . . Simulación/2002 Héctor Allende

Generadores Congruenciales Xn+1 = (a Xn + b) mod m ; Los parámetros del

Generadores Congruenciales Xn+1 = (a Xn + b) mod m ; Los parámetros del algoritmo se llaman -a multiplicador -b sesgo -m módulo - Xo semilla (valor inicial) Simulación/2002 Héctor Allende

Generadores Congruenciales Obs: 1. - Cuando b=0 el generador se denomina Generador congruencial multiplicativo.

Generadores Congruenciales Obs: 1. - Cuando b=0 el generador se denomina Generador congruencial multiplicativo. 2. - Cuando b 0 el generador se denomina Generador congruencial mixto. 3. - A pesar de la simplicidad una adecuada elección de los parámetros de “a, b y m”, permite obtener de manera eficiente una larga e impredecible sucesión de números como para considerarse “aleatoria”. Simulación/2002 Héctor Allende

Generadores Congruenciales Simulación/2002 Héctor Allende

Generadores Congruenciales Simulación/2002 Héctor Allende

Generadores Congruenciales Algunas observaciones de generadores congruenciales: las salidas de los i) Un generador

Generadores Congruenciales Algunas observaciones de generadores congruenciales: las salidas de los i) Un generador congruencial tiene ciclos i. I) La longitud del ciclo depende de la selección de los parámetros (ver caso 1) y 3) ) iii) Dentro de selecciones de parámetros que conducen a la misma longitud, algunas salidas parecen más aleatorias que otras. iv) La representación de pares (Xi, Xi+1) sugiere que estos se disponen en un número finito de hiperplanos. Simulación/2002 Héctor Allende

Generadores Congruenciales Los resultados teóricos que veremos a continuación facilitan la elección de los

Generadores Congruenciales Los resultados teóricos que veremos a continuación facilitan la elección de los parámetros de “a y b” su demostración puede verse en el texto clásico D. Knuth (1981): “The Art of Computer Programming”. Ed. A. Wesley Vol N° 2 Simulación/2002 Héctor Allende

Generadores Congruenciales Proposición 2. 1 Un generador congruencial tiene su período máximo si y

Generadores Congruenciales Proposición 2. 1 Un generador congruencial tiene su período máximo si y sólo si: i) m. c. d (b, m) = 1 (primos relativos) ii) a = 1 mod p ; para cada factor primo p de m. iii) a = 1 mod 4 ; si 4 divide a m. Puesto que b esta asociado en la práctica con el efecto de traslación, inicialmente asumiremos ( b=0), es decir partiremos estudiando los generador congruencial multiplicativos. Simulación/2002 Héctor Allende

Generadores Congruenciales Dem: Donald Knuth Vol 2 (1981) Obs: 1) Lo anterior sugiere elegir

Generadores Congruenciales Dem: Donald Knuth Vol 2 (1981) Obs: 1) Lo anterior sugiere elegir “m” lo más grande posible, para asegurarnos un período largo (posibles elecciones de m son; m=231 -1, m=216 +1) 2) Sea p el período de la secuencia de números aleatorios, si p=m el generador se llama de período completo. 3) Si m es un número primo entonces el máximo período se obtiene ssi a =1 Simulación/2002 Héctor Allende

Generadores Congruenciales Proposición 2. 2 Sea un generador multiplicativo (b=0) [Xn+1 = a Xn

Generadores Congruenciales Proposición 2. 2 Sea un generador multiplicativo (b=0) [Xn+1 = a Xn mod m] tiene período p=(m-1), sólo si “p” es primo. El periodo divide a (m-1) y es (m-1) si y sólo si “a” es una raíz primitiva de m-1, es decir a(m-1)/p 1 mod m, para todos los factores primos p de (m-1). Proposición 2. 3 Si a es un raíz primitiva de m, ak mod m, lo es siempre que k y m-1 sean primos relativos. Equivalentemente Si a es una raíz primitiva de m, ak mod m lo es siempre que ; mcd(k, m-1)=1 Simulación/2002 Héctor Allende

Generadores Congruenciales Dem: B. Ripley (1987) “Stochastic Simulation”Ed. John Wiley. pp 47 Obs: 1)

Generadores Congruenciales Dem: B. Ripley (1987) “Stochastic Simulation”Ed. John Wiley. pp 47 Obs: 1) En general los generadores congruenciales son de la forma Xn+1 = g (Xn, Xn-1, . . , Xn-k , . . . ) mod m g (x) = a Xn + b g (x) = a Xn 2 + b Xn + c Usando g (x) = (a 1 Xn-1 + a 2 Xn-2 +. . . + ar Xn-r), se obtiene un generador de Fibonacci retardado. La teoría de estos generadores se puede ver en Marsaglia (1985)] Simulación/2002 Héctor Allende

Generadores Congruenciales 2) Una buena elección de “m”, permite obtener un generador eficiente (ciclo

Generadores Congruenciales 2) Una buena elección de “m”, permite obtener un generador eficiente (ciclo máximo). Pero aún se debe estudiar con más detalle la elección de a y b, pues se tienen muchos grados de libertad. 3) Un buen generador congruencial debe ser: i) De máximo período ii) Su salida debe parecer aleatoria iii) Poder implementar de forma eficiente en aritmética de 32 bits. Simulación/2002 Héctor Allende

Generadores Congruenciales Un algoritmo de muy fácil implementación del tipo congruencial es m =

Generadores Congruenciales Un algoritmo de muy fácil implementación del tipo congruencial es m = 231 -1 a = 75 (raíz primitiva de m) Xn = 75 Xn-1 mod (231 -1) un = Dicho generador se encuentra en las bibliotecas IMSL y NAG Simulación/2002 Héctor Allende

Generadores Congruenciales La rutina RANDU, que IBM proporcionaba para sus equipos consideraba un modelo

Generadores Congruenciales La rutina RANDU, que IBM proporcionaba para sus equipos consideraba un modelo congruencial multiplicativo con m = 231 ; a = 65539 ; b = 0 Xn = 65539 Xn-1 mod (231) un = ¡ Este generador proporciona tripletas consecutivas de números que caen en 15 planos ! Lo que sugiere cierta previsiblidad en su salida (Mal Generador) Simulación/2002 Héctor Allende

Generadores Congruenciales Barsaglia (1968) demostró que sucesiones consecutivas no superpuestas de n números aleatorios

Generadores Congruenciales Barsaglia (1968) demostró que sucesiones consecutivas no superpuestas de n números aleatorios obtenidos de generadores multiplicativos caen en, a lo sumo [n! m] 1/n hiperplanos paralelos. Algunas cotas de casos representativos n=3 n=5 n=7 n=9 n=10 m = 216 73 23 16 14 13 m = 232 2953 220 80 48 41 Es decir, en un computador con palabras de 32 bits, menos de 41 hiperplanos contendrán las 10 -úplas Simulación/2002 Héctor Allende

Generadores Congruenciales En teoría puede conseguirse que un buen generador con m = 232

Generadores Congruenciales En teoría puede conseguirse que un buen generador con m = 232 produzca 357. 913. 941 puntos independientes en un cubo de dimensión 3, siendo el mínimo número de hiperplanos que contiene estos puntos 108, en contraste con los 2953. Para la famosa rutina RANDU de IBM, Xn = 65539 Xn mod (231) las tripletas consecutivas de números caen en 15 planos. Simulación/2002 Héctor Allende

Generadores de Registros Desfasados Se basa en Generadores lineales recursivos múltiples El estudio de

Generadores de Registros Desfasados Se basa en Generadores lineales recursivos múltiples El estudio de este generador se asocia al Polinomio característico. sobre un álgebra finita Fm, con m elementos. [Niederreiter 1992] Simulación/2002 Héctor Allende

Generadores de Registros Desfasados [Niederreiter 1992] Cuando el polinomio es primitivo el período es

Generadores de Registros Desfasados [Niederreiter 1992] Cuando el polinomio es primitivo el período es (mk-1). Debido a la complejidad del análisis para m grande, habitualmente se elige un m pequeño, generalmente 2 obteniendo generadores de bits de la forma donde ak = 1 ^ ai {0, 1} Simulación/2002 Héctor Allende

Generadores de Registros Desfasados La adición módulo 2 es equivalente al XOR (ó exclusivo)

Generadores de Registros Desfasados La adición módulo 2 es equivalente al XOR (ó exclusivo) 0 XOR 0 = 0 0 XOR 1 = 1 1 XOR 1 = 0 1 XOR 0 = 1 Esto nos permite implementar registros de desplazamiento Un generador propuesto Tausworthe (1985) Simulación/2002 Héctor Allende

Generadores de Registros Desfasados En este caso los primeros q bits deben ser especificados,

Generadores de Registros Desfasados En este caso los primeros q bits deben ser especificados, esto es análogo a la semilla de los generadores congruenciales. Este tipo de generador depende del largo de la palabra Ejemplo: h = 3 ; q = 5 ; b 1 = b 2 = b 3 = b 4 = b 5 = 1 b 6 = (b 3 + b 1) mod 2 = 2 mod 2 = 0 b 7 = (b 4 + b 2) mod 2 = 2 mod 2 = 0 b 8 = (b 5 + b 3) mod 2 = 2 mod 2 = 0 b 9 = (b 6 + b 4) mod 2 = 1 b 10 = (b 7 + b 5) mod 2 = 1. . . b 42 = (b 39 + b 37) mod 2 = 2 mod 2 = 0 Simulación/2002 Héctor Allende

Conversión del Generador Binario Transformar la sucesión {bi} en un número aleatorio U(0, 1)

Conversión del Generador Binario Transformar la sucesión {bi} en un número aleatorio U(0, 1) Consideremos {bi} b 1 b 2 b 3 b 4 b 5 1 1 1. . b 41 b 42. . 1 0 Simulación/2002 b 6 b 7 0 0 b 8 0 b 9 b 10 b 11 b 12 1 1 0 1 Héctor Allende

Conversión del Generador Binario Consideremos l = 4 y 1 = b 123 +

Conversión del Generador Binario Consideremos l = 4 y 1 = b 123 + b 222 + b 321 + b 420 = 8 + 4 + 2 + 1 = 15 u 1 = y 2 = b 523 + b 622 + b 721 + b 820 = 8 + 0 + 0 = 8 u 2 = y 3 = b 923 + b 1022 + b 1121 + b 1220 = 8 + 4 + 0 + 1 = 13 u 3 = Simulación/2002 . . y así sucesivamente Héctor Allende

Generadores no Lineales Dada la estructura reticular de los generadores lineales, algunos autores sugirieron

Generadores no Lineales Dada la estructura reticular de los generadores lineales, algunos autores sugirieron utilizar generadores no lineales. (Ver Niederreiter (1992)) • Usar un generador con función de transición lineal, produciendo una transformación no lineal del estado en su salida. • Usar un generador con función de transición no lineal. Simulación/2002 Héctor Allende

Combinación de Generadores Una forma de incrementar el periodo e intentar evitar regularidades que

Combinación de Generadores Una forma de incrementar el periodo e intentar evitar regularidades que muestren los generadores lineales es combinar (mezclar) diferentes generadores para obtener generadores híbridos de mejor calidad que los generadores originales. Muchas de las combinaciones propuestas son heurísticas y algunas con resultados bastantes pobres. Por ejemplo sean aleatorias, una sucesión combinada sería : Z i = Xi donde “ Yi ” es alguna operación binaria Simulación/2002 Héctor Allende

Otros Generadores • Generadores Paralelos de números aleatorios. • Sincronización; reproductibilidad; gasto transición ]

Otros Generadores • Generadores Paralelos de números aleatorios. • Sincronización; reproductibilidad; gasto transición ] • Generadores de Fibonacci retardados • [ Sincronización; reproductibilidad; gasto transición ] • Generadores Comerciales: IMSL Generador congruencial multiplicativo m = 231 - 1 a = 16807; 397204094; 950706376 http: //www. stat. cmu. edu/ Simulación/2002 Héctor Allende

Validación de Generadores Congruenciales Finalmente la fase de validación se basa en ciertas propiedades

Validación de Generadores Congruenciales Finalmente la fase de validación se basa en ciertas propiedades estadísticas que deben cumplirse a la salida de los generadores de n° aleatorios. Los Test empíricos que veremos a continuación son genéricos y pueden usarse en la evaluación de generadores de n° aleatorios, en generadores de variables aleatorias y en la modelación de entradas de modelos de simulación. La mayoría de los Test se encuentran disponibles en paquetes estadísticos comerciales. SAS, Statistica, etc. Simulación/2002 Héctor Allende

Validación de Nos Aleatorios 1) Test Este es un test de Bondad de Ajuste.

Validación de Nos Aleatorios 1) Test Este es un test de Bondad de Ajuste. Es poco potente, por lo que permite justificar el rechazo de una hipótesis, pero proporciona escaso apoyo en la aceptación. Dada una muestra X 1, X 2, . . . , Xn de una Fx(x) desconocida. Se desea contrastar. Ho : Fx(x) = Fo(x) Simulación/2002 v/s H 1 : Fx(x) Fo(x) Héctor Allende

Validación de Nos Aleatorios Efectuando una partición del soporte de X en k subconjuntos

Validación de Nos Aleatorios Efectuando una partición del soporte de X en k subconjuntos I 1, I 2, . . . , Ik : ~ asint fi : frecuencia absoluta del subconjunto i-ésimo (Ii) ei: número de observaciones esperadas en Ii bajo Ho Simulación/2002 Héctor Allende

Validación de Nos Aleatorios Obs: 1) Este Test considera aleatoridad de Fo = U(0,

Validación de Nos Aleatorios Obs: 1) Este Test considera aleatoridad de Fo = U(0, 1) 2) Este Test también permite contrastar la uniformidad S-dimensional de X 1 = (u 1, u 2, . . . , us); X 2 = (us+1, us+2, . . . , u 2 s); . . . Xn = (u(n-1)s+1, . . . , uns) en Fo = [0, 1]s [Distribución uniforme en el hipercubo] Simulación/2002 Héctor Allende

Validación de Nos Aleatorios 2) Test de Kolmogorov - Smirnov (Test K-S) Sea Fo

Validación de Nos Aleatorios 2) Test de Kolmogorov - Smirnov (Test K-S) Sea Fo una función de distribución continua y sea Fn la función de distribución empírica de la muestra. Bajo Ho: Fx(x) = Fo(x) se espera que Fn se aproxime a Fo Dn = Sup | Fn(x) - Fo(x) | x R La distribución exacta de Dn está tabulada para valores n 40 y distintos niveles de significación . Para muestras grandes se utiliza la distribución asintótica de Dn dada por Simulación/2002 Héctor Allende

Test de Kolmogorov - Smirnov Obs: En el caso particular de aleatoridad se considera

Test de Kolmogorov - Smirnov Obs: En el caso particular de aleatoridad se considera X(1) < X(2) <. . < X(n) estadísticos de orden Fo(X(i)) = X(i) ^ Fn (X(i)) = i/n Dn = Simulación/2002 Héctor Allende

Validación de Nos Aleatorios 3) Test de Rachas Dada la sucesión de “n” observaciones

Validación de Nos Aleatorios 3) Test de Rachas Dada la sucesión de “n” observaciones construimos la sucesión de símbolos binarios definida por Definimos racha creciente (decreciente) de longitud “L” a un grupo seguido de “L” números 1(+) ó números 0(-). Contando el número de rachas. Bajo aleatoridad de la muestra se espera que su distribución asintótica sea normal: N Simulación/2002 Héctor Allende

Ejemplo: Considere la siguiente secuencia de 20 números aleatrorios 0. 43 0. 28 0.

Ejemplo: Considere la siguiente secuencia de 20 números aleatrorios 0. 43 0. 28 0. 33 0. 27 0. 12 0. 31 0. 42 0. 01 0. 32 0. 45 0. 98 0. 79 0. 99 0. 55 0. 67 0. 74 0. 16 0. 20 0. 12 0. 58 - + - - + + + -+ + - + L=14 E[L]= 13, Z = 0. 55 V[L]=3. 23 Z = (14 -13) / comparado con el valor crítico N ( 13 ; 3. 23) El supesto de independencia no puede ser rechazado Simulación/2002 Héctor Allende

Test de Rachas por encima y debajo de la mediana. Se cuentan el número

Test de Rachas por encima y debajo de la mediana. Se cuentan el número de observaciones que se sitúan a un mismo lado de la mediana. La distribución asintótica del número de rachas bajo aleatoridad es normal: N Simulación/2002 Héctor Allende

Test Serial 4) Test Serial Este Test se usa para contrastar el grado de

Test Serial 4) Test Serial Este Test se usa para contrastar el grado de aleatoriedad entre números aleatorios sucesivos de una secuencia. [Extensión del test Chi-Cuadrado] Sea X 1 = (u 1, . . . , uk) X 2 = (uk+1, . . . , u 2 k). . . Xn = (u(n-1)k+1, . . . , unk) Consideremos la n (k-úplas). Se desea contrastar que X 1, X 2, . . . , Xn son v. a. i. i. d. uniformemente distribuidas en el hipercubo k-dimensional unitario. Simulación/2002 Héctor Allende

Test Serial Dividiendo el hipercubo rk en hipercubos elementales de volumen 1/rk y sea

Test Serial Dividiendo el hipercubo rk en hipercubos elementales de volumen 1/rk y sea Vj 1, j 2, . . . , jk el número de k-úplas que caen dentro del elemento usando la estadística Simulación/2002 Héctor Allende

Test Serial Caso Especial (k=2) X 1 = (u 1, u 2) X 2

Test Serial Caso Especial (k=2) X 1 = (u 1, u 2) X 2 = (u 3, u 4). . . Xn/2 = (u(n-1), un) Particularmente el eje X e Y en r subintervalos de igual longitud, generando r 2 -cubos del mismo tamaño. El número de pares esperado por cubo es Simulación/2002 Héctor Allende

Test Serial Sea nij : el número de pares en el cuadrado (i, j)

Test Serial Sea nij : el número de pares en el cuadrado (i, j) i = 1, r j =1, r Entonces la estadística Simulación/2002 Héctor Allende

Validación de Nos Aleatorios Otros Test son: • Test de Permutaciones • Test de

Validación de Nos Aleatorios Otros Test son: • Test de Permutaciones • Test de Poker • Test de Dependencia • Test de longitud de rachas • etc. Simulación/2002 Héctor Allende