SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
Generación de variables aleatorias




                          Introducción
                          Métodos de generación:
                                    Transformada Inversa
                                    Aceptación-Rechazo
                                    Composición
                                    Convolución
                          Referencias




Lenguajes de simulación                                                                  2006-2007




Generación de variables aleatorias. Introducción

 De forma general, el proceso de simulación necesita la generación de datos
 semejantes a los que se producen en la realidad, lo que precisa la posibilidad de
 generar variables aleatorias de varias distribuciones, por ejemplo la exponencial.
 El algoritmo concreto a utilizar dependerá de la distribución a generar, pero de
 forma general tendrá las siguientes etapas:

     Generar uno a más                     Transformación              Obtener X de la
     números aleatorios                   dependiente de la             distribución
          U(0,1)                             distribución                 deseada

 Características deseables:
                    Exacto, si es posible (existen métodos aproximados).
                    Eficiente: Poco almacenamiento, rápido, robusto.
                    Sencillo, fácil de comprender y de implementar.
                    Que precise solo números U(0,1) y, si es posible un número genere
                    una variable.
Lenguajes de simulación                                                                  2006-2007
Algunas distribuciones utilizadas




Lenguajes de simulación                                                         2006-2007




 Método de la transformada inversa (I)

Teorema: Sea {F(z), a ≤ z ≤ b} una función de distribución con función de
distribución inversa
                          F-1(u):=inf{z∈[a,b]: F(z) ≥ u, 0 ≤ u ≤ 1}
Sea U una variable aleatoria de U(0,1). Entonces Z=F-1(U) tiene la función de
distribución F.
Prueba: Pr(Z ≤ z) = Pr(F-1(U) ≤ z) = Pr (U ≤ F(z)) = F(z)
Algoritmo
1. Generar un U aleatorio de U(0,1)
2. Z ← F-1(U)
3. Devolver Z requiere la posibilidad de evaluar F-1(U)




Lenguajes de simulación                                                         2006-2007
Método de la transformada inversa (II)




Lenguajes de simulación                                               2006-2007




  Método de la transformada inversa (ejemplo 1)

Consideremos el caso de generar variables aleatorias con una funcion
densidad f(x) = 2x, 0 ≤ x ≤ 1

Solución:
                          x
      F(x) =        ∫ 2tdt
                      0
                              =x ,0≤x≤1
                               2


                                                  2
      Ahora hacemos F(x) = U ==>          U=x

      A continuación, se obtiene x, ==> x = F (U) = √U, 0 ≤ U ≤ 1
                                             -1


Por tanto, se pueden obtener valores de x con pdf f(x) = 2x calculando la
raiz cuadrada de un número aleatorio U.




Lenguajes de simulación                                               2006-2007
Método de la transformada inversa (ejemplo 2)
  Sea el caso de generar variables aleatorias x con función densidad:

                                              ⎧λe −λx
                                              ⎪              0≤x
                                       f(x) = ⎨
                                              ⎪0
                                              ⎩              x<0


  Solución:                        x           ⎧1 − e − λx
                                               ⎪             0≤x
                          F ( x) = ∫ f(t) dt = ⎨
                                  −∞           ⎪0
                                               ⎩             x<0

          Se hace F(x) = U
          Se busca la solución para x, ==>
              1 - e-λx = U
                   e-λx = 1 - U
                  - λx = ln(1 - U)
                      x = - {ln(1 - U)} / λ o - {ln(U)} / λ
Lenguajes de simulación                                                                     2006-2007




  Método de la transformada inversa (ejemplo 3)
Distribución Weibull – buena para modelar “el tiempo para fallo” de
máquinas, componentes, etc.
                                      ⎧{ β / α
                                      ⎪             β                             β
                                                        } ⋅ x β −1 e − ( x / α ) , x ≥ 0
               pdf:          f ( x) = ⎨
                                      ⎪
                                      ⎩                  0 , otherwise
Ten en cuenta que a es el parámetro de forma y b el parámetro de escala.
  Ahora, para generar variables Weibull:
                                                                   −( x / α ) β
                 Step 1.                  cdf:   F ( x) = 1 − e       ,               x≥0
                                                         β
                 Step 2.                 1 − e −( x / α ) = U
                 Step 3.   X = α [-ln(1-U)] 1/β
                  or       X = α [-ln(U)] 1/β
  Nota: La función 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 simulación                                                                     2006-2007
Método de la transformada inversa (ejemplo 3)
Distribución Weibull (continuación). En las regiones del eje x en las que f(x)
   es alto, se espera observar una gran cantidad de variables y en aquellas
   en las que f(x) es baja encontraremos solo unas pocas.
Se puede considerar f(x) como la función pendiente de F en x.




            Intervalos para U y X, transformada inversa de una distribución
                                     Weibull(1.5, 6)
Lenguajes de simulación                                                   2006-2007




  Método de la transformada inversa (ejemplo 4)
Distribución Uniforme
   Consideremos una variable aleatoria x que está distribuida
   uniformemente en el intervalo [a, b]
                          ⎧1 /(b − a)        a≤x≤b
              pdf: f(x) = ⎨
                          ⎩0                 en el resto de los casos


Para generar variables aleatorias:
  Paso 1.               ⎧0                                     x<a
                                  ⎪                            a≤x≤b
                           F(x) = ⎨( x − a ) /(b − a )
                                  ⎪1
                                  ⎩                            x>b


     Paso 2.              F(x) = (x - a) / (b - a) = U
     Paso 3.              x = a + (b - a) U

Lenguajes de simulación                                                   2006-2007
Método de la transformada inversa (Datos discretos)
Si el modelador ha sido incapaz de encontrar una distribución teórica que
    proporcione un buen modelo para los datos de entrada, puede ser necesario
    utilizar una distribución de datos empírica.
Ejemplo:
    Supongamos que se han recogido los tiempos de reparación de 100 aparatos
    estropeados. Los datos se resumen en la tabla siguiente en función del número
    de observaciones de los distintos intervalos. Por ejemplo, hubo 31
    observaciones entre 0 y 0.5 hora, 10 entre 0.5 y 1 hora, y así sucesivamente.
             Intervalo                         Frecuencia        Frecuencia
             (Horas)            Frecuencia     Relativa          acumulada

              0 ≤ x ≤ 0.5        31              0.31              0.31
            0.5 ≤ x ≤ 1.0        10              0.10              0.41
            1.0 ≤ x ≤ 1.5        25              0.25              0.66
            1.5 ≤ x ≤ 2.0        34              0.34              1.00

La distribución verdadera, F(x), de tiempos de reparación (la curva en la siguiente
   transparencia) se puede estimar mediante la cdf empírica, F(x)(la parte lineal a
   trozos)
Lenguajes de simulación                                                       2006-2007




   Método de la transformada inversa (Datos discretos)




               Funciones de distribución empírica y teórica para los
                   datos de los tiempos de reparación (X ≥ 0)



Lenguajes de simulación                                                       2006-2007
Método de la transformada inversa (Datos discretos)
La técnica de la transformada inversa se aplica directamente para generar variables
   de tiempo de reparación, X. Recordando la interpretación gráfica de la técnica,
   primero se genera un número aleatorio R1, por ejemplo R1 = 0.83, y se obtiene
   X1 del gráfico anterior.
De forma simbólica esto se escribe como         X1 = F-1(R1)             pero
   algebraicamente, puesto que R1 está entre 0.66 y 1.00, X1 se calcula mediante
   una interpolación lineal entre 1.5 y 2.0, es decir

                          X1 = 1.5 + {(R1 - 0.66) / (1 - 0.66)} × (2.0 - 1.5) = 1.75

Cuando R1 = 0.83, se puede apreciar que (R1 - 0.66) / (1 - 0.66) = 0.5, por lo que X1
    estará a la distancia mitad entre 1.5 y 2.0 ya que R1 está a la distancia mitad
    entre 0.66 y 1.00
El algoritmo es: Paso 1. Generar R
                    Paso 2. Encontrar el intervalo i en el que cae R, es decir,
    encontrar i de forma que ri ≤ R ≤ ri+1
                    Paso 3. Calcular X mediante           X = xi + ai (R - ri)

Lenguajes de simulación                                                                2006-2007




   Método de la transformada inversa (Datos discretos)
Si los valores de origen son discretos no se realiza interpolación. Ejemplo:
Consideremos el tamaño de los paquetes de una red que puede tomar los valores
    siguientes:
Tamaño (bytes)     Probabilidad      Probabilidad acumulada
    64                0,7                      0,7
  128                 0,1                      0,8
  512                 0,2                      1,0

La función de distribución acumulada y la inversa están dadas por:
           ⎧ 0 ,0             0 ≤ x ≤ 64                      ⎧ 64    0 ≤ u ≤ 0,7
           ⎪ 0 ,7            64 ≤ x ≤ 128                     ⎪
           ⎪                                     F −1 ( u ) = ⎨128 0,7 ≤ u ≤ 0,8
  F ( x) = ⎨                                                  ⎪ 512 0,8 ≤ u ≤ 1
           ⎪ 0 ,8           128 ≤ x ≤ 512                     ⎩
           ⎪1, 0
           ⎩                512 ≤ x




Lenguajes de simulación                                                                2006-2007
Caso de la distribución normal (I)

  Distribución Normal Estándar

                  x⎧ 1      ⎫ −t 2 2
   Φ( x) =    ∫    ⎨        ⎬*e
               − ∞ ⎩ ( 2π ) ⎭
                                     dt , -∞ < x < ∞

                                          Eje Z2                 Z1 = B cos θ
                          (Z1,Z2)      Z2                        Z2 = B sin θ
                                                            Se sabe que B2 = Z12 + Z22 tiene
                                          θ
                                                            una distribución chi-cuadrado de
                                Z1    0                     dos grados de libertad, lo que es
                                                   Eje Z1
                                                            equivalente a una distribución
                                                            exponencial de media 2, por tanto el
                                                            radio B se puede obtener mediante
                                                                       B 2 = (−2 ln U )
Representación polar de un par de variables                                             1
                                                                       B = (−2 ln U )       2
   de una distribución normal estándar



Lenguajes de simulación                                                                         2006-2007




Caso de la distribución normal (II)
Por simetría con la distribución normal, parece razonable suponer que el ángulo θ
está distribuido uniformemente entre 0 y 2π radianes.
Además, el radio, B, y el ángulo, θ, son mutuamente independientes. Combinando
las dos ecuaciones anteriores se obtiene un método directo de generar dos
variables de la distribución normal estándar, Z1 y Z2, a partir de dos números
aleatorios U1 and U2:
                             Z1 = (-2lnU1)1/2 cos(2π U2)
                             Z2 = (-2lnU1)1/2 sin(2π U2)
Para obtener variables normales Xi con media μ y varianza σ2 se aplica
                             Xi = μ + σ Zi
Ejemplo, supongamos que se han obtenido dos números aleatorios U1=0,1758 y
U2=0,1489, las variables aleatorias de la normal estándar generadas son:
                             Z1 = (-2ln 0,1758)1/2 cos(2π 0,1489) = 1,11
                             Z2 = (-2ln 0,1758)1/2 sin (2π 0,1489) = 1,50
Si hubiera que generar variables de una normal con media μ = 10 y varianza σ2 = 4
se obtendría:
                             X1 = 10 + 2(1,11) = 12,22
                             X2 = 10 + 2(1,50) = 13,00
Lenguajes de simulación                                                                         2006-2007
Método de aceptación-rechazo (I)
Se utiliza cuando es imposible o extremadamente difícil expresar x en función de la
transformada inversa F-1(U).
Sea f la función densidad de probabilidad. Este método precisa una función que sea
mayor que f, tal que g(x) ≥ f(x) para todo x.
g(x) no será una función densidad puesto que
                              ∞                 ∞
                          c = ∫ g ( x)dx ≥ ∫ f ( x)dx =1
                              −∞                −∞

Para c ≤∞, entonces h(x)=g(x)/c es una función 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 X←Y, sino volver al paso 1.
El algoritmo continúa 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 función densidad f.
Lenguajes de simulación                                                        2006-2007




 Método de aceptación-rechazo (II)
 ¿Cómo elegir g?
 • Hay que intentar elegir g de modo que la variable aleatoria Y se pueda generar
      rápidamente,
 • La probabilidad de aceptar Y debiera ser grande (c próxima a 1), lo que significa
      que g debe estar próxima a f.
 Ejemplo:
 La distribución Beta(4,3) tiene una función densidad
                              f(x) = 60 x3 ( 1 – x)2 0 ≤ x ≤ 1
 El valor máximo de f se alcanza para x=0,6 y f(0,6) = 2,0736.
 Si definimos g(x)=2,0736 para 0 ≤ x ≤1, entonces g es mayor que f.
 Algoritmo:
 1.     Generar Y y U de U(0,1).
                                      60Y (1 − Y ) 2
                                            3
 2.      Si                        U≤
                                        2,0736

 entonces hacer X=Y; sino rechazar el valor de Y y volver al paso 1.
Lenguajes de simulación                                                        2006-2007
Método de aceptación-rechazo (III)


En algunos textos se simplifica el método de la forma siguiente.
Pasos:
 1. Normalizar el rango de f utilizando un factor de escala c tal que c.f(x) ≤ 1,
      estando x en el rango         a≤x≤b
 2. Se define una función lineal de U,       x = a + (b-a) U
 3. Se generan un par de números aleatorios (U1, U2)
 4. Si U2 ≤ c×f[a + (b-a) U1], entonces aceptar el par y utilizar x = a + (b - a) U1
      como la variable aleatorio generada.
 5. Volver al paso 3.


                      f(x)        c



                                          a      x     b

Lenguajes de simulación                                                              2006-2007




Método de aceptación-rechazo (IV)
Ejemplo 1:
   Utilizar el método de aceptación-rechazo para generar variables aleatorias x con
   función densidad        f(x) = 2x, 0 ≤ x ≤ 1

                          2
              f(x)                                   g(x)
                          1                                 1


                                      1                               1
                              Antes de escalar                  Después de escalar
Ten en cuenta: x = 0 + (1) U = U, y además 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 función densidad f(x). Si U2 > g(U1)
       se rechaza U1 y se vuelve al paso 1.

Lenguajes de simulación                                                              2006-2007
Método de aceptación-rechazo (V)
Nota: El método de aceptación-rechazo es muy ineficiente cuando c . (b-a) es muy
   grande, puesto que se deben generar una gran cantidad de números aleatorios
   para generar cada variable aleatoria producida.
Ejemplo:
                                                                La distribución se divide en partes y las
                   c                                            partes se muestrean en proporción a la
                                                                cantidad del área de la distribución que
                 f(x)                                           contienen.

                          a               x            b
Una variable aleatoria X está distribuida de acuerdo con una gamma con
parámetros β y θ si su función densidad está dad por
                             ⎧⎧ βθ      ⎫.( βθx) β −1 e − βθx       x>0
                             ⎪⎨         ⎬
                   f ( x ) = ⎨⎩ Γ ( β ) ⎭
                             ⎪0                                     en el resto de los casos
                             ⎩
El parámetro β se llama parámetro de forma y θ de escala. En la siguiente
transparencia se ven varias distribuciones para θ = 1 y distintos valores β.

Lenguajes de simulación                                                                              2006-2007




Método de aceptación-rechazo (VI)




           Funciones densidad para varias distribuciones gamma cuando θ = 1

Lenguajes de simulación                                                                              2006-2007
Método de aceptación-rechazo (VII)
La media y la varianza de la distribución gamma son:
                            E(X) = 1 / θ             y
                            V(X) = 1 / (βθ 2)

La función de distribución de X está dada por
                                   ⎧ ∞
                                   ⎪1 − ⎧ βθ        ⎫.( βθ t ) β −1 e − βθ t dt
                                   ⎪
                          F ( x) = ⎨     ∫
                                         ⎨
                                         ⎩   Γ ( β )⎬
                                                    ⎭                             x>0
                                   ⎪
                                       x
                                   ⎪0
                                   ⎩                                              x≤0

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 tendrán 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 simulación                                                                 2006-2007




 Método de aceptación-rechazo (VIII)
Ejemplo (Banks, Carson et all):
   Los tiempos de fallo para una máquina de dulces de elevada producción están
   distribuidos de acuerdo a una gamma con media 2,2 minutos y varianza 2,1
   minutos2. Por tanto, 1/θ = 2,2 y 1/βθ2 = 2,10, lo que implica que β =2,30 y θ =
   0,4545.
      Paso 1. a = 1,90, b = 3,74
      Paso 2. Se genera U1 = 0,832 y U2= 0,021
      Paso 3. Se calcula X = 2,3[0,832 / 0,168]1.9 = 48,1
      Paso 4. X = 48,1 > 3,74 - ln[(0,832)2(0,021)] = 7,97 , por lo que se rechaza X y
        se vuelve al paso 2.
      Paso 2. Se genera U1 = 0,434, y U2 = 0,716.
      Paso 3. Se calcula X = 2,3(0,434/0,566)1.9 = 1,389.
      Paso 4. Puesto que X = 1.389 ≤ 3,74 - ln[(0,434)2 (0,716)] = 5,74, se acepta X.
      Paso 5. Se divide X por βθ = 1.045 para obtener X = 1.329.
Como promedio para generar 1000 variables gamma, se precisan entre 1130 y
  1470 intentos lo que supone generar entre 2260 y 2940 números aleatorios.
Lenguajes de simulación                                                                 2006-2007
Método de composición (I)

Este método se aplica cuando la función de distribución F se puede expresar como
una combinación de otras funciones F1, F2,..
                           r
             F ( z ) = ∑ ωi Fi ( z )
                                                                         r


                          i =1
                                          0 < ωi < 1 para i = 1,...,r   ∑ω
                                                                        i =1
                                                                               i   =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 distribución FI(Z).
3. Return Z




Lenguajes de simulación                                                                 2006-2007




                                   Método de composición (II)

Ejemplo
• Distribución doble exponencial (Laplace)

                              ⎧0,5e x
                              ⎪               si x < 0
                     f ( x) = ⎨
                              ⎪0,5e − x
                              ⎩
                                              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)


• Distribución hiper-exponencial
F(x) = ω1F1(x) + ω2F2(x) +..+ωkFk(x)
donde Fi(x) es la distribución exponencial con media bi, i=1,,k.



Lenguajes de simulación                                                                 2006-2007
Método de convolución
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 más fácil que generar Z.
Algoritmo
1. Generar IID Y1,..,Yr.
2. Devolver Z=Y1+Y2+..+Yr
Ejemplo: Si Z tiene una distribución Erlang con parámetros r y β, entonces Z puede
ser expresado como una suma de r exponenciales independientes Yi, cada una con
media β.
Un algoritmo más eficiente para este ejemplo es
      • Generar r números aleatorios U(0,1).
      • Colocar Z= -β ln(U1U2..Ur)= -β(lnU1+lnU2+... +lnUr)
Nota: No hay que confundir el método de convolución con el de composición. En el
primero la variable aleatoria X se puede expresar como suma de variables aleatorias
Yi mientras en el de composición la función de distribución de X, F(X), es una suma
ponderada de otras funciones de distribución.

Lenguajes de simulación                                                          2006-2007




                           Elección del método adecuado

 • Si la función de distribución se puede invertir utiliza inversión.
 • Si la función de distribución es la suma de otras funciones de distribución
   utiliza composición.
 • Si la variable aleatoria es composición de otras variables aleatorias utiliza
   convolución
 • Si existe una función que maximice la función densidad utiliza aceptación
   rechazo.
 • Si existe algún tipo de relación utiliza métodos específicos.




Lenguajes de simulación                                                          2006-2007
Criterios para la elección de un método

1.- Certeza
       • Certeza teórica
       • Errores aritméticos en los algoritmos
2.- Velocidad de ejecución
3.- Facilidad de implementación
       • Esfuerzo de codificación
       • Soporte de rutinas necesarias
4.- Transportabilidad
5.- Necesidades de memoria
6.- Interacción con técnicas de reducción de varianza




Lenguajes de simulación                                             2006-2007




          Métodos para generar variables aleatorias continuas
• Uniforme: Transformada inversa
• Exponential: Transformada inversa
• Erlang: Convolución
• Gamma: Aceptación-rechazo
• Weibull: Transformada inversa
• Normal: Transformación directa
• Triangular: Transformada inversa
• Empírica: Transformada inversa
• Bernoulli: Transformada inversa
• Uniforme: Transformada inversa
• Discreta arbitraria: Transformada inversa
• Binomial: Convolución
• Geométrica: Transformada inversa
• Poisson: Aceptación-rechazo

Lenguajes de simulación                                             2006-2007
Referencias
Todos las expresiones y ejemplos están obtenidos de los libros siguientes:
Banks, Carson, Nelson, Nicol. Discrete event system simulation (third edition).
Prentice-Hall 2001. El capítulo 8 está dedicado al tema de generación de variables
aleatorias.
Law and Kelton. Simulation Modeling and Analysis (third edition). McGraw-Hill
2000. También es el capítulo 8 es el que está dedicado al tema.
George S. Fishman. Discrete-Event Simulation. Springer-Verlag 2001. Un enfoque
más estadístico, también el capítulo 8 es el dedicado a la generación 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 Página de Luc Devroye sobre
generación de variables aleatorias




Lenguajes de simulación                                                         2006-2007

Más contenido relacionado

La actualidad más candente (20)

Taller2b
Taller2bTaller2b
Taller2b
 
Conjunt0s y sistm difusos
Conjunt0s y sistm difusosConjunt0s y sistm difusos
Conjunt0s y sistm difusos
 
Derivadas
DerivadasDerivadas
Derivadas
 
Guia funciones ii_medio
Guia funciones ii_medioGuia funciones ii_medio
Guia funciones ii_medio
 
Funciones polinomiales
Funciones polinomialesFunciones polinomiales
Funciones polinomiales
 
Funciones polinomicas
Funciones polinomicasFunciones polinomicas
Funciones polinomicas
 
Diferenciabilidad
DiferenciabilidadDiferenciabilidad
Diferenciabilidad
 
Clase1. introducción a matlab
Clase1. introducción a matlabClase1. introducción a matlab
Clase1. introducción a matlab
 
Clase5 Formas funcionales
Clase5 Formas funcionalesClase5 Formas funcionales
Clase5 Formas funcionales
 
1 algebra lineal y vectores aleatorios
1 algebra lineal y vectores aleatorios1 algebra lineal y vectores aleatorios
1 algebra lineal y vectores aleatorios
 
MATEAMATICA
MATEAMATICAMATEAMATICA
MATEAMATICA
 
-algebra lineal y vectores aleatorios
-algebra lineal y vectores aleatorios-algebra lineal y vectores aleatorios
-algebra lineal y vectores aleatorios
 
Operaciones con conjuntos difusos
Operaciones con conjuntos difusosOperaciones con conjuntos difusos
Operaciones con conjuntos difusos
 
19. recta
19. recta19. recta
19. recta
 
Estadistica 2
Estadistica 2Estadistica 2
Estadistica 2
 
Cap8
Cap8Cap8
Cap8
 
Tema3
Tema3Tema3
Tema3
 
Clase8 minisem
Clase8 minisemClase8 minisem
Clase8 minisem
 
Modelo matematico volterra
Modelo matematico volterraModelo matematico volterra
Modelo matematico volterra
 
Continuidad de-funciones
Continuidad de-funcionesContinuidad de-funciones
Continuidad de-funciones
 

Similar a Func alea t_0607

Cálculo Integral para Empresariales
Cálculo Integral para EmpresarialesCálculo Integral para Empresariales
Cálculo Integral para EmpresarialesJuliho Castillo
 
Resumen de analisis_matii
Resumen de analisis_matiiResumen de analisis_matii
Resumen de analisis_matiia99carlitos
 
Propiedades funciones
Propiedades funcionesPropiedades funciones
Propiedades funcionesANAALONSOSAN
 
Derivación e integración de varias variables
Derivación e integración de varias variablesDerivación e integración de varias variables
Derivación e integración de varias variablesFrancisMarcano6
 
Derivadas parciales
Derivadas parcialesDerivadas parciales
Derivadas parcialesvlado1884
 
Funciones resueltos
Funciones resueltosFunciones resueltos
Funciones resueltosElvis Valera
 
VARIABLES ALEATORIAS Y SUS DISTRIBUCIONES.ppt
VARIABLES ALEATORIAS Y SUS DISTRIBUCIONES.pptVARIABLES ALEATORIAS Y SUS DISTRIBUCIONES.ppt
VARIABLES ALEATORIAS Y SUS DISTRIBUCIONES.pptJuanJosGarcaAlvarado2
 
Met iterativos
Met iterativosMet iterativos
Met iterativosaressu
 
Variables Aleatorias y Distribuciones de Probabilidad
Variables Aleatorias y Distribuciones de ProbabilidadVariables Aleatorias y Distribuciones de Probabilidad
Variables Aleatorias y Distribuciones de ProbabilidadJuliho Castillo
 
Distribuciones de probabilidad importantes
Distribuciones de probabilidad importantesDistribuciones de probabilidad importantes
Distribuciones de probabilidad importantes4lejandro 4lejandro
 
Clase13 Modelos de variables dependientes limitadas
Clase13 Modelos de variables dependientes limitadasClase13 Modelos de variables dependientes limitadas
Clase13 Modelos de variables dependientes limitadasNerys Ramírez Mordán
 

Similar a Func alea t_0607 (20)

Cálculo Integral para Empresariales
Cálculo Integral para EmpresarialesCálculo Integral para Empresariales
Cálculo Integral para Empresariales
 
Resumen de analisis_matii
Resumen de analisis_matiiResumen de analisis_matii
Resumen de analisis_matii
 
Propiedades funciones
Propiedades funcionesPropiedades funciones
Propiedades funciones
 
PROBABILIDAD IV
PROBABILIDAD IVPROBABILIDAD IV
PROBABILIDAD IV
 
Generacion de variables aleatorias
Generacion de variables aleatoriasGeneracion de variables aleatorias
Generacion de variables aleatorias
 
Met iterativos
Met iterativosMet iterativos
Met iterativos
 
Examen
ExamenExamen
Examen
 
Clase modelos de probabilidad
Clase modelos de probabilidadClase modelos de probabilidad
Clase modelos de probabilidad
 
DERIVADAS PARCIALES.pdf
DERIVADAS PARCIALES.pdfDERIVADAS PARCIALES.pdf
DERIVADAS PARCIALES.pdf
 
DERIVADAS PARCIALES.pdf
DERIVADAS PARCIALES.pdfDERIVADAS PARCIALES.pdf
DERIVADAS PARCIALES.pdf
 
Derivadas. aplicaciones
Derivadas. aplicacionesDerivadas. aplicaciones
Derivadas. aplicaciones
 
Ed lineal
Ed linealEd lineal
Ed lineal
 
Derivación e integración de varias variables
Derivación e integración de varias variablesDerivación e integración de varias variables
Derivación e integración de varias variables
 
Derivadas parciales
Derivadas parcialesDerivadas parciales
Derivadas parciales
 
Funciones resueltos
Funciones resueltosFunciones resueltos
Funciones resueltos
 
VARIABLES ALEATORIAS Y SUS DISTRIBUCIONES.ppt
VARIABLES ALEATORIAS Y SUS DISTRIBUCIONES.pptVARIABLES ALEATORIAS Y SUS DISTRIBUCIONES.ppt
VARIABLES ALEATORIAS Y SUS DISTRIBUCIONES.ppt
 
Met iterativos
Met iterativosMet iterativos
Met iterativos
 
Variables Aleatorias y Distribuciones de Probabilidad
Variables Aleatorias y Distribuciones de ProbabilidadVariables Aleatorias y Distribuciones de Probabilidad
Variables Aleatorias y Distribuciones de Probabilidad
 
Distribuciones de probabilidad importantes
Distribuciones de probabilidad importantesDistribuciones de probabilidad importantes
Distribuciones de probabilidad importantes
 
Clase13 Modelos de variables dependientes limitadas
Clase13 Modelos de variables dependientes limitadasClase13 Modelos de variables dependientes limitadas
Clase13 Modelos de variables dependientes limitadas
 

Func alea t_0607

  • 1. Generación de variables aleatorias Introducción Métodos de generación: Transformada Inversa Aceptación-Rechazo Composición Convolución Referencias Lenguajes de simulación 2006-2007 Generación de variables aleatorias. Introducción De forma general, el proceso de simulación necesita la generación de datos semejantes a los que se producen en la realidad, lo que precisa la posibilidad de generar variables aleatorias de varias distribuciones, por ejemplo la exponencial. El algoritmo concreto a utilizar dependerá de la distribución a generar, pero de forma general tendrá las siguientes etapas: Generar uno a más Transformación Obtener X de la números aleatorios dependiente de la distribución U(0,1) distribución deseada Características deseables: Exacto, si es posible (existen métodos aproximados). Eficiente: Poco almacenamiento, rápido, robusto. Sencillo, fácil de comprender y de implementar. Que precise solo números U(0,1) y, si es posible un número genere una variable. Lenguajes de simulación 2006-2007
  • 2. Algunas distribuciones utilizadas Lenguajes de simulación 2006-2007 Método de la transformada inversa (I) Teorema: Sea {F(z), a ≤ z ≤ b} una función de distribución con función de distribución inversa F-1(u):=inf{z∈[a,b]: F(z) ≥ u, 0 ≤ u ≤ 1} Sea U una variable aleatoria de U(0,1). Entonces Z=F-1(U) tiene la función de distribución F. Prueba: Pr(Z ≤ z) = Pr(F-1(U) ≤ z) = Pr (U ≤ F(z)) = F(z) Algoritmo 1. Generar un U aleatorio de U(0,1) 2. Z ← F-1(U) 3. Devolver Z requiere la posibilidad de evaluar F-1(U) Lenguajes de simulación 2006-2007
  • 3. Método de la transformada inversa (II) Lenguajes de simulación 2006-2007 Método de la transformada inversa (ejemplo 1) Consideremos el caso de generar variables aleatorias con una funcion densidad f(x) = 2x, 0 ≤ x ≤ 1 Solución: x F(x) = ∫ 2tdt 0 =x ,0≤x≤1 2 2 Ahora hacemos F(x) = U ==> U=x A continuación, se obtiene x, ==> x = F (U) = √U, 0 ≤ U ≤ 1 -1 Por tanto, se pueden obtener valores de x con pdf f(x) = 2x calculando la raiz cuadrada de un número aleatorio U. Lenguajes de simulación 2006-2007
  • 4. Método de la transformada inversa (ejemplo 2) Sea el caso de generar variables aleatorias x con función densidad: ⎧λe −λx ⎪ 0≤x f(x) = ⎨ ⎪0 ⎩ x<0 Solución: x ⎧1 − e − λx ⎪ 0≤x F ( x) = ∫ f(t) dt = ⎨ −∞ ⎪0 ⎩ x<0 Se hace F(x) = U Se busca la solución para x, ==> 1 - e-λx = U e-λx = 1 - U - λx = ln(1 - U) x = - {ln(1 - U)} / λ o - {ln(U)} / λ Lenguajes de simulación 2006-2007 Método de la transformada inversa (ejemplo 3) Distribución Weibull – buena para modelar “el tiempo para fallo” de máquinas, componentes, etc. ⎧{ β / α ⎪ β β } ⋅ x β −1 e − ( x / α ) , x ≥ 0 pdf: f ( x) = ⎨ ⎪ ⎩ 0 , otherwise Ten en cuenta que a es el parámetro de forma y b el parámetro de escala. Ahora, para generar variables Weibull: −( x / α ) β Step 1. cdf: F ( x) = 1 − e , x≥0 β Step 2. 1 − e −( x / α ) = U Step 3. X = α [-ln(1-U)] 1/β or X = α [-ln(U)] 1/β Nota: La función 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 simulación 2006-2007
  • 5. Método de la transformada inversa (ejemplo 3) Distribución Weibull (continuación). En las regiones del eje x en las que f(x) es alto, se espera observar una gran cantidad de variables y en aquellas en las que f(x) es baja encontraremos solo unas pocas. Se puede considerar f(x) como la función pendiente de F en x. Intervalos para U y X, transformada inversa de una distribución Weibull(1.5, 6) Lenguajes de simulación 2006-2007 Método de la transformada inversa (ejemplo 4) Distribución Uniforme Consideremos una variable aleatoria x que está distribuida uniformemente en el intervalo [a, b] ⎧1 /(b − a) a≤x≤b pdf: f(x) = ⎨ ⎩0 en el resto de los casos Para generar variables aleatorias: Paso 1. ⎧0 x<a ⎪ a≤x≤b F(x) = ⎨( x − a ) /(b − a ) ⎪1 ⎩ x>b Paso 2. F(x) = (x - a) / (b - a) = U Paso 3. x = a + (b - a) U Lenguajes de simulación 2006-2007
  • 6. Método de la transformada inversa (Datos discretos) Si el modelador ha sido incapaz de encontrar una distribución teórica que proporcione un buen modelo para los datos de entrada, puede ser necesario utilizar una distribución de datos empírica. Ejemplo: Supongamos que se han recogido los tiempos de reparación de 100 aparatos estropeados. Los datos se resumen en la tabla siguiente en función del número de observaciones de los distintos intervalos. Por ejemplo, hubo 31 observaciones entre 0 y 0.5 hora, 10 entre 0.5 y 1 hora, y así sucesivamente. Intervalo Frecuencia Frecuencia (Horas) Frecuencia Relativa acumulada 0 ≤ x ≤ 0.5 31 0.31 0.31 0.5 ≤ x ≤ 1.0 10 0.10 0.41 1.0 ≤ x ≤ 1.5 25 0.25 0.66 1.5 ≤ x ≤ 2.0 34 0.34 1.00 La distribución verdadera, F(x), de tiempos de reparación (la curva en la siguiente transparencia) se puede estimar mediante la cdf empírica, F(x)(la parte lineal a trozos) Lenguajes de simulación 2006-2007 Método de la transformada inversa (Datos discretos) Funciones de distribución empírica y teórica para los datos de los tiempos de reparación (X ≥ 0) Lenguajes de simulación 2006-2007
  • 7. Método de la transformada inversa (Datos discretos) La técnica de la transformada inversa se aplica directamente para generar variables de tiempo de reparación, X. Recordando la interpretación gráfica de la técnica, primero se genera un número aleatorio R1, por ejemplo R1 = 0.83, y se obtiene X1 del gráfico anterior. De forma simbólica esto se escribe como X1 = F-1(R1) pero algebraicamente, puesto que R1 está entre 0.66 y 1.00, X1 se calcula mediante una interpolación lineal entre 1.5 y 2.0, es decir X1 = 1.5 + {(R1 - 0.66) / (1 - 0.66)} × (2.0 - 1.5) = 1.75 Cuando R1 = 0.83, se puede apreciar que (R1 - 0.66) / (1 - 0.66) = 0.5, por lo que X1 estará a la distancia mitad entre 1.5 y 2.0 ya que R1 está a la distancia mitad entre 0.66 y 1.00 El algoritmo es: Paso 1. Generar R Paso 2. Encontrar el intervalo i en el que cae R, es decir, encontrar i de forma que ri ≤ R ≤ ri+1 Paso 3. Calcular X mediante X = xi + ai (R - ri) Lenguajes de simulación 2006-2007 Método de la transformada inversa (Datos discretos) Si los valores de origen son discretos no se realiza interpolación. Ejemplo: Consideremos el tamaño de los paquetes de una red que puede tomar los valores siguientes: Tamaño (bytes) Probabilidad Probabilidad acumulada 64 0,7 0,7 128 0,1 0,8 512 0,2 1,0 La función de distribución acumulada y la inversa están dadas por: ⎧ 0 ,0 0 ≤ x ≤ 64 ⎧ 64 0 ≤ u ≤ 0,7 ⎪ 0 ,7 64 ≤ x ≤ 128 ⎪ ⎪ F −1 ( u ) = ⎨128 0,7 ≤ u ≤ 0,8 F ( x) = ⎨ ⎪ 512 0,8 ≤ u ≤ 1 ⎪ 0 ,8 128 ≤ x ≤ 512 ⎩ ⎪1, 0 ⎩ 512 ≤ x Lenguajes de simulación 2006-2007
  • 8. Caso de la distribución normal (I) Distribución Normal Estándar x⎧ 1 ⎫ −t 2 2 Φ( x) = ∫ ⎨ ⎬*e − ∞ ⎩ ( 2π ) ⎭ dt , -∞ < x < ∞ Eje Z2 Z1 = B cos θ (Z1,Z2) Z2 Z2 = B sin θ Se sabe que B2 = Z12 + Z22 tiene θ una distribución chi-cuadrado de Z1 0 dos grados de libertad, lo que es Eje Z1 equivalente a una distribución exponencial de media 2, por tanto el radio B se puede obtener mediante B 2 = (−2 ln U ) Representación polar de un par de variables 1 B = (−2 ln U ) 2 de una distribución normal estándar Lenguajes de simulación 2006-2007 Caso de la distribución normal (II) Por simetría con la distribución normal, parece razonable suponer que el ángulo θ está distribuido uniformemente entre 0 y 2π radianes. Además, el radio, B, y el ángulo, θ, son mutuamente independientes. Combinando las dos ecuaciones anteriores se obtiene un método directo de generar dos variables de la distribución normal estándar, Z1 y Z2, a partir de dos números aleatorios U1 and U2: Z1 = (-2lnU1)1/2 cos(2π U2) Z2 = (-2lnU1)1/2 sin(2π U2) Para obtener variables normales Xi con media μ y varianza σ2 se aplica Xi = μ + σ Zi Ejemplo, supongamos que se han obtenido dos números aleatorios U1=0,1758 y U2=0,1489, las variables aleatorias de la normal estándar generadas son: Z1 = (-2ln 0,1758)1/2 cos(2π 0,1489) = 1,11 Z2 = (-2ln 0,1758)1/2 sin (2π 0,1489) = 1,50 Si hubiera que generar variables de una normal con media μ = 10 y varianza σ2 = 4 se obtendría: X1 = 10 + 2(1,11) = 12,22 X2 = 10 + 2(1,50) = 13,00 Lenguajes de simulación 2006-2007
  • 9. Método de aceptación-rechazo (I) Se utiliza cuando es imposible o extremadamente difícil expresar x en función de la transformada inversa F-1(U). Sea f la función densidad de probabilidad. Este método precisa una función que sea mayor que f, tal que g(x) ≥ f(x) para todo x. g(x) no será una función densidad puesto que ∞ ∞ c = ∫ g ( x)dx ≥ ∫ f ( x)dx =1 −∞ −∞ Para c ≤∞, entonces h(x)=g(x)/c es una función 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 X←Y, sino volver al paso 1. El algoritmo continúa 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 función densidad f. Lenguajes de simulación 2006-2007 Método de aceptación-rechazo (II) ¿Cómo elegir g? • Hay que intentar elegir g de modo que la variable aleatoria Y se pueda generar rápidamente, • La probabilidad de aceptar Y debiera ser grande (c próxima a 1), lo que significa que g debe estar próxima a f. Ejemplo: La distribución Beta(4,3) tiene una función densidad f(x) = 60 x3 ( 1 – x)2 0 ≤ x ≤ 1 El valor máximo de f se alcanza para x=0,6 y f(0,6) = 2,0736. Si definimos g(x)=2,0736 para 0 ≤ x ≤1, entonces g es mayor que f. Algoritmo: 1. Generar Y y U de U(0,1). 60Y (1 − Y ) 2 3 2. Si U≤ 2,0736 entonces hacer X=Y; sino rechazar el valor de Y y volver al paso 1. Lenguajes de simulación 2006-2007
  • 10. Método de aceptación-rechazo (III) En algunos textos se simplifica el método de la forma siguiente. Pasos: 1. Normalizar el rango de f utilizando un factor de escala c tal que c.f(x) ≤ 1, estando x en el rango a≤x≤b 2. Se define una función lineal de U, x = a + (b-a) U 3. Se generan un par de números aleatorios (U1, U2) 4. Si U2 ≤ c×f[a + (b-a) U1], entonces aceptar el par y utilizar x = a + (b - a) U1 como la variable aleatorio generada. 5. Volver al paso 3. f(x) c a x b Lenguajes de simulación 2006-2007 Método de aceptación-rechazo (IV) Ejemplo 1: Utilizar el método de aceptación-rechazo para generar variables aleatorias x con función densidad f(x) = 2x, 0 ≤ x ≤ 1 2 f(x) g(x) 1 1 1 1 Antes de escalar Después de escalar Ten en cuenta: x = 0 + (1) U = U, y además 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 función densidad f(x). Si U2 > g(U1) se rechaza U1 y se vuelve al paso 1. Lenguajes de simulación 2006-2007
  • 11. Método de aceptación-rechazo (V) Nota: El método de aceptación-rechazo es muy ineficiente cuando c . (b-a) es muy grande, puesto que se deben generar una gran cantidad de números aleatorios para generar cada variable aleatoria producida. Ejemplo: La distribución se divide en partes y las c partes se muestrean en proporción a la cantidad del área de la distribución que f(x) contienen. a x b Una variable aleatoria X está distribuida de acuerdo con una gamma con parámetros β y θ si su función densidad está dad por ⎧⎧ βθ ⎫.( βθx) β −1 e − βθx x>0 ⎪⎨ ⎬ f ( x ) = ⎨⎩ Γ ( β ) ⎭ ⎪0 en el resto de los casos ⎩ El parámetro β se llama parámetro de forma y θ de escala. En la siguiente transparencia se ven varias distribuciones para θ = 1 y distintos valores β. Lenguajes de simulación 2006-2007 Método de aceptación-rechazo (VI) Funciones densidad para varias distribuciones gamma cuando θ = 1 Lenguajes de simulación 2006-2007
  • 12. Método de aceptación-rechazo (VII) La media y la varianza de la distribución gamma son: E(X) = 1 / θ y V(X) = 1 / (βθ 2) La función de distribución de X está dada por ⎧ ∞ ⎪1 − ⎧ βθ ⎫.( βθ t ) β −1 e − βθ t dt ⎪ F ( x) = ⎨ ∫ ⎨ ⎩ Γ ( β )⎬ ⎭ x>0 ⎪ x ⎪0 ⎩ x≤0 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 tendrán 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 simulación 2006-2007 Método de aceptación-rechazo (VIII) Ejemplo (Banks, Carson et all): Los tiempos de fallo para una máquina de dulces de elevada producción están distribuidos de acuerdo a una gamma con media 2,2 minutos y varianza 2,1 minutos2. Por tanto, 1/θ = 2,2 y 1/βθ2 = 2,10, lo que implica que β =2,30 y θ = 0,4545. Paso 1. a = 1,90, b = 3,74 Paso 2. Se genera U1 = 0,832 y U2= 0,021 Paso 3. Se calcula X = 2,3[0,832 / 0,168]1.9 = 48,1 Paso 4. X = 48,1 > 3,74 - ln[(0,832)2(0,021)] = 7,97 , por lo que se rechaza X y se vuelve al paso 2. Paso 2. Se genera U1 = 0,434, y U2 = 0,716. Paso 3. Se calcula X = 2,3(0,434/0,566)1.9 = 1,389. Paso 4. Puesto que X = 1.389 ≤ 3,74 - ln[(0,434)2 (0,716)] = 5,74, se acepta X. Paso 5. Se divide X por βθ = 1.045 para obtener X = 1.329. Como promedio para generar 1000 variables gamma, se precisan entre 1130 y 1470 intentos lo que supone generar entre 2260 y 2940 números aleatorios. Lenguajes de simulación 2006-2007
  • 13. Método de composición (I) Este método se aplica cuando la función de distribución F se puede expresar como una combinación de otras funciones F1, F2,.. r F ( z ) = ∑ ωi Fi ( z ) r i =1 0 < ωi < 1 para i = 1,...,r ∑ω i =1 i =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 distribución FI(Z). 3. Return Z Lenguajes de simulación 2006-2007 Método de composición (II) Ejemplo • Distribución doble exponencial (Laplace) ⎧0,5e x ⎪ si x < 0 f ( x) = ⎨ ⎪0,5e − x ⎩ 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) • Distribución hiper-exponencial F(x) = ω1F1(x) + ω2F2(x) +..+ωkFk(x) donde Fi(x) es la distribución exponencial con media bi, i=1,,k. Lenguajes de simulación 2006-2007
  • 14. Método de convolución 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 más fácil que generar Z. Algoritmo 1. Generar IID Y1,..,Yr. 2. Devolver Z=Y1+Y2+..+Yr Ejemplo: Si Z tiene una distribución Erlang con parámetros r y β, entonces Z puede ser expresado como una suma de r exponenciales independientes Yi, cada una con media β. Un algoritmo más eficiente para este ejemplo es • Generar r números aleatorios U(0,1). • Colocar Z= -β ln(U1U2..Ur)= -β(lnU1+lnU2+... +lnUr) Nota: No hay que confundir el método de convolución con el de composición. En el primero la variable aleatoria X se puede expresar como suma de variables aleatorias Yi mientras en el de composición la función de distribución de X, F(X), es una suma ponderada de otras funciones de distribución. Lenguajes de simulación 2006-2007 Elección del método adecuado • Si la función de distribución se puede invertir utiliza inversión. • Si la función de distribución es la suma de otras funciones de distribución utiliza composición. • Si la variable aleatoria es composición de otras variables aleatorias utiliza convolución • Si existe una función que maximice la función densidad utiliza aceptación rechazo. • Si existe algún tipo de relación utiliza métodos específicos. Lenguajes de simulación 2006-2007
  • 15. Criterios para la elección de un método 1.- Certeza • Certeza teórica • Errores aritméticos en los algoritmos 2.- Velocidad de ejecución 3.- Facilidad de implementación • Esfuerzo de codificación • Soporte de rutinas necesarias 4.- Transportabilidad 5.- Necesidades de memoria 6.- Interacción con técnicas de reducción de varianza Lenguajes de simulación 2006-2007 Métodos para generar variables aleatorias continuas • Uniforme: Transformada inversa • Exponential: Transformada inversa • Erlang: Convolución • Gamma: Aceptación-rechazo • Weibull: Transformada inversa • Normal: Transformación directa • Triangular: Transformada inversa • Empírica: Transformada inversa • Bernoulli: Transformada inversa • Uniforme: Transformada inversa • Discreta arbitraria: Transformada inversa • Binomial: Convolución • Geométrica: Transformada inversa • Poisson: Aceptación-rechazo Lenguajes de simulación 2006-2007
  • 16. Referencias Todos las expresiones y ejemplos están obtenidos de los libros siguientes: Banks, Carson, Nelson, Nicol. Discrete event system simulation (third edition). Prentice-Hall 2001. El capítulo 8 está dedicado al tema de generación de variables aleatorias. Law and Kelton. Simulation Modeling and Analysis (third edition). McGraw-Hill 2000. También es el capítulo 8 es el que está dedicado al tema. George S. Fishman. Discrete-Event Simulation. Springer-Verlag 2001. Un enfoque más estadístico, también el capítulo 8 es el dedicado a la generación 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 Página de Luc Devroye sobre generación de variables aleatorias Lenguajes de simulación 2006-2007