Está en la página 1de 10

Unidad 2.-Números pseudoaleatorios.

La simulación trabaja con modelos estocásticos, son procesos cuya evolución en el tiempo es aleatoria, por
tanto debe de ser capaz de generar valores de variables (x) aleatorias que sean representadas por las f(x)
distribuciones de probabilidades correspondientes a esas variables del modelo.
Los números aleatorios son generados con dispositivos físicos como: la ruleta, dados o sacando manualmente
un número de un dispositivo, por ejemplo, de una urna.
Conforme al aumento del uso de números aleatorios, los investigadores utilizaron dispositivos electrónicos para
obtener una generación más rápida y una mayor cantidad.
Se han diseñado varios esquemas para generar números pseudoaleatorios, a través del uso de relaciones
matemáticas recursivas. Se dice que son números pseudoaleatorios porque a pesar de que estos puedan pasar las
pruebas de aleatoriedad, estos son de hecho determinísticos, porque si utilizamos en el generador los mismos
valores de entrada, se obtienen la misma secuencia de números generados.
Es conveniente señalar que el proceso de generación de variables aleatorias no uniformes se hace a partir de la
generación de números pseudoaleatorios rectangulares o uniformes. De Ahí la importancia de estos números
que se usan para generar otras variables aleatorias que son no uniformes.

Independientemente del proceso que se utilice para generar los números rectangulares, estos deben de poseer
ciertas características que aseguren o aumenten la confiabilidad de los resultados, las cuales son:
 Uniformemente distribuidos.
 Estadísticamente independientes.
 Reproducibles.
 Periodo largo de repetición.
 Generados a través de un método rápido.
 Generados con un método que requiere pocos recursos computacionales.

A los números uniformes o rectangulares generados a través de relaciones de recurrencia se les denomina
números pseudoaleatorios y se encuentran en el intervalo (0,1).

E(x) = (a + b) / 2 y Var(x) = σ2 = (b – a)2 / 12


2.1 Métodos de Generación de valores de variable UNIFORME O RECTANGULARES.
Actualmente, todas las computadoras incluyen programas de biblioteca que generan números pseudoaleatorios.
En esta sección se presentarán tres métodos de generación: el método de cuadrados medios y dos métodos
congruenciales.

El método de cuadrados medios.


Este método lo desarrollo Von Newman y Metrópolis.
El método consiste en generar aleatoriamente un número de cuatro dígitos, denominado la semilla, elevarlo al
cuadrado y establecer una forma de tomar cuatro dígitos centrales del resultado, ya sea quitando dos dígitos o
un dígito de ambos extremos.

Ejemplo 1. Sea la semilla R0 = 4380, que se obtuvo por algún procedimiento aleatorio (urna o tarjetas
numeradas con reemplazo)
Primero, elevamos al cuadrado: (4380)2 = 19184400; eliminando 19 y 00, queda:

R1 = 1844; aplicando iterativamente el procedimiento obtenemos,


(1844)2 =3400336; como el número de dígitos es impar, establecemos el criterio de aumentar un cero por la
izquierda (o por la derecha), y tendremos 03400336; eliminando los dígitos de los extremos: 03 y 36, queda:

R2 = 4003, si repetimos el procedimiento;

(4003)2 = 16024009, eliminando 16 y 09, obtenemos:

R3 = 0240, repitiendo una vez más;

(0240)2 = 57600, como es impar aumentamos un cero, 057600. En este caso eliminamos un digito a los
extremos y se tiene:

R4 = 5760

Se continúan generando valores con el procedimiento hasta lograr los números que se desean o bien hasta que el
procedimiento degenere, es decir cuando se repita una serie de números previamente generados.

Métodos congruenciales.

Se han propuesto varias alternativas para la generación de números pseudoaleatorios a través de relaciones
matemáticas de recurrencia. Actualmente casi todas las computadoras incluyen programas para generar estos
números con alguna variante de los métodos congruenciales sugeridos por Lehmer.
Los dos métodos congruenciales más populares son: el mixto y el multiplicativo.

Método congruencial mixto.


Los generadores congruenciales lineales generan una secuencia de números pseudoaleatorios en el cual el
próximo número pseudoaleatorio es determinado a partir del último número generado, es decir el número
pseudoaleatorio X n+1 es derivado del número pseudoaleatorio X n.
Para el método congruencial mixto, la relación de recurrencia utilizada es:

X n+1 = ( a X n + c ) mod m

Donde : a = Constante multiplicativa.


c = Constante aditiva.
m = módulo de m.
X 0 = Semilla.
Satisfaciendo los siguientes requisitos:

X n, a, c, m ≥ 0 ; enteros y m≥a,m≥c; m≥X0.

Recomendaciones: m debe ser un número primo grande. “a” debe ser entero impar, no divisible entre 3 o 5. y C
se debe cumplir que [c mod 8] = 5

En la relación mod representa la operación aritmética módulo entre los números a y b tal que el resultado de (a mod b) es
el residuo entero de la división de a entre b. Por ejemplo, 16 mod 3 es igual a 1, dado que al dividir 16 entre 3 el residuo
(entero) es 1.

Ejemplo. Sea: a= 5, c= 7, X 0 = 4 y m = 8 ; generar 10 números pseudoaleatorios usando el metodo


congruencial mixto.

n Xn Relación de recurrencia: Xn # aleatorio


( 5 X n-1 + 7 ) mod 8 (módulo)
1 4 (27 / 8) = 3 + 3/8 3 3/8 = .375
2 3 (22 / 8)= 2 + 6/8 6 6/8 = .750
3 6 (37 / 8)= 4 + 5/8 5 5/8 = .625
4 5 (32 / 8) = 4 + 0/8 0 0/8 = 0
5 0 ( 7 / 8) = 0 + 7/8 7 7/8 = .875
6 7 (42 / 8) = 5 + 2/8 2 2/8 = .250
7 2 (17 / 8) = 2 + 1/8 1 1/8 = .125
8 1 (12 / 8) = 1 + 4/8 4 4/8 = .500
9 4 (27 / 8) = 3 + 3/8 3 3/8 = .375
10 3 (22 / 8)= 2 + 6/8 6 6/8 = .750

Si analizamos la tabla, se puede pensar que el periodo de todo generador es m ( 8 en nuestro caso), sin embargo
esto es falso porque el periodo depende de una apropiada selección de los parámetros y de la semilla para que el
generador logre el periodo deseado.

Por ejemplo si: a= 7, c= 7, X 0 = 7 y m = 10, los números generados serían;

n Xn Relación de recurrencia: X n+1 # aleatorio


( 7 X n + 7 ) mod 10 (módulo)
0 7 (56 / 10) = 5 + 6/10 6 6/10
1 6 ( 49 / 10) = 4 + 9/10 9 9/10
2 9 ( 70 / 10) = 7 + 0/10 0 0
3 0 ( 7 / 10) = 0 + 7/10 7 7/10
4 7 (56 / 10) = 5 + 6/10 6 6/10

En este caso se espera que el periodo fuera de 10, pero es de solo cuatro números aleatorios.

Método congruencia multiplicativo.

Al igual que el generador congruencia mixto, el próximo número pseudoaleatorio se determina a partir del
último número generado, y utiliza la siguiente relación de recurrencia:

X n+1 = ( a X n ) mod m
Donde : a = Constante multiplicativa.
m = módulo de m.
X 0 = Semilla.

Satisfaciendo los siguientes requisitos:

X n, a, m ≥ 0 ; enteros y m≥a; m≥X0.

Ejemplo. Sea: a= 3, X 0 = 17 y m = 100 ; generar 10 números pseudoaleatorios usando el método


congruencial multiplicativo.

n Xn Relación de recurrencia: X n+1 # aleatorio


( 3 X n + ) mod 100 (módulo)
0 17 ( 51 / 100 ) = 0 + 51/100 51 .51
1 51 ( 153 / 100 ) = 1 + 53/100 53 .53
2 53 ( 159 /100 ) = 1 + 59/100 59 .59
3 59 ( 177 / 100 ) = 1 + 77/100 77 .77
4 77 ( 231 / 100 ) = 2 + 31/100 31 .31
5 31 ( 93 / 100 ) = 0 + 93/100 93 .93
6 93 ( 279 / 100 ) = 2 + 79/100 79 .79
7 79 ( 237 / 100 ) = 2 + 37/100 37 .37
8 37 ( 111 / 100 ) = 1 + 11/100 11 .11
9 11 ( 33 / 100 ) = 0 + 33/100 33 .33

EL propósito de este apartado es conocer que existen diversos métodos para generar números pseudoaleatorios,
los cuales se encuentran disponibles en calculadoras y computadoras, de ahí que, dado que están disponibles,
estos valores los podremos utilizar en los experimentos si cumplen las condiciones requeridas; Cuando se
desconozca la procedencia, les aplicaremos diversas pruebas estadísticas.
El método que en general se usa para generar números pseudoaleatorios se llama
método congruencial lineal. Este método requiere cuatro enteros: el módulo m, el
multiplicador a, el incremento c y una semilla xo =s que satisfacen:
2 ≤ a<m, 0 ≤ c<m 0 ≤ s<m
Los siguientes valores: x1, x2, x3, … se obtendrán con:
xn = (a xn-1 +c) mod m

sea que
a=16807, Xo = 125 m = 3171 30#s
a=168070, Xo = 124 m = 3171 151#s
2308 125 7223 3480

2.2 Pruebas estadísticas de aleatoriedad, de uniformidad e independencia.

En todos los experimentos de simulación se utilizan variables aleatorias que pueden tener diferente
comportamiento que la distribución uniforme (Normal, Exponencial, Poisson, etc.), las cuales se obtienen a
partir de números uniformes (entre 0 y 1), por lo que se debe de poner énfasis en el generador de números
pseudoaleatorios, ya que la deficiencia estadística de una Distribución no uniforme, se deberá exclusivamente a
un generador deficiente. De ahí la importancia de la aplicación de las pruebas estadísticas que se han
desarrollado para probar la uniformidad y aleatoriedad o independencia de los mismos. A continuación, se
presenta algunas de ellas.

Prueba de uniformidad.

1.) Prueba de promedios. (muy fácil para evaluar solo)


Para realizar la prueba se requiere una muestra de tamaño N de números pseudoaleatorios entre 0 y1.
_
Primero, se evalúa el promedio aritmético. X = (x1 + x2+…+ xn) / n.
_
Segundo, se determina el valor de Z0 real u observada, con la relación: Z0 = ( (X – ½) √N ) / √1/12
Tercero, dado un nivel de significancia α. se determina el valor de Zα/2 teórica o esperada, con la tabla de
normal y Si │Zo │≤ Zα/2; no se rechaza la hipótesis de que los números provienen de una distribución uniforme
con µ= ½.

Ejemplo. Aplicar la prueba de promedios a la siguiente tabla de números aleatorios (Random Rnd), si se acepta
un nivel de significancia α = 5%.

.411 .819 .191 .037 .894 .575


.730 .281 .408 .541 .995 .233
.553 .469 .392 .598 .434 .668
.719 .791 .213 .770 .671 .156
.383 .771 .914 .826 .018 .984

1. El tamaño de la muestra es 30. y la media aritmética es: 16.445 / 30 = 0.5482


_
2. determinar el valor de Z0 = ( (X – ½) √N ) / √1/12

Z0 = ( (0.5482– ½) √30 ) / √0.08333 = 0.9145

3. Si el nivel de significancia α = 5%, entonces:

Zα/2 = Z.05/2 = Z.025; consultando en la tabla de distribución normal estándar obtenemos que Z.025 = 1.96
Rechazo aceptación rechazo

-1.96 .9145 +1.96


Comparando │Zo │ ≤ Zα/2, tenemos que │0.9145 │ ≤ 1.96 , por lo tanto;
no se rechaza que los números de la tabla provienen de una distribución uniforme

2.) Prueba de χ 2 en comportamientos uniformes. UNIFORMIDAD


2
Una de las pruebas más importantes es la prueba de frecuencias χ sobre los números aleatorios.
La prueba consiste en dividir el intervalo (0,1) en n subintervalos.

Frecuencia N/n N/n N/n … N/n


esperada
Frecuencia FO1 FO2 FO3 … FOn
observada
0 1/n 2/n 3/n n/n=1

Luego; se compara la frecuencia esperada con la frecuencia observada. Si estas frecuencias son bastante parecidas,
entonces provienen de una distribución uniforme.
El estadístico utilizado es χ 2 (ji-cuadrada) real u observada en los números pseudoaleatorios y se calcula con la
expresión:
n
χ 2o= ∑ (FOi – FEi)2 / FEi ; donde :
i=1
FOi; es la frecuencia observada del subintervalo i ( cuantos valores se observaron en el intervalo respectivo).
FEi; es la frecuencia esperada del subintervalo i.
N; es el tamaño de la muestra.
n; es el número de subintervalos o clases.
El estadístico χ 2 real u observado se compara con el estadístico tabulado o teorico χ 2 para un nivel de
significancia α y con n-1 grados de libertad.

2 2
Si χ observada ≤ χ teo (α, n-1); no se puede rechazar la hipótesis de que la muestra proviene de una
distribución uniforme.

2
Ejemplo. Realizar la prueba de frecuencias χ a los siguientes 30 números generados, EMPLEANDO 5 CLASES.

.411 .819 .191 .037 .894 .575


.730 .281 .408 .541 .995 .233
.553 .469 .392 .598 .434 .668
.719 .791 .213 .770 .671 .156
.383 .771 .914 .826 .018 .984

Si dividimos el intervalo total (0,1) en 5 ( o más ) subintervalos (clases), tendremos:

clase 0-.199 .2-.399 .4-.599 .6-.799 .8-.999 Total=1


Frecuencia 30/5 6 6 6 6 Total=30
esperada
Frecuencia 4 5 8 7 6 Total=30
observada
(FE-FO)2/
FE

Nota: cada frecuencia observada deberá como mínima de cinco. En caso contrario se acumula en la clase
siguiente. Así:

clase 0-.199 .2-.399 .4-.599 .6-.799 .8-.999 Total=1


Frecuencia 12 6 6 6 Total=30
esperada
Frecuencia 9 8 7 6 Total=30
observada
(FE-FO)2/ (9-12)2 /12 =.75 0.666 0.166 0 χ 2o=1.58
FE

El estimador observado es χ 2o= 1.58

Si α = 5%, tenemos que los grados de libertad son: v = (4-1) = 3, determinando el valor esperado en la tabla de
la distribución Ji- cuadrada : χ 2(5%,3) = 7.81.

Como la χ 2 observada ( 1.58) es menor que la χ 2(5%,4) tabulada (7.81), no se puede rechazar la hipótesis de
que los números generados provienen de una distribución uniforme.

probabilidad

ACEPTACION RECHAZO
7.81
x 0.0 1.58

3.) Pruebas de aleatoriedad. De números uniformes.


Prueba por arriba y por abajo del promedio. Esta prueba requiere de la determinación de la longitud de las
diversas repeticiones, por lo que a continuación se presenta como se realiza.
repetición de longitud nj.
Sea un archivo con una sucesión binaria compuesta por los bits 0 y 1.
Una sucesión de nj “unos”, enmarcada por ceros en cada extremo, recibe el nombre de repetición de “unos” de
longitud nj, de manera análoga se define la corrida de ceros. Por ejemplo, dada la siguiente sucesión binaria:

0 1 0 0 1 1
1 0 0 1 1 0
1 0 0 1 0 1
1 1 0 1 1 0
0 1 1 1 0 1

Leyendo de manera horizontal y de izquierda a derecha, se determinan las sucesiones de “unos” que se leen
entre los ceros, El primer elemento de la sucesión (0) indica el inicio del conteo, el segundo elemento (1)
representa una corrida de longitud uno de “unos” ya que a su derecha se encuentra un símbolo diferente, que es
0.
los elementos en las posiciones tres y cuatro (son 0) entonces aquí existe una longitud cero de “unos”;
los elementos en las posiciones cuatro y ocho (son 0) entonces aquí existe una longitud tres de “unos”;

las sucesiones de “ceros” se leen entre los unos, se encuentran entre los unos de la segunda y quinta posición,
entonces aquí existe una longitud dos de “ceros”;
De igual manera se determinan el resto de las corridas y sus longitudes.
Procedimiento de la prueba.

1. Generar la muestra de tamaño N de números aleatorios binarios (x).

2. generar Rnd:
Si Rndi es menor o igual a 0.5, asignar a xi el valor de 0.
Si Rndi es mayor 0.5, asignar a xi el valor de 1. Detenerse cuando j=N

3. Determinar la frecuencia esperada para cada longitud de corrida i, con:

FEi = ( N – i + 3 ) / 2i +1
Donde N: es el tamaño de la muestra. i es la longitud de corrida
4. determinar la frecuencia observada de cada longitud de corrida i.

2
5. Aplicar la prueba de χ a las longitudes de corridas i.
Nota: cada longitud de corrida debe tener una frecuencia observada mínima de cinco.

Ejemplo.

0 1 0 0 1 1
1 0 0 1 1 0
1 0 0 1 0 1
1 1 0 1 1 0
0 1 1 1 0 1

Se determina la frecuencia observada de la longitud de corrida i(1, 2, 3,…) tanto para 0 como para 1,
obtenemos: contando los 1s (enmarcados por ceros) | contando los ceros (enmarcados por unos)x
Longitud 0 = ||||xx xxxxxx=12 |||| xxxxxxxx
Longitud de corrida 1 = ||| xxxxx= 7 ||| xxxx
Longitud de corrida 2 = ||xxx xx = 6 || xxxx
Longitud de corrida 3 = ||| = 3 |||

Se calcular la frecuencia esperada.


FE0=(30-0+3) / 2 = 16.5
FE1 = ( 30 – 1 + 3 ) / 21+1 = 32 / 4 = 8
FE2 = ( 30 – 2 + 3 ) / 22+1 = 31 / 8 = 3.875
FE3 = ( 30 – 3 + 3 ) / 23+1 = 30 / 16 = 1.875
En resumen se tiene la siguiente tabla de frecuencias esperadas:

Como puede observarse la longitud de la corrida 3 es menor que 5, por lo tanto, las frecuencias de las longitudes
de corrida 3 se unen con las de la 2 y se obtiene:

Longitud Frecuencia Frecuencia X2=(FE – FO)2 /


de corrida i esperada observada FE
0 16.5 12 1.2272
1 8 7 0.125
2 5.75 9 .2479

χ 2 = 1.6001
2
Determinando el valor en la tabla de la distribución χ (Ji- cuadrada), para un nivel de significancia de 5% y
grados de libertad v = (3-1) = 2 : χ 2(5%,2) = 5.99

Como χ 2 (observada) = (1.60 ) es menor que la tabulada (χ 2(5%,2) = 5.99), entonces se concluye que
“no se puede rechazar la aleatoriedad de los números de la muestra dada”.

probabilidad

ACEPTACION RECHAZO
1.6 5.99
x 0.0

2
Notese los pasos de aplicación de la prueba χ :
1º obtener la frecuencia observada fo,
2º calcular la frecuencia esperada fe,
2
3º calcular χ i para cada clase i,
2 2
4º calcular χ (obs), la suma de las χ anteriores
2
5º obtener la χ (esp), con la tabla (el valor frontera de aceptación), y
6º describir la conclusión.

4.)Prueba de INDEPENDENCIA (poker con dígitos) de los valores generados.


Esta prueba se realiza agrupando de 5 en 5 los dígitos generados, se clasifican como: todos diferentes, un par,
dos pares, tercia, full, poker y quintilla (todos iguales). Si los dígitos son del rango [0, 9], y tomamos 5 dígitos a
la vez, hay 105 , formas de obtenerlo.
entonces las probabilidades esperadas para cada una de las posibles clases de 5 dígitos son:
en caso de que sean todos diferentes: (10 x 9 x 8 x 7 x 6)/105 = 0.3024
si los dígitos forman un par: (10 x 1 x 9 x 8 x 7)/ 105 x (5C2) = 0.5040
si los dígitos forman 2 pares: (10 x 1 x 9 x 1 x 8)/ 105 x (5C2) x (3C2)= 0.1080
si los dígitos forman tercia: (10 x 1 x 1 x 9 x 8)/ 105 x (5C3) = 0.0720
si los dígitos forman full: (10 x 1 x 1 x 9 x 1)/ 105 x (5C3) x (2C2)= 0.0090
si los dígitos forman poker: (10 x 1 x 1 x 1 x 9)/ 105 x (5C4) = 0.0045
si los dígitos forman quintilla: (10 x 1 x 1 x 1 x 1)/ 105 x (5C5) = 0.0001

Por ejemplo sean los dígitos:


43923 61394 21569 28490 23439 51505 67879 55452 72422 45444 34633 77676 13173
88888 24177 94949 59333 77399 92992 34347 45850 62783 24529 27489 37149

De donde podemos clasificar y contar el total de datos n=25 y:

Clase (i) Probabilidad Frecuencia Frecuencia X2 (i)


teorica de (i) esperada de (i) observada de (i)
P(i) Fe(i)=P(i)*n Fo(i)
diferentes 0.3024 7.56 llll l=6 |7.56-6|2/7.56=.3219
un par 0.5040 12.6 llll l=6 |12.6-6|2/12.6=3.4571
2 pares 0.1080 2.7 llll=3
tercia 0.0720 1.8 llll =5
full 0.0090 0.225 .23875 ll1 =3 5
poker 0.0045 0.1125 .01375 1 =1
quintilla 0.0001 0.0025 1 =1

Clase (i) Probabilidad Frecuencia Frecuencia X2 (i)


teorica de (i) esperada de (i) observada de (i)
P(i) Fe(i)=P(i)*n Fo(i)
diferentes 0.3024 7.56 llll l=6 |7.56-6|2/7.56=0.3219
un par 0.5040 12.6 llll l=6 |12.6-6|2/12.6=3.4571
tercia 0.0720 1.8 llll =5 |1.8-5|2/1.8 =5.6888
2 pares 0.1080 2.7 3.04 llll=3 8 |3.04-8|2/3.04=8.0926
full 0.0090 0.225 .34 ll1 =3
poker 0.0045 0.1125 .115 1 =1
quintilla 0.0001 0.0025 1 =1

 X2 (i)= X2 (obs)= 17.5604

2
Determinando el valor en la tabla de la distribución χ (Ji- cuadrada), para un nivel de significancia de 5% y
grados de libertad v = (4-1) = 3 : χ 2(5%,3) = 7.81.

Como χ 2 (observada) = ( 17.56) es mayor que la tabulada (χ 2(5%,3) = 7.81), entonces se concluye que
“se puede rechazar la independencia de los números de la muestra dada”.

probabilidad

ACEPTACION RECHAZO
7.81
X 0.0 17.56

También podría gustarte