Está en la página 1de 40

Generación de Números

Seudo-Aleatorios

En la práctica ninguna función


produce datos aleatorios
verdaderos.
Las funciones producen números
pseudo-aleatorios.

1
Generación de Números
Seudo-Aleatorios

Un elemento importante en simulación es tener


rutinas que generen variables aleatorias con
distribuciones específicas: uniforme, normal, etc.

Para ello la base es generar una secuencia de


números aleatorios distribuidos uniformemente entre
0 y 1.

Y para ello la clave es generar números enteros


aleatorios y uniformemente distribuidos en un cierto
intervalo de una manera eficiente.
2
Técnicas para generar números
aleatorios

 
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.
 
 

3
Técnicas para generar números
aleatorios

 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
 
X02 = (5497)2 = 30,217,009 ===> X1 = 2170
  R1 = 0.2170

X12 = (2170)2 = 04,708,900 ===> X2 = 7089


  R2 = 0.7089

4 X22 = (7089)2 = 50,253,921 ===> X3 = 2539


Operación mod

 k mod m es el residuo de hacer la división de


k entre m

Sea x un entero grande


45 mod 12 =
(5+55x) mod 5 =
(5+55x) mod 11 =
5
Método de la Congruencia Lineal

6
El número aleatorio se encuentra de la siguiente manera:
R = x /m
7
8
Usar Excel para calcular los números aleatorios
que se producen para m = 15, a = 12 y c = 0
con las semillas x0 = 0, hasta 14.
Ejercicio 1
a = 12 c= 0 m = 15

x0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

x1 0 12 9 6 3 0 12 9 6 3 0 12 9 6 3
x2 0 9 3 12 6 0 9 3 12 6 0 9 3 12 6
x3 0 3 6 9 12 0 3 6 9 12 0 3 6 9 12
x4 0 6 12 3 9 0 6 12 3 9 0 6 12 3 9
x5 0 12 9 6 3 0 12 9 6 3 0 12 9 6 3
x6 0 9 3 12 6 0 9 3 12 6 0 9 3 12 6
x7 0 3 6 9 12 0 3 6 9 12 0 3 6 9 12
x8 0 6 12 3 9 0 6 12 3 9 0 6 12 3 9
x9 0 12 9 6 3 0 12 9 6 3 0 12 9 6 3
x 10 0 9 3 12 6 0 9 3 12 6 0 9 3 12 6
x 11 0 3 6 9 12 0 3 6 9 12 0 3 6 9 12
9 x 12 0 6 12 3 9 0 6 12 3 9 0 6 12 3 9
Usar Excel para calcular los números aleatorios
Ejercicio que se producen para m = 15, a = 12 y c = 0
con las semillas x0 = 0, hasta 14.

Para x0 = 1: ¿Cuál es el período, la longitud es del


ciclo y la longitud de la cola ?.

R: 5, 4, 1.

10
Usar Excel para calcular los números aleatorios
Ejercicio que se producen para m = 15, a = 12 y c = 0
con las semillas x0 = 0, hasta 14.

11
GCL Multiplicativos

Periodo completo = Cuando tiene el máximo periodo


posible, m – 1.

Los hay con m potencia de 2 (m = 2k ) que son rápidos pues el


residuo en divisiones con potencia de 2 puede hacerse rápidamente.
Aunque tienen la desventaja que no son de periodo completo
pueden ser suficientes para muchas aplicaciones.

Cuando m no es potencia de 2 el generador es menos rápido; se


acostumbra elegir un número m que sea primo y la relación entre m
y a debe ser especial para que el generador tenga un periodo
12 completo o al menos grande.
13
14
Ejercicio 2

Suponiendo que se utilice el generador de números


seudo-aleatorios.

y que la semilla se escoge eligiendo al azar un entero


entre 1 y 26 − 1 inclusive, determine el promedio de la
longitud del periodo y su desviación estándar.
15
Varianza y Desviación Estándar
para una muestra de datos.

  x
2

 x  X   x
n
2
i
2
i  i

Varianza: S 
2 i 1
 n
n 1 n 1

Desviación Estándar: s  s2

16
Ejercicio
1. Determina el rango, la varianza y la desviación estándar para los
siguientes datos:
2 4 3 5 2 2 0 1

R = Rango 5; Varianza 2.5536 y Desviación Estándar 1.5980

2. Determina el rango, la varianza y la desviación estándar para los


siguientes datos:
-2 -4 -3 -5 -2 -2 0 -1
R = Rango 5; Varianza 2.5536 y Desviación Estándar 1.5980

3. Determina el rango, la varianza y la desviación estándar para los


siguientes datos:
6 12 9 15 6 6 0 3
R = Rango 15; Varianza 22.9821 y Desviación Estándar 4.7940
17
Ejercicio

Frecuentemente se utilizan generadores de números seudo-


aleatorios en forma encadenada; por ejemplo, el número que
sale de

xn+1 = (81 ・ xn + 121) mod 255

es utilizado por

yn+1 = (625 ・ xn+1 + 48) mod 63

para producir el número yn+1 que es el que se reporta.


Usando la semilla x0 = 23 y los datos anteriores, determine los
18 primeros 2 números aleatorios generados (y1 y y2).
Otro ejercicio

Frecuentemente se utilizan generadores de números seudo-


aleatorios en forma encadenada; por ejemplo, el número que
sale de

xn+1 = (45 ・ xn + 71) mod 127

es utilizado por

yn+1 = (125 ・ xn+1 + 11) mod 63

para producir el número yn+1 que es el que se reporta.


Usando la semilla x0 = 49 y los datos anteriores, determine los
19 primeros 2 números aleatorios generados (y1 y y2).
Probando generadores de números
aleatorios

Es importante asegurarse de que el generador usado


produzca una secuencia suficientemente aleatoria.
Para esto se somete el generador a pruebas
estadísticas. Si no pasa una prueba, podemos asumir
que el generador es malo. Pasar una prueba es una
condición necesaria pero no suficiente. Un generador
puede pasar una prueba y luego no pasarla si se usa
otra semilla u otro segmento del ciclo.

20
¿Cómo sabemos que nuestro
generador es bueno?

PRUEBAS GRÁFICAS
• Gráfica de Serie de Tiempo.
• Tablas de frecuencias e histogramas

PRUEBA ESTADÍSTICA
• Prueba Ji-cuadrada

• Usar el ejemplo: xn+1 = (75 ・ xn) mod 231 – 1


Con semilla = 1, los primeros 200 números generados.
21
Gráfica de Serie de Tiempo
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181 191 201

1
0.9 Es
0.8
0.7
importante
0.6 observar que
0.5
0.4 NO exista
0.3
0.2
ningún
0.1 patrón o
0
0 20 40 60 80 100 120 140 160 180 200 tendencia.
22 xn+1 = (75 ・ xn) mod 231 – 1
Con semilla = 1, los primeros 200 números generados
¿Cómo sabemos que nuestro
generador es bueno?

¿Cuál de estas series de números


parecen venir de un buen generador?

Generador Uniforme Generador Uniforme?

1.25
1
1
0.75
0.8
random

0.5 0.6
0.25 0.4
0
0.2
-0.25
-0.5 0
0 50 100

23
Tabla de frecuencias e histograma

Intervalo Frecuencia
[0, 0.1) 21 Histograma
[0.1, 0.2) 19 30
25
[0.2, 0.3) 20
Frecuencias 20
[0.3, 0.4) 16 15
[0.4, 0.5) 25 10

[0.5, 0.6) 20 5
0
[0.6, 0.7) 20 [0, 0.1) [0.1, [0.2, [0.3, [0.4, [0.5, [0.6, [0.7, [0.8, [0.9,
0.2) 0.3) 0.4) 0.5) 0.6) 0.7) 0.8) 0.9) 1.0)
[0.7, 0.8) 17
Intervalo
[0.8, 0.9) 20
[0.9, 1.0) 22
200
24
Números aleatorios entre 0 y 1
f(x)
1, 0  x  1
f(x) = 1
0, en otro caso
Func
ión d
e de
nsid 1 x
ad d
e pro
b ab i
lidad
F(x)
0, x < 0
F(x) = x, 0  x  1 1
1, x<1
Func
P(X ión de p
<= x roba
) bil idad
acum 1 x
ulad
a :
25
Números aleatorios entre 0 y 1

* 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).

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.

26
Prueba estadística Ji-cuadrada
Esta es la prueba más comúnmente usada. En general, puede ser usada
para cualquier distribución.

A partir de un histograma, se comparan las frecuencias observadas


con las frecuencias obtenidas de la distribución específica (frecuencias
esperadas).
Frecuencia Frecuencia
Intervalo
Observada Esperada
I1 O1 E1
I2 O2 E2
… … …
Ik Ok Ek
Total Total
27
Prueba estadística Ji-cuadrada
 Hipótesis nula. Ho: no hay diferencia entre frecuencias
observadas y esperadas.
 Hipótesis alternativa. Ha o H1 : existe una diferencia entre
frecuencias observadas y esperadas.

Estadístico de prueba:

Si el ajuste es exacto, c02 es cero, pero por aleatoriedad no lo


será. Se puede demostrar que tiene distribución ji-cuadrado con
k-1 grados de libertad.
28
Distribución Ji-cuadrada

Ejercicio:
29 Determine el 95º percentil de la distribución ji-cuadrada con 6 grados de libertad.
Prueba estadística Ji-cuadrada
Los grados de libertad son iguales a: número de filas - 1

Región de Rechazo:

 
2
0
2
 , k 1

En esta prueba se debe


cuidar que las frecuencias
esperados sean mayores
30 o iguales a 5.
Prueba estadística Ji-cuadrada
Ejercicio 3

Generador:
xn+1 = (75 ・ xn) mod 231 – 1

Con semilla = 1, los primeros 200 números generados.

Realizar la prueba estadística ji-cuadrada para probar si los


valores vienen de una distribución uniforme.
Usar nivel de significancia = a = 0.05

 Ho: Los valores provienen de una distribución uniforme.


 Ha: Los valores NO provienen de una distribución uniforme.

31
Prueba estadística Ji-cuadrada
Ejercicio 3 Intervalo
Frecuencia Frecuencia (observado - esperado) 2
Observada Esperada esperado
[0, 0.1) 21 20 0.05
[0.1, 0.2) 19 20 0.05
[0.2, 0.3) 20 20 0
[0.3, 0.4) 16 20 0.8
[0.4, 0.5) 25 20 1.25
[0.5, 0.6) 20 20 0
[0.6, 0.7) 20 20 0
[0.7, 0.8) 17 20 0.45
[0.8, 0.9) 20 20 0
[0.9, 1.0) 22 20 0.2
Total 200 200 2.8

 
2
10
 Oi  Ei  2
 2.8 Estadístico de prueba
0
i 1 Ei
32
Prueba estadística Ji-cuadrada
Ejercicio 3

Región de Rechazo:

 
2
0
2
 , k 1

2 ,k 1   02.05,9
 16.919
2.8 no es mayor que 16.919,
por lo que el estadístico de Conclusión: Ho NO se rechaza.
prueba NO cae en la región Los valores generados sí parecen
de rechazo. venir de una distribución uniforme
33
Ejercicio 4

Generador:
xn+1 = (57 ・ xn) mod 215 – 1

Con semilla = 1, considere los primeros 100 números generados


entre 0 y 1.

Realizar la prueba estadística ji-cuadrada para probar si los valores


vienen de una distribución uniforme.
Usar 10 intervalos.
Usar nivel de significancia = a = 0.05.

34
Ejercicio 5

Usando el método del cuadrado medio y


semilla = 5896, se generaron los
Intervalo Frecuencia
primeros 80 números aleatorios.
[0, 0.125) 16
Realizar la prueba estadística ji-
[0.125, 0.25) 12
cuadrada para probar si los valores
provienen de una distribución uniforme. [0.25, 0.375) 11
[0.375, 0.5) 11
Usar 8 intervalos y un nivel de [0.5, 0.625) 8
significancia = a = 0.05. [0.625, 0.75) 6
[0.75, 0.875) 7
[0.875, 1.0) 9
80
35
Ejercicio 6

Generador: Intervalo Frecuencia

xn+1 = (57 ・ xn) mod 215 – 1 [0, 0.125) 22


[0.125, 0.25) 7
Con semilla = 14, considere los primeros 100 [0.25, 0.375) 18
números generados entre 0 y 1. [0.375, 0.5) 13
[0.5, 0.625) 21
Realizar la prueba estadística ji-cuadrada
para probar si los valores vienen de una [0.625, 0.75) 4
distribución uniforme. [0.75, 0.875) 9
Usar 8 intervalos. [0.875, 1.0) 6
Usar nivel de significancia = a = 0.05. 100

36
Generación de variables
aleatorias discretas
Suponga que un determinado fenómeno aleatorio tiene la
siguiente distribución de probabilidad:

Variable Probabilidad Acumulada


18 cm. 0.3 0.3
19 cm. 0.4 0.7
20 cm. 0.3 1

0  R  0.3 entonces x = 18 grs.


0.3 < R  0.7 entonces x = 19 grs.
0.7 < R  1 entonces x = 20 grs.

37 Para esto, se necesitan números aleatorios R entre 0 y 1.


Ejercicio 7
Usar el generador:
xn+1 = (57 ・ xn) mod 215 – 1 Con semilla = 1.

a) Generar 100 valores de la distribución:


Variable Probabilidad
18 cm. 0.3
19 cm. 0.4
20 cm. 0.3

b) Utilizar la prueba ji-cuadrada para decidir si los valores generados


realmente parecen tener la distribución de probabilidad anterior (a
= 0.05).
c) Usar 20 semillas y observar en cuántos casos la prueba se
38 rechaza.
Números aleatorios con distribución
normal

En Excel.

=NORMINV(RAND(),500,50)

aleatorio entre 0 y 1 media desv. std.


(puedes usar tu
propio generador)

39
Ejercicio 8
Usar el generador:
xn+1 = (59 ・ xn) mod 217 – 1 Con semilla = matrícula menor del equipo.

a) Generar 500 valores de la distribución uniforme continua entre 0 y 1 con el


generador.

b) Usar esos valores para generar 500 números aleatorios de la distribución


normal con media 100 y desviación estándar 16 (distribución del puntaje de
IQ).
c) Utilizar la prueba ji-cuadrada para decidir si los valores generados realmente
parecen tener la distribución normal (a = 0.01).
En la tabla de frecuencias, calcular a mano 3 frecuencias esperadas (mostrar
procedimiento usando editor de ecuaciones). Escribir conclusión (sí o no se
trata de un buen generador de números normales).
d) Construir el histograma de frecuencias observadas y el histograma de
frecuencias esperadas.

e) Usar 20 semillas y observar en cuántos casos la prueba se rechaza. Indicar


40 qué semillas se usaron y cuál fue el valor del estadístico en cada caso.

También podría gustarte