Está en la página 1de 27

Introducción

 Los números aleatorios son un ingrediente básico para


simular casi cualquier sistema discreto. La gran mayoría de
programas contienen una subrutina de generación que facilita
su utilización.
 Si se trata de un lenguaje de programación, es necesario
generar un número aleatorio y de estos partir para la
generación de variables aleatorias.
 A continuación, se explican las técnicas básicas para la
generación de números aleatorios y posteriormente técnicas
para la generación de variables aleatorias a partir de estos
números
Propiedades de los números
aleatorios
 Toda serie de números aleatorios R1, R2, … Rn, debe
cumplir con dos propiedades fundamentales,
Uniformidad e Independencia. Esto a su vez significa
que:
 Si se grafican los números aleatorios en el intervalo [0,1] y este
es dividido a su vez en n clases ó subintervalos de igual
magnitud, el número esperado de observaciones en cada
intervalo es de N/n donde N es el número total de
observaciones.
La probabilidad de observar un valor en un intervalo particular es
independiente del valor inmediatamente anterior.
Generación de números
pseudo-aleatorios
 Si hablamos de Pseudo generar, queremos decir que
esta generación es falsa por naturaleza.
 Siempre que utilizamos una técnica para generar
números aleatorios, significa a su vez que hay una
ecuación o fórmula que permite dicha generación por
tanto es pronosticable de alguna manera (ejemplo,
revisar los números decimales de PI).
 Para evitar estos inconvenientes, se acuden a
generaciones computacionales que eviten estos
problemas, no obstante, analizaremos solo un método
matemático que a su vez tiene dos composiciones.
Técnica de congruencia lineal
 Este método propuesto inicialmente por Lehmer (1951) produce una
secuencia de enteros X1, X2,… entre 0 y m-1 de acuerdo a la
siguiente relación:
Xi1   aX i  cmod m, i  0,1, 2...

 El valor inicial X0, es llamado semilla, a es el multiplicador, c es el


incremento y m el módulo (módulo hace referencia al remanente ó
decimal producto de la división, así pues si decimos que 143mod100,
debemos dividir 143 entre 100 obteniendo 1.43, lo que quiere decir que su
módulo es 43).
 Si c es diferente de cero, se llama método de congruencia lineal
mixto, de lo contrario se conoce como método de congruencia lineal
multiplicativo.
 La selección de las constantes a, c y m, así como de la semilla,
afectan drásticamente el resultado de los números y por ende sus
propiedades y longitud de ciclo.
Ejemplo numérico 1
 Use el método de congruencia lineal mixto para generar una
secuencia de números aleatorios con X0=27, a=17, c=43 y m=100.
Nótese que siempre los resultados estarán comprendidos entre 0 y
100 que es el módulo elegido. Así mismo, debe tener en cuenta que
el resultado debe ser dividido por el módulo (100) para obtener un
intervalo más adecuado.
 Solución: El desarrollo comienza por incluir la semilla en el número
siguiente. El resultado de este número se vuelve a incluir en el la
siguiente generación y así sucesivamente hasta obtener la serie
total de números.
X 0  27  R0  0.27
2
X  17 * 27  43mod100  502 mod100  2  R   0.02
1 1
100
X  17 * 2  43mod100  77 mod100  77  R
77  0.77
2 2
100
X  17 * 77  43mod100  1352 mod100  52  R
52  0.52
3 3
100
Test para números aleatorios
 Una vez obtenida la serie de números aleatorios, es
necesario revisarla para garantizar que cumpla con las
propiedades (uniformidad e independencia).
 Existen dos métodos básicos según la propiedad que se
desee comprobar.
 Test de frecuencia: Utiliza el test de Kolmogorov-Smirnov o el
test de Chi cuadrado para comparar la serie con una distribución
uniforme (este concepto ya es conocido por el estudiante).
 Test de autocorrelación: Mide la correlación entre números y
compara la muestra con una correlación cero, es necesario
generar correlogramas y una prueba de hipótesis basada en la
distribución normal (solo se enunciará).
Test para números aleatorios
Frecuencia (Kolmogorov-Smirnov)
Pasos mediante la prueba de Kolmogorov-Smirnov:
 Ordene los datos en forma ascendente
 Halle los valores de D+ y D-
i  
D  max R  D  max R i 1
 

 i   i 
N N
   

 Establezca el mayor de todos D  max  D  , D  

 Compare este valor máximo con el valor crítico de la tabla


Kolmogorov-Smirnov (diapositiva siguiente).
 Si D<=Dcrítico, no hay diferencias entre la distribución analizada y
una distribución uniforme.
Test de frecuencia por Kolmogorov-Smirnov
Tabla de valores críticos de D
Test para números aleatorios
Frecuencia (Chi cuadrado)
 Esta prueba utiliza el estadístico Chi comparando los datos
observados contra los esperados haciendo antes una ordenación
por clases, donde los datos esperados en cada clase, por tratarse
de una distribución uniforme, son iguales en todos los casos (Ei)

n
 O E 2 N
0 
x 
2
E  n
i

i E i  

i1 i

 Se espera entonces que la muestra analizada se distribuya Chi


cuadrado con n-1 grados de libertad.
 Si Xo calculado < Xo tablas entonces se acepta la hipótesis nula
de que se trata de una distribución uniforme.
Test de frecuencia por Chi-Cuadrado
Tabla de distribución Chi de Pearson con n grados de libertad
Test para números aleatorios
 Autocorrelación:
 Test de Durbin-Watson para autocorrelación positiva y negativa
 Función de Autocorrelación Parcial (PACF)
 Prueba de colas en una distribución Normal.
Sí hay
Autocorrelación

No hay
Autocorrelación
Ejemplo numérico 2
 Suponga que han sido generados los siguientes números aleatorios
y se desea saber si cumplen con la propiedad de uniformidad
mediante el test de Kolmogorov-Sminrnov con un nivel de
significancia del 5%. (0.44, 0.81, 0.14, 0.05, 0.93)
 Solución:
 Primero debemos ordenar los números en forma ascendente y
aplicamos las fórmulas respectivas.
i Ri i /N i /N-Ri Ri-(i -1)/N
 Hallamos entonces el máximo D, esto es 1 0.05 0.2 0.15 0.05
 i   2 0.14 0.4 0.26 -0.06
 
D  max D , D 
  max max  R , max R

i 1 3 0.44 0.6 0.16 0.04
      4 0.81 0.8 -0.01 0.21
N 
i i
N
     5 0.93 1 0.07 0.13
Maximo 0.26 0.21
 Tenemos entonces que D=0.26
 Comparamos este valor con la tabla de valores críticos de D para un
nivel del 5% (0.563) y como D<Dcrítico, la hipótesis que la distribución de
la serie es uniforme NO es rechazada.
Generación de variables
aleatorias
 La sola generación de números aleatorios es
indispensable más no suficiente para una
simulación ya que en la mayoría de los casos
es necesario utilizar una distribución de
probabilidades asociada al sistema a
modelar.
 A continuación, examinaremos la técnica
más utilizada para la generación de variables
aleatorias a partir de números aleatorios.
Técnica de la transformada
inversa
 La TTI puede utilizarse en cualquier distribución
de probabilidad donde conozcamos su función
de distribución acumulada.
 Para hacer una explicación detallada,
tomaremos como ejemplo la distribución
exponencial. Esta distribución tiene entonces:
e x x  0
 Función de densidad: f  x  
0 x 0
x 1 e x x  0

f xdx  

 Función de probabilidad: F  x   
Técnica de la transformada
0 x
inversa 
0
Técnica de la transformada
inversa
 La idea es sustituir la serie de números aleatorios en la
función de distribución acumulada FDA, en resumen los
pasos son los siguientes:
1. Hallar la función de distribución acumulada F(x)
2. Igualar la FDA a R
3. Resolver la ecuación F(x)=R en términos de x

F  x   1 e x  R

e x  1 R

  x  ln 1 R  
Función generadora de
1
x   ln 1 R   variables aleatorias para la

Técnica de
distribuci
la transformada
inversa ón
exponen
cial
Técnica de la transformada
inversa
 Esta función también puede notarse como X=F-1(R)
en cualquier distribución de probabilidad.
 Con este resultado, sustituimos cada uno de los
números de la serie aleatoria y podemos construir
una función de probabilidad con una distribución
específica, muy útil para utilizarla en simulaciones
posteriores.
 A continuación examinaremos esta técnica en otra
distribución (Weibull).
Técnica de la transformada
inversa
 Función generadora de variables aleatorias para la
distribución Weibull

 B 
 x
F  x   1 e R
 B    1 R

 x
e
 B

 x   ln 1 R  

1 

B   ln 1 R  
x

x  B  ln 1 R  
1

Ejemplo numérico 3
 Suponga la serie de números aleatorios
R (Aleatorio Xi (expo
hallada en el ejemplo numérico 1. inicial) resultante)
 Sobre esta serie aplique la función 0.27000 0.052451791

generadora de variable aleatoria 0.02000 0.003367118


0.77000 0.244945995
exponencial, asumiendo un parámetro
0.52000 0.122328196
lambda de 6.
0.27000 0.052451791

x   ln 1 R 
1 0.02000 0.003367118

 0.77000 0.244945995
0.52000 0.122328192
 Etc.. Etc..

 La serie x resultante es una distribución


Distribución Distribución
exponencial con media 1/lambda (1/6). Uniforme Exponencial
TTI
60 100.00%
90.00%
Distribución 50 80.00%
uniforme 40 70.00%

Frecuencia
60.00% Frecuencia
(números 30 50.00%
% acumulado
aleatorios 20
40.00%
30.00%
generados 20.00%
10
con el 10.00%
0.00%
método de
congruencia
lineal mixto)

250 100.00%
90.00%
200 80.00%
70.00%
Frecuencia

150 60.00% Frecuencia


50.00% % acumulado
Distribución
100 40.00% exponencial
30.00%
50 20.00% resultante al
10.00% aplicar la
0.00%
TTI
Algunas funciones de TTI*
Distribución Generador Parámetros

Uniforme Ui  a   b  a  ri  a = límite inferior


b = límite superior
 c  a Uniforme:
a   b  a c  a  ri , si ri  a = límite inferior
Triangular Ti  
 b  a c = moda de la distribución
Triangular:
a  c  a b = límite superior
 b  a  b  c 1 ri , si ri 
 b  a
 = media de la distribución

Normal 

 
Ni   2ln 1 ri  cos  2 r j    
  = Desviación estándard.


Normal:
Ni   
 2ln 1 ri  sin  2 r j  
  

1 Exponencial:
Exponencial E ln1 r  1/= media de la distribución

i
i

x  B ln 1 R Poisson:


Weibull 1

Inicialización: Hacer N=0, T=1 y generar un aleatorio ri.


Paso 1: Calcular T’=Tri.
Poisson Paso 2: Si T’>=e-, entonces hacer N=N+1, T=T’ y
calcular otro ri, y regresar al paso 1.
Si no, la variable generada está dada por Pi=N.

*Tomado de: García, Eduardo. Simulación y análisis de sistemas con Promodel, cap 3.
Intervalos de confianza
 Simulaciones terminales: Intervalo definido o eventos que dan por terminada la
simulación

IC  x  s  t / 2,r 1  ,

x
s
 t / 2,r 1  Distribuciones normales Donde:
 r r

r =número de réplicas
 s  s
IC  x  , x   = nivel de rechazo
 
r / 2 r / 2  Otras distribuciones
 

 Simulaciones no terminales o de estado estable: Independientemente del tiempo


transcurrido, los elementos se estabilizan en un comportamiento determinado. Este caso
requiere del cálculo de longitud de réplicas.
 Longitud de réplicas: Se debe garantizar que la variación entre réplicas no sea
significativa.
Z 
2

Distribuciones normales
n   /2 
  
1
2
Otras distribuciones
n 
   

También podría gustarte