32
1 / 42 42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

Embed Size (px)

Citation preview

Page 1: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

11 /42/42

Validación de Series de Números de Pseudoaleatorios

Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005

SIMULACION DE SISTEMAS DISCRETOS

Page 2: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

22 /42/42

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.

Page 3: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

33 /42/42

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

Page 4: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

44 /42/42

Mapa Conceptual del Curso

Modelado y Simulación

Simulación X Eventos

Proyectos Simulación

Colas en Serie

Colas con un servidor

Colas en Paralelo

Inventarios Series de Nro. Aleato

Validación de Series

Generación de VA

Page 5: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

55 /42/42

Mapa Conceptual

Fenómenos FísicosProcedimientos

Matemáticos

NúmerosAleatorios

Validación deSeries de NA

VariablesU (0,1)

VariablesAleatorias

Tabla de Nros. aleatorios

Xi+1=(aXi+c) mod m

Page 6: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

66 /42/42

ANTECEDENTES

Page 7: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

77 /42/42

Antecedentes• Generación de Números pseudoaleatorios.

Xi+1=(aXi+c) mod m

Manual o mecánico. Tabla de

Números aleatorios

Computador

Page 8: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

88 /42/42

Antecedentes• Métodos para la generación de series de

números pseudoaleatorios.– Generadores Congruenciales.– Producto Medio.– Cuadrado Medio.

Page 9: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

99 /42/42

Antecedentes• Propiedades deseables de la serie de números

generados.

Distribución uniforme. Independientes entre si.

Page 10: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

1010 /42/42

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.

Page 11: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

1111 /42/42

PRUEBA DE BONDAD DE AJUSTE

Page 12: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

1212 /42/42

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

Page 13: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

1313 /42/42

Prueba de Bondad de AjusteH0, 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.

Page 14: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

1414 /42/42

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

Page 15: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

1515 /42/42

Prueba Ji-Cuadrado

kk-1k-2intervalo

frec

uenc

ia

Page 16: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

1616 /42/42

Ejemplo0.7652 0.7901 0.4916 0.99280.3492 0.8097 0.1627 0.12500.8049 0.5645 0.4522 0.38990.5697 0.9609 0.1487 0.95630.3276 0.8017 0.1573 0.27370.3632 0.6963 0.8135 0.06190.1676 0.7821 0.7564 0.26610.8413 0.1599 0.7215 0.41600.3629 0.2594 0.8972 0.38670.2400 0.6831 0.0994 0.80860.3109 0.9862 0.3321 0.32630.3975 0.9909 0.0856 0.27400.4400 0.9476 0.1294 0.48020.4927 0.3358 0.6776 0.53190.6355 0.7604 0.8767 0.16580.4103 0.0824 0.4875 0.9297

N = 64k = 10

X2 = 8.50

X2(9, 5%) = 16.92

X2 < X2(9, 5%)

0

2.5

5

7.5

10

12.5

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Page 17: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

1717 /42/42

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

Page 18: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

1818 /42/42

Prueba de Kolmogorov-Smirnov

D

10

1

FN (Ui)

Ui

Page 19: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

1919 /42/42

Ejemplo

i Ui i/N D36 0.4927 0.5625 0.06984

i Ui i/N Di i Ui i/N Di1 0.0619 0.0156 0.0463 33 0.4802 0.5156 0.03542 0.0824 0.0313 0.0512 34 0.4875 0.5313 0.04383 0.0856 0.0469 0.0388 35 0.4916 0.5469 0.05534 0.0994 0.0625 0.0369 36 0.4927 0.5625 0.06985 0.1250 0.0781 0.0468 37 0.5319 0.5781 0.04626 0.1294 0.0938 0.0356 38 0.5645 0.5938 0.02937 0.1487 0.1094 0.0393 39 0.5697 0.6094 0.03978 0.1573 0.1250 0.0323 40 0.6355 0.6250 0.01059 0.1599 0.1406 0.0193 41 0.6776 0.6406 0.0370

10 0.1627 0.1563 0.0065 42 0.6831 0.6563 0.026911 0.1658 0.1719 0.0060 43 0.6963 0.6719 0.024512 0.1676 0.1875 0.0199 44 0.7215 0.6875 0.034013 0.2400 0.2031 0.0369 45 0.7564 0.7031 0.0533

14 0.2594 0.2188 0.0406 46 0.7604 0.7188 0.041715 0.2661 0.2344 0.0317 47 0.7652 0.7344 0.030916 0.2737 0.2500 0.0237 48 0.7821 0.7500 0.032117 0.2740 0.2656 0.0084 49 0.7901 0.7656 0.024518 0.3109 0.2813 0.0296 50 0.8017 0.7813 0.020519 0.3263 0.2969 0.0295 51 0.8049 0.7969 0.008120 0.3276 0.3125 0.0151 52 0.8086 0.8125 0.003921 0.3321 0.3281 0.0040 53 0.8097 0.8281 0.018422 0.3358 0.3438 0.0080 54 0.8135 0.8438 0.030223 0.3492 0.3594 0.0102 55 0.8413 0.8594 0.018124 0.3629 0.3750 0.0121 56 0.8767 0.8750 0.001725 0.3632 0.3906 0.0274 57 0.8972 0.8906 0.006626 0.3867 0.4063 0.0196 58 0.9297 0.9063 0.023527 0.3899 0.4219 0.0320 59 0.9476 0.9219 0.025728 0.3975 0.4375 0.0400 60 0.9563 0.9375 0.018829 0.4103 0.4531 0.0428 61 0.9609 0.9531 0.007730 0.4160 0.4688 0.0528 62 0.9862 0.9688 0.017531 0.4400 0.4844 0.0444 63 0.9909 0.9844 0.006532 0.4522 0.5000 0.0478 64 0.9928 1.0000 0.0072

D = 0.06984 D64,5% = 0.1700

D < D64,5%

0.0

0.2

0.4

0.6

0.8

1.0

0.0 0.1 0.2 0.3 0.3 0.4 0.5 0.6 0.6 0.7 0.8 0.9 1.0

Page 20: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

2020 /42/42

PRUEBAS DE ALEATEORIEDAD(INDEPENDENCIA)

Page 21: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

2121 /42/42

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

Page 22: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

2222 /42/42

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

Page 23: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

2323 /42/42

Prueba de las series

3/n

4/n

1/n

2/n

8/n

1

5/n

7/n

3/n 4/n1/n 2/n 8/n 15/n 7/n

Page 24: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

Ejemplon U1 U21 0.7652 0.34922 0.3492 0.80493 0.8049 0.56974 0.5697 0.32765 0.3276 0.36326 0.3632 0.16767 0.1676 0.84138 0.8413 0.36299 0.3629 0.240010 0.2400 0.310911 0.3109 0.397512 0.3975 0.440013 0.4400 0.492714 0.4927 0.635515 0.6355 0.410316 0.4103 0.7901....

0.0

0.2

0.4

0.6

0.8

1.0

0.0 0.2 0.4 0.6 0.8 1.0

0.2 0.4 0.6 0.8 10.2 3 3 2 4 30.4 1 2 2 2 30.6 2 3 2 1 30.8 4 5 2 1 41 2 3 3 2 2

0.2 0.4 0.6 0.8 10.2 0.08 0.08 0.12 0.81 0.080.4 0.95 0.12 0.12 0.12 0.080.6 0.12 0.08 0.12 0.95 0.080.8 0.81 2.33 0.12 0.95 0.811 0.12 0.08 0.08 0.12 0.12

X2 = 9.4375

X2(24,5%) = 36.41

Oij =

Oij - Eij =

0.2 0.4 0.6 0.8 10.2 2.56 2.56 2.56 2.56 2.560.4 2.56 2.56 2.56 2.56 2.560.6 2.56 2.56 2.56 2.56 2.560.8 2.56 2.56 2.56 2.56 2.561 2.56 2.56 2.56 2.56 2.56

Eij =

0.2 0.4 0.6 0.8 10.2 0.44 0.44 -0.6 1.44 0.440.4 -1.6 -0.6 -0.6 -0.6 0.440.6 -0.6 0.44 -0.6 -1.6 0.440.8 1.44 2.44 -0.6 -1.6 1.441 -0.6 0.44 0.44 -0.6 -0.6

(Oij – Eij)2 = Eij

N = 64n = 5

X2 < X2(24, 5%)

Page 25: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

2525 /42/42

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 1

0.35 Є < α, β>0.43 Є < α, β>0.71 ¢ < α, β>0.61 ¢ < α, β>0.42 Є < α, β>0.31 Є < α, β>0.94 ¢ < α, β>0.83 ¢ < α, β>0.32 Є < α, β>

α = 0.3, β = 0.6, θ = 0.3

i = 0

i = 2

i = 2

i = 0

P0 = θP1 = (1 - θ)θP2 = (1 - θ)2 θ

Pi = (1 – θ)iθ

Pi = (1 – θ)n, i > n

Page 26: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

2626 /42/42

Prueba de las distancias

• Calcular la tabla.

• Calcular

• Si se acepta H0

i Pi Oi Ei

0 θ FO0 ΣFO0*θ

1 (1-θ)θ FO1 ΣFO1*(1-θ)θ

2 (1-θ)2θ FO2 ΣFO2*(1-θ)2θ

3 (1-θ)3θ FO3 ΣFO3*(1-θ)3θ

. . . .

. . . .

i ≥ n (1-θ)n FOi≥n ΣFOi≥n*(1-θ)n

1 ΣOi ΣOi

n

n

Page 27: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

2727 /42/42

Ejemplon Ui Є i n Ui Є i1 0.7652 1 0 32 0.0824 02 0.3492 0 1 33 0.4916 03 0.8049 1 34 0.1627 04 0.5697 1 35 0.4522 05 0.3276 0 36 0.1487 06 0.3632 0 37 0.1573 07 0.1676 0 38 0.8135 18 0.8413 1 0 39 0.7564 19 0.3629 0 40 0.7215 110 0.2400 0 41 0.8972 111 0.3109 0 42 0.0994 012 0.3975 0 43 0.3321 013 0.4400 0 44 0.0856 014 0.4927 0 45 0.1294 015 0.6355 1 0 46 0.6776 116 0.4103 0 1 47 0.8767 117 0.7901 1 48 0.4875 018 0.8097 1 49 0.9928 019 0.5645 1 50 0.1250 020 0.9609 0 1 51 0.3899 021 0.8017 1 52 0.9563 022 0.6963 1 53 0.2737 023 0.7821 1 54 0.0619 024 0.1599 0 55 0.2661 025 0.2594 0 56 0.4160 026 0.6831 1 0 57 0.3867 027 0.9862 0 58 0.8086 1 028 0.9909 0 59 0.3263 029 0.9476 1 0 60 0.2740 030 0.3358 0 61 0.4802 031 0.7604 1 0 62 0.5319 0

63 0.1658 064 0.9297 1 0

5

0

4

0

100

2

2

60

3

6

0

α = 0.55, β = 0.95, θ = 0.4

i Pi Oi Ei Ei - Oi (Ei - Oi)2/Ei0 0.4000 12 9.60 -2.40 0.6001 0.2400 3 5.76 2.76 1.3232 0.1440 2 3.46 1.46 0.6133 0.0864 1 2.07 1.07 0.5564 0.0518 1 1.24 0.24 0.0485 0.0311 1 0.75 -0.25 0.0866 0.0187 2 0.45 -1.55 5.379

i ≥ 7 0.0280 2 0.67 -1.33 2.6261.0000 24 24 11.230

X2 = 11.230

X2(7,5%) = 14.067

X2 < X2(7, 5%)

Page 28: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

2828 /42/42

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.

Page 29: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

2929 /42/42

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

Page 30: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

3030 /42/42

PREGUNTAS

Page 31: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

3131 /42/42

Samuel Oporto Díaz

[email protected]://www.wiphala.net/oporto/

Page 32: 1/42 Validación de Series de Números de Pseudoaleatorios Mg. Samuel Oporto Díaz Lima, 8 Noviembre 2005 SIMULACION DE SISTEMAS DISCRETOS

3232 /42/42