Este documento describe métodos para generar números aleatorios, incluidos el método del cuadrado medio y el método de congruencia lineal. También explica cómo realizar pruebas de uniformidad como la prueba de Kolmogorov-Smirnov para verificar si una secuencia de números aleatorios se ajusta a una distribución uniforme. El objetivo es que los alumnos aprendan a generar números aleatorios y verificar su uniformidad utilizando estas técnicas.
1. Cabrera Hernández Elizabeth Ramírez Bustos Fabián
Logro: Al finalizar la sesión el alumnos genera números aleatorios utilizando métodos de generación numérico
GENERACION DE NUMEROS
ALEATORIOS
2. NUMEROS ALEATORIOS
Los números random son un elemento básico en
la simulación de la mayoría de los sistemas
discretos.
Cada número random Ri es una muestra
independiente de una distribución uniforme y
continua en el intervalo (0,1).
3. NÚMEROS ALEATORIOS
* La probabilidad de observar un valor en un
particular intervalo es independiente del valor
previo observado.
* Todo punto en el rango tiene igual probabilidad
de ser elegido.
* Si el intervalo (0,1) es dividido en n sub-
intervalos de igual longitud, el número esperado
de observaciones en cada intervalo es N/n. (N
número de observaciones totales).
4. El objetivo de cualquier esquema de
generación (generador), es producir una
secuencia de números entre 0 y 1 que simule
las propiedades ideales de distribución
uniforme y de independencia.
GENERADOR DE NÚMEROS
ALEATORIOS
5. NÚMEROS PSEUDO-ALEATORIOS
•Los números aleatorios son calculados a partir de
una semilla (seed) y una fórmula.
•El problema es que si el método es conocido,
entonces la secuencia de números random puede ser
replicada.
•En la práctica ninguna función produce datos
aleatorios verdaderos -- las funciones producen
números pseudo-aleatorios.
6. La mayoría de los métodos (generadores) comienzan
con un número inicial (semilla), a este número se le
aplica un determinado procedimiento y así se
encuentra el primer número random.
Usando este número como entrada, el procedimiento es
repetido para lograr un próximo número random.
Y así siguiendo.
TÉCNICAS P
ARA GENERAR
NÚMEROS ALEATORIOS
7. Método Del Cuadrado Medio: comienza con un número inicial
(semilla). Este número es elevado al cuadrado. Se escogen los
dígitos del medio de este nuevo número (según los dígitos que se
deseen) y se colocan después del punto decimal. Este número
conforma el primer número random.
Ejemplo: X0 = 5497
X0
2 = (5497)2 = 30,217,009 ===> X1 = 2170
R1 = 0.2170
X1
2 = (2170)2 = 04,708,900 ===> X2 = 7089
R2 = 0.7089
X2
2 = (7089)2 = 50,253,921 ===> X3 = 2539
TÉCNICAS P
ARA GENERAR
NÚMEROS ALEATORIOS
8. Método De Congruencia Lineal: produce una secuencia de
enteros X1, X2,... entre 0 y m-1 de acuerdo a la siguiente
relación recursiva:
Xi+1= (a * Xi + c) mod m, i=0,1,2,...
X0 es llamado semilla.
a es llamado el multiplicador constante.
c es el incremento.
m es el módulo.
El número aleatorio se encuentra de la siguiente manera:
R = X / m
TÉCNICAS PARA GENERAR
NÚMEROS ALEATORIOS
9. Ejemplo: Utilice el método de Congruencia Lineal para generar
números aleatorios con las siguiente constantes:
X0 = 27 , a = 17, c = 43, m = 100
La secuencia de Xi y subsecuentes Ri serían:
X0 = 27
X1 = (17 * 27 + 43) mod 100 = 502 mod 100 = 2
R1 = 2/100 = 0.02
X2 = (17 * 2 + 43) mod 100 = 77 mod 100 = 77
R2 = 77/100 = 0.77
La selección de los parámetros del generador afecta
drásticamente las propiedades ideales y la longitud del ciclo.
TÉCNICAS P
ARA GENERAR
NÚMEROS ALEATORIOS
10. TEST PARA EL CHEQUEO DE
UNIFORMIDAD
Test de Kolmogorov-Smirnov: compara la
distribución de un conjunto de números
generados con una distribución uniforme.
Este test compara:
la función de Probabilidad Acumulada continua
F(x) de una Distribución Uniforme, con
la función de Probabilidad Acumulada empírica
SN(x), de una muestra de N observaciones.
11. TEST DE KOLMOGOROV-SMIRNOV
Por definición, la Función de Probabilidad Acumulada
(teórica) uniforme entre 0 y 1 tiene:
* F(x) = x, 0<=x<=1
Mientras que una Función de Probabilidad Acumulada
Empírica se encuentra:
* SN(x) = (cantidad de n.r. generados <=x ) /
N
Este test se basa en la mayor desviación absoluta entre F(x)
y SN(x) sobre todo el rango de variable random.
Esto es: D = max|F(x) - SN(x)|
La distribución de D está tabulada como una función de N.
12. Ejercitación de Distribución Empírica (SN(x))
Si no se conoce la probabilidad de un fenómeno se debe trabajar con las
distribuciones empíricas ( basadas en frecuencias).
Ejemplo: Que distribución tiene la siguiente secuencia de números?:
3-4-5-3-4-5-3-6-4-3
3 4 4/10=0.4 4/10=0.4
4 3 3/10=0.3 7/10=0.7
5 2 2/10=0.2 9/10=0.9
6 1 1/10=0.1 10/10=1
valor cantidad frel. frelAcum
13. El test procede de la siguiente manera:
1- Ordena los datos de menor a mayor:
R(1)<=R(2)<=... <= R(N)
(R(i) denota la observación más pequeña.)
2- Computa:
D+ = max { i/N - R(i)}, 1<=i<=N
D- = max { R(i)- (i-1)/N}, 1<=i<=N
3- Computa D = max (D+,D-).
14. El test procede de la siguiente manera (continuación):
4- Determina el valor crítico, D para el nivel de significancia alfa y
tamaño de muestra N, (estos valores están tabulados).
5- Si la muestra estadística diferencia ha D es mas grande que el valor
crítico, D, la hipótesis nula es rechazada.
Si D <= D concluye que ninguna diferencia
significativa ha sido detectada entre la verdadera distribución de {R1,R2
..., RN} y la distribución uniforme.
15. Ejemplo Para Ejecutar Test De Uniformidad
(Kolmogorov - Smirnov)
Suponer que se generaron cinco números random y que
se desea ejecutar el test de K.S. para un nivel de
significancia = 0.05
Orden cronológico:
Orden numérico creciente:
R1 R2 R3 R3 R5
0.03 0.58 0.87 0.32 0.95
R(1) R(2) R(3) R(3) R(5)
0.03 0.32 0.58 0.87 0.95