Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Func Alea T 0607
Func Alea T 0607
Lenguajes de simulacin
2006-2007
Caractersticas deseables: Exacto, si es posible (existen mtodos aproximados). Eficiente: Poco almacenamiento, rpido, robusto. Sencillo, fcil de comprender y de implementar. Que precise solo nmeros U(0,1) y, si es posible un nmero genere una variable.
Lenguajes de simulacin 2006-2007
Lenguajes de simulacin
2006-2007
Lenguajes de simulacin
2006-2007
Lenguajes de simulacin
2006-2007
2tdt
0
=x ,0x1
2
U=x
-1
A continuacin, se obtiene x, ==> x = F (U) = U, 0 U 1 Por tanto, se pueden obtener valores de x con pdf f(x) = 2x calculando la raiz cuadrada de un nmero aleatorio U.
Lenguajes de simulacin
2006-2007
e x f(x) = 0
Solucin:
0x x<0
1 e x F ( x) = f(t) dt = 0
x
0x x<0
Se hace F(x) = U Se busca la solucin para x, ==> 1 - e-x = U e-x = 1 - U - x = ln(1 - U) x = - {ln(1 - U)} / o - {ln(U)} /
Lenguajes de simulacin 2006-2007
{ / f ( x) =
} x 1 e ( x / ) , x 0 0 , otherwise
Ten en cuenta que a es el parmetro de forma y b el parmetro de escala. Ahora, para generar variables Weibull: Step 1. Step 2. Step 3.
F ( x) = 1 e 1 e ( x / ) = U
cdf:
( x / )
x0
X = [-ln(1-U)] 1/ or X = [-ln(U)] 1/ Nota: La funcin densidad f(x) de una variable aleatoria continua se puede interpretar como la oportunidad relativa de observar variables en diferentes partes del rango.
Lenguajes de simulacin 2006-2007
F(x) = ( x a ) /(b a ) 1
Paso 2. Paso 3.
Lenguajes de simulacin
F(x) = (x - a) / (b - a) = U x = a + (b - a) U
2006-2007
31 10 25 34
La distribucin verdadera, F(x), de tiempos de reparacin (la curva en la siguiente transparencia) se puede estimar mediante la cdf emprica, F(x)(la parte lineal a trozos)
Lenguajes de simulacin 2006-2007
Funciones de distribucin emprica y terica para los datos de los tiempos de reparacin (X 0)
Lenguajes de simulacin
2006-2007
0 ,0 0 ,7 F ( x) = 0 ,8 1, 0
Lenguajes de simulacin
2006-2007
1 t 2 2 dt , - < x < *e ( 2 )
x
Z1 = B cos Z2 = B sin Se sabe que B2 = Z12 + Z22 tiene una distribucin chi-cuadrado de dos grados de libertad, lo que es equivalente a una distribucin exponencial de media 2, por tanto el radio B se puede obtener mediante
B 2 = (2 ln U ) B = (2 ln U )
1 2
Lenguajes de simulacin
2006-2007
c = g ( x)dx f ( x)dx =1
Para c , entonces h(x)=g(x)/c es una funcin densidad. Algoritmo 1. Generar Y teniendo una densidad h. 2. Generar U de U(0,1), independiente de Y. 3. Si U f(Y)/g(Y), entonces hacer XY, sino volver al paso 1. El algoritmo contina haciendo este bucle sobre el paso 1 hasta que se genera un (Y,U) para el que U f(Y)/g(Y) (hasta que aceptamos el valor de Y para Z). La variable aleatoria Z generada por el algoritmo anterior tiene una funcin densidad f.
Lenguajes de simulacin 2006-2007
60Y (1 Y ) 2 U 2,0736
3
f(x)
a
Lenguajes de simulacin
b
2006-2007
2
f(x)
1 1
Antes de escalar
g(x)
Despus de escalar
Ten en cuenta: x = 0 + (1) U = U, y adems g(U) = (1/2) f(U) = (1/2) (2U) = U Por lo tanto, en este ejemplo los pasos se pueden resumir en: 1 Generar U1 y calcular g(U1). 2 Generate U2 y compararlo con g(U1). 3 Si U2 g(U1), se acepta U1 como x con funcin densidad f(x). Si U2 > g(U1) se rechaza U1 y se vuelve al paso 1.
Lenguajes de simulacin 2006-2007
La distribucin se divide en partes y las partes se muestrean en proporcin a la cantidad del rea de la distribucin que contienen.
Una variable aleatoria X est distribuida de acuerdo con una gamma con parmetros y si su funcin densidad est dad por
.( x) 1 e x f ( x ) = ( ) 0
El parmetro se llama parmetro de forma y de escala. En la siguiente transparencia se ven varias distribuciones para = 1 y distintos valores .
Lenguajes de simulacin 2006-2007
.( t ) 1 e t dt 1 ( ) F ( x) = x 0
x>0 x0
Paso 1. Se calcula a = (2 - 1)1/2, b = 2 -ln4 + 1/a Paso 2. Se generan U1 y U2 Paso 3. Se calcula X = [U1 / (1 - U1)]a. Paso 4a. Si X > b - ln(U12 U2), se rechaza X y se vuelve al paso 2. Paso 4b. Si X b - ln(U12 U2), se utiliza X como la variable deseada. Las variables generadas en el paso 4b tendrn una media y una varianza iguales a . Si se desea tener una media 1/ y una varianza 1/2 ,entonces Paso 5. Reemplazar X por X/.
Lenguajes de simulacin
2006-2007
F ( z ) = i Fi ( z )
i =1
i =1
=1
Algoritmo 1. Generar aleatoriamente un entero aleatorio I tal que Pr(I=i) = i for i=1,..,r. 2. Generar aleatoriamente Z de la distribucin FI(Z). 3. Return Z
Lenguajes de simulacin
2006-2007
0,5e x f ( x) = 0,5e x
si x < 0 si x 0
Generar inicialmente U1 y U2 de IID U(0,1). Si U1 < 0,5 devolver X=ln(1-U2). En caso contrario, devolver X=-ln(1-U2) Distribucin hiper-exponencial F(x) = 1F1(x) + 2F2(x) +..+kFk(x) donde Fi(x) es la distribucin exponencial con media bi, i=1,,k.
Lenguajes de simulacin
2006-2007
Mtodo de convolucin
En algunos casos, Z puede ser expresado como la suma de variables IID Y1,.., Yr, de forma que Z=Y1+Y2+..+Yr y generar las Yi puede ser ms fcil que generar Z. Algoritmo 1. Generar IID Y1,..,Yr. 2. Devolver Z=Y1+Y2+..+Yr Ejemplo: Si Z tiene una distribucin Erlang con parmetros r y , entonces Z puede ser expresado como una suma de r exponenciales independientes Yi, cada una con media . Un algoritmo ms eficiente para este ejemplo es Generar r nmeros aleatorios U(0,1). Colocar Z= - ln(U1U2..Ur)= -(lnU1+lnU2+... +lnUr) Nota: No hay que confundir el mtodo de convolucin con el de composicin. En el primero la variable aleatoria X se puede expresar como suma de variables aleatorias Yi mientras en el de composicin la funcin de distribucin de X, F(X), es una suma ponderada de otras funciones de distribucin.
Lenguajes de simulacin 2006-2007
Lenguajes de simulacin
2006-2007
Lenguajes de simulacin
2006-2007
Referencias
Todos las expresiones y ejemplos estn obtenidos de los libros siguientes: Banks, Carson, Nelson, Nicol. Discrete event system simulation (third edition). Prentice-Hall 2001. El captulo 8 est dedicado al tema de generacin de variables aleatorias. Law and Kelton. Simulation Modeling and Analysis (third edition). McGraw-Hill 2000. Tambin es el captulo 8 es el que est dedicado al tema. George S. Fishman. Discrete-Event Simulation. Springer-Verlag 2001. Un enfoque ms estadstico, tambin el captulo 8 es el dedicado a la generacin de variables aleatorias. Existen algunos sitios Web, por ejemplo: http://www.iro.umontreal.ca/~vazquez/SimSpiders/GenerRV/Distributions.html http://cg.scs.carleton.ca/~luc/rnbookindex.html Pgina de Luc Devroye sobre generacin de variables aleatorias
Lenguajes de simulacin
2006-2007