Validación de Series de Números de Pseudoaleatorios SIMULACION DE SISTEMAS DISCRETOS Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005
Objetivo Exponer los conceptos básicos para realizar pruebas estadísticas de uniformidad y aleatoriedad de series de números pseudoaleatorios. Confirmar el grado confianza en un generador de números pseudoaleatorios.
Tabla de Contenido Pág. 1. Objetivos 3 2. Antecedentes 4 3. Validación de Series de Números Aleatorios 8 4. Prueba de Bondad de Ajuste (distribución uniforme) 8 4.1. Prueba Ji-Cuadrado 12 4.2. Prueba Kolmogorov-Smirnov 15 5. Prueba de Aleatoriedad (independencia) 18 5.1. Prueba de las Series. 20 5.2. Prueba de las Distancias 23 6. Conclusiones. 26 7. Bibliografía 27
Mapa Conceptual del Curso Modelado y Simulación Colas con un servidor Proyectos Simulación Simulación X Eventos Colas en Serie Inventarios Series de Nro. Aleato Colas en Paralelo Validación de Series Generación de VA
Mapa Conceptual Xi+1=(aXi+c) mod m Tabla de Nros. aleatorios Fenómenos Físicos Procedimientos Matemáticos Números Aleatorios Validación de Series de NA Variables U (0,1) Variables Aleatorias
ANTECEDENTES
Antecedentes Generación de Números pseudoaleatorios. Xi+1=(aXi+c) mod m Manual o mecánico. Tabla de Números aleatorios Computador
Antecedentes Métodos para la generación de series de números pseudoaleatorios. Generadores Congruenciales. Producto Medio. Cuadrado Medio.
Antecedentes Propiedades deseables de la serie de números generados. Distribución uniforme. Independientes entre si.
Validación de Series de Números Pseudoaleatorios Probar si una serie de números generados corresponde a una distribución de probabilidad supuesta y probar que los números son independientes entre sí. Prueba de Bondad de Ajuste. Si cumple una distribución uniforme Prueba de Aleatoriedad. Si los elementos de la serie son independientes.
PRUEBA DE BONDAD DE AJUSTE
Pruebas de Bondad de Ajuste Probar si una serie de números pertenece a cierta distribución de la probabilidad. En este caso la distribución es uniforme. Prueba de Ji-Cuadrado. Prueba Kolmogorov-Smirnov
Prueba de Bondad de Ajuste H0, los números están distribuidos uniformemente. H1, los números no están distribuidos uniformemente. ≤ > Prueba Ji-cuadrado Se usa cuando se trabaja con variables nominales (categorías o grupos). Responder la pregunta: si las frecuencias observadas, difiere de la frecuencia esperada.
Prueba Ji-Cuadrado Tomar la serie de N números. Dividir la serie en k intervalos. k ≈ N½ Calcular Ei = N/k Calcular Oi = (cantidad de #s por intervalo) Calcular Si se acepta H0 No hay diferencia significativa entre la cantidad de números de cada intervalo
Prueba Ji-Cuadrado frecuencia intervalo k-2 k-1 k
Ejemplo N = 64 k = 10 X2 = 8.50 X2(9, 5%) = 16.92 X2 < X2(9, 5%) 0.7652 0.7901 0.4916 0.9928 0.3492 0.8097 0.1627 0.1250 0.8049 0.5645 0.4522 0.3899 0.5697 0.9609 0.1487 0.9563 0.3276 0.8017 0.1573 0.2737 0.3632 0.6963 0.8135 0.0619 0.1676 0.7821 0.7564 0.2661 0.8413 0.1599 0.7215 0.4160 0.3629 0.2594 0.8972 0.3867 0.2400 0.6831 0.0994 0.8086 0.3109 0.9862 0.3321 0.3263 0.3975 0.9909 0.0856 0.2740 0.4400 0.9476 0.1294 0.4802 0.4927 0.3358 0.6776 0.5319 0.6355 0.7604 0.8767 0.1658 0.4103 0.0824 0.4875 0.9297 N = 64 k = 10 X2 = 8.50 X2(9, 5%) = 16.92 X2 < X2(9, 5%)
Prueba de Kolmogorov-Smirnov Tomar la serie de N números. Ordenar los números de menor a mayor. Calcular FN (Ui) = i /N Calcular D = max[Ui - FN (Ui) ] = max(Ui – i/N) Si D < DN,α se acepta H0 N > 30
Prueba de Kolmogorov-Smirnov 1 FN (Ui) Ui
Ejemplo D = 0.06984 D64,5% = 0.1700 D < D64,5% i Ui i/N D 36 0.4927 0.5625 0.06984 D = 0.06984 D64,5% = 0.1700 D < D64,5%
PRUEBAS DE ALEATEORIEDAD (INDEPENDENCIA)
Prueba de Aleatoriedad (independencia) Probar si los elementos de una serie de números no estas correlacionados. Prueba de las Series. Prueba de las Distancias
Prueba de las series Tomar una muestra de tamaño N Dividir un cuadrado de lado 1 en n2 celdas. Formar los pares ordenados (Ui, Ui+1), N-1 pares Calcular Eij = (N -1)/n2 Calcular Oij = (cantidad de #s por celda) Calcular Si se acepta H0
Prueba de las series 3/n 4/n 1/n 2/n 8/n 1 5/n 7/n
Ejemplo N = 64 n = 5 X2 = 9.4375 X2(24,5%) = 36.41 X2 < X2(24, 5%) n U1 U2 1 0.7652 0.3492 2 0.3492 0.8049 3 0.8049 0.5697 4 0.5697 0.3276 5 0.3276 0.3632 6 0.3632 0.1676 7 0.1676 0.8413 8 0.8413 0.3629 9 0.3629 0.2400 10 0.2400 0.3109 11 0.3109 0.3975 12 0.3975 0.4400 13 0.4400 0.4927 14 0.4927 0.6355 15 0.6355 0.4103 0.4103 0.7901 . Oij = Eij = Oij - Eij = N = 64 n = 5 X2 = 9.4375 X2(24,5%) = 36.41 (Oij – Eij)2 = Eij X2 < X2(24, 5%)
Prueba de las distancias Tomar una muestra de tamaño N Elegir α y θ, tal que β = α + θ Definir: PE = θ y PF = 1 – θ Calcular para cada número si o al intervalo. Hueco. Es la cantidad de números aleatorios, en la serie, que no se encuentran en el intervalo α, β, pero se encuentran entre dos números que pertecen al intervalo. α = 0.3, β = 0.6, θ = 0.3 0.35 Є < α, β> 0.43 Є < α, β> 0.71 ¢ < α, β> 0.61 ¢ < α, β> 0.42 Є < α, β> 0.31 Є < α, β> 0.94 ¢ < α, β> 0.83 ¢ < α, β> 0.32 Є < α, β> i = 0 α β θ 1 i = 2 i = 0 i = 2 P0 = θ P1 = (1 - θ)θ P2 = (1 - θ)2 θ Pi = (1 – θ)iθ Pi = (1 – θ)n, i > n
Prueba de las distancias Calcular la tabla. Calcular Si se acepta H0 n n
Ejemplo α = 0.55, β = 0.95, θ = 0.4 X2 = 11.230 X2(7,5%) = 14.067 α = 0.55, β = 0.95, θ = 0.4 X2 = 11.230 X2(7,5%) = 14.067 X2 < X2(7, 5%)
Conclusiones Antes de usar un generador de números pseudoaleatorios, se debe probar su distribución uniforme y aleateatoriedad. La prueba de uniformidad, permite determinar si la serie corresponde a una distribución uniforme. La prueba de aleatoriedad permite determinar si los números no están correlacionados. En caso de rechazar algunas de las Ho, se recomienda probar con otra serie de números. Los resultados obtenidos por las pruebas son válidos para series de más de 30 elementos.
Bibliografía Simulación. Métodos y Aplicación. D. Rios, S. Rios y J. Martín. 2000. Simulación. Sheldom M. Ross. 1999. 2da. Edición. Simulación de Sistemas Discretos. J. Barceló. 1996
PREGUNTAS
Samuel Oporto Díaz soporto@wiphala.net http://www.wiphala.net/oporto/