Docencia Autor

Generación de números aleatorios

Problemas con los números pseudo-aleatorios

Números aleatorios Números pseudo-aleatorios
Son datos continuos Puede resultar en datos discretos
Siguen distribución uniforme.

Media = 1/2

Varianza = 1/12

Si se divide el intervalo [0,1] en subintervalos iguales pueden resultar intervalos donde caen significativamente mas o menos datos que el número esperado.

Media por encima o por debajo de 1/2.
Varianza por encima o por debajo de 1/12.

Leer http://es.wikipedia.org/wiki/Varianza (ver hoja en excel donde se calcula la varianza)

 

Los datos son independientes: una observación no depende de las observaciones anteriores Se pueden presentar regularidades como:

Periodicidad
Autocorrelación
Patrones en cuanto a crecimiento
Patrones en cuanto a valores por encima o por debajo del valor medio.

  http://en.wikipedia.org/wiki/Pseudorandomness

 

Consideraciones sobre los números aleatorios

No podemos decir que 13 es un número aleatorio, en su lugar, hablamos de secuencias de números aleatorios independientes (cada número es obtenido por casualidad y no tiene ninguna relación con otros números de la serie), y con una distribución específica (cada número tiene una probabilidad específica de pertenecer a un rango de valores determinado. La mas común es la distribución uniforme, todos los números son igualmente probables).

Existen tests para probar la uniformidad de un generador de números aleatorios, uno de ellos es el Test de Chi Cuadrado (Lectura) o el test de Smirnov-Kolmogorov (Lectura). Aquí se amplia mas este concepto (Lectura)
 


Grandes errores en los generadores de números aleatorios

El caso mas popular fue un generador de números aleatorios llamado RANDU (ver http://en.wikipedia.org/wiki/RANDU ), el cual fue escrito por IBM en Fortran, este se popularizó y dio origen a otros generadores con la misma base. Durante décadas se utilizó para variadas pruebas estadísticas, hasta que se descubrió su error.

Así es su distribución en 2D

Y en 3D

Eligiendo apropiadamente el ángulo, los problemas de RANDU aparecen

http://random.mat.sbg.ac.at/~charly/server/node3.html

 

Actividad 1: Genere una serie de números aleatorios con la API Random de Java o C#, calcule el promedio y la varianza.

 

Actividad 2: Cambie el generador de aleatorios de la actividad 1 con uno congruencial lineal y vuelva a calcular el promedio y la varianza.