Simulación de Montecarlo
Generadores de procesos aleatorios
J. Alcalde Chigne
1
Objetivo de la Sesión
• Ejercicio Simulación Montecarlo
• Método Genéricos
– Método de Inversión
• Simulación de Variables Continuas
• Simulación de Variables Discretas
• Método para Simular V.A. :
– Con Distribución Uniformes
– Con Distribución Exponencial
– Con Distribución Triangular
Generación de variables aleatorias
Método de Inversión
Sea
x
F ( x) f (t )dt y
y1
entonces
y0
x F 1 ( y )
x
x0
Método de Inversión
Queremos generar valores de X v.a con x
distribución: FX ( x ) f
X ( t )dt
Método de Inversión.
Se iguala la función de distribución de X, a una v.a. U uniforme ( 0,1).
r = Fx(X) X = Fx-1(r).
El problema se reduce a encontrar una expresión analítica de la función inversa, de
modo despejar X en función de r.
Ejercicio
El tiempo que un cajero de un banco se
demora en atender a sus clientes tiene la
siguiente función de densidad:
• Encontrar un generador que reproduzca los
tiempos de servicio y hallar el tiempo de
servicio asociado al número aleatorio 0.906.
Ejercicio
1. Generar valores de la V.A. X con
¼, 0 X 1
f(x)= ¾, 1 X 2
Variables Continuas
En este caso la función de
distribución es continua. Vamos a
utilizar un número aleatorio u,
uniformemente distribuido en (0,1)
y vamos a suponer que es el valor
que toma la función de
distribución en un punto x. Tal
punto va a ser el valor de la
variable que queremos generar. Al
ser la función de distribución
continua, vamos a encontrar un
valor de x para cualquier u.
Variables Continuas
Distribución uniforme (a,b)
1 0, x a
,a x b xa
f ( x ) b a F( x ) ,a x b
0 b a
1, x b
Aplicando el método de la transformada inversa
x-a
X FX1 ( U ) u X U(b - a) a
b-a
Generador Uniforme
Generar 5 observaciones aleatorias del proceso uniforme
definido en (2,6)
i ri Xi = a + ri (b - a)
1 0.98 5.92
2 0.17 2.68
3 0.14 2.56
4 0.68 4.72
5 0.22 2.88
Ejercicio
• Supóngase que se gire el dial mostrado en la figura para que pare en
una posición aleatoria. Modele esto como una apropiada función de
densidad de probabilidad, simular 5 giradas usando los siguiente
números.
Variables Continuas
Distribución exponencial ()
e x , x 0 0, x 0
f(x) F( x ) x
0 1 e ,x 0
Aplicando el método de la transformada inversa
ln u
X FX1( U ) u 1 e x - x ln u X
Generador Exponencial
General las variables aleatorias en el siguiente cuadro, usando una media = 3
i ri VA Exponencial
1 0.98 5.92
2 0.17 2.68
3 0.14 2.56
4 0.68 4.72
5 0.22 2.88
Ejercicio
• Considere la consulta de un médico en la que los pacientes se les cita cada
20 minutos y el primer cliente llega en el tiempo 0. El tiempo empleado
por el médico en examinar a un paciente es una variable aleatoria con
función de densidad.
• Calcular el tiempo que se demora el médico en examinar al primer
paciente, considerar el número aleatorio 0.456
Variables Continuas
Distribución Triangular
• Los parámetros que
recibimos para poder
usar esta distribución
son: Un valor mínimo
(a), el modo o más
probable (b) y un valor
máximo (c) Si ba
r
• Para calcular el valor de ca
Entonces
la variable aleatorio
tenemos el siguiente X a (c a )(b a )r
algoritmo De lo contrario
X c (c a )(c b)(1 r )
Generador Distribución Triangular
• Un fabrica produce tinas cuyo pesos sigue una distribución de
probabilidad triangular (a=190, b=210, c=230).
• Generar 10 peso de tinas producidas, usando los siguientes
números aleatorios.
0.225 0.431 0.868 0.048 0.012
0.001 0.953 0.662 0.899 0.855
Ejercicio
• La Producción de cierto tipo de producto consiste en tres etapas
básicas. El tiempo que se requiere para completar la primera etapa es
exactamente de 10 minutos; el necesario para completar la segunda
etapa está distribuido exponencialmente, con media igual a 8 minutos
y el tiempo necesario para dar por terminada la tercera etapa, se
ajusta a una distribución triangular con parámetros a=3, b=4, y c=5
minutos.
•
• Realizar 30 simulaciones y estimar el tiempo promedio de producción
para una unidad del producto.
Ejercicio
• Realizar una simulación y hallar la posible
duración del proyecto que tiene la siguiente
Red de actividades.
Variables Aleatorias
• Los números aleatorios con distribución uniforme son
utilizados para la generación de números con distribución
cualquiera denominados valores aleatorios.
• Generar un proceso aleatorio significa generar valores
muéstrales de una variable aleatoria X con función
distribución de probabilidad f(x) y distribución acumulada
F(x):
x
F ( x) f (t )dt Pr( X x)
19
Método de Transformada Inversa
• El método se basa en que:
– r, el valor aleatorio de la distribución uniforme entre 0 y 1 y
– F(x) para cualquier variable aleatoria x varían entre cero y uno por lo
que se pueden igualar
F(r) F(x)
1
F(x0)
r0
x0
1
f(x) f(x0)
x0
20
Distribuciones Discretas
F(x)
f(x) 1
ri
0 x 0 ri = F-1(ri) x
• Calcular los valores P(x) para la distribucion de
probabilidades
• Calcular el acumulado F(x)
• Generar un valor ri, verificar en F(x) a que intervalo de x
pertenece, esa sera la V.A. Generada por la dist.
propuesta. 21
Ejemplo 1
construir un generador de valores aleatorias y generar 10 valores
para una variable con f.d.p f(x)
2 x , 0 x 1
f ( x)
0, Otro caso
Hallamos primero la distribución acumulada:
x x
F ( x) f (t )dt 2tdt t
2 x
0 x 2
0 0
22
Ejemplo 1
x 0,1
2
F ( x) x
Como:
F ( x) 0,1 y r 0,1
Igualamos F(x) con r
r 0,1
2
rx x r
23
Ejemplo 1
i ri Xi ri
1 0.10 0.316
2 0.32 0.566
3 0.76 0.872
4 0.13 0.361
5 0.34 0.538
6 0.54 0.735
7 0.80 0.894
8 0.09 0.300
9 0.39 0.624
10 0.74 0.860
24
Caso Para el Alumno
Generar valores aleatorios para la
siguiente variable aleatoria X
2
b b 4ac
2(1 x) 0 x 1 x
f ( x)
2a
0
Otro caso
i 1 2 3 4 5 6 7 8 9
ri 0.37 0.04 0.65 0.89 0.27 0.24 0.10 0.35 0.68
Generador
25
Caso Para el Alumno
1
4
0 x 1
f (x)
3
4 1 x 2
Genere 7 valores aleatorios usando los siguientes números aleatorios:
0.13 0.32 0.54 0.38 0.23 0.99 0.75
26
Caso Para el Alumno
1 0 x2
6
1
f (x) 2 x3
3
1
12 3 x 7
Genere 7 valores aleatorios usando los siguientes números aleatorios:
0.13 0.48 0.84 0.38 0.23 0.99 0.75
27
Generador Uniforme
Se presenta cuando se analiza observaciones sujetas a errores de precisión
Por ejemplo cuando se mide el peso en gramos y se observa que la diferencia
entre el peso real observado varia entre 30 gramos
1 ,a<x<b
f x b a
0 , Otro caso
xa
F x ,a < x < b
ba
xa
r F ( x) Xi a r i b a
ba ,a < x< b ; 0 < r <1
28
Generador Uniforme
Algoritmo
• i=1
• Generar ri (0,1)
• Hacer Xi = a + ri (b - a)
• i = i +1
29
Generador Uniforme
Generar 5 observaciones aleatorias del proceso uniforme
definido en (2,6)
i ri Xi = a + ri (b - a)
1 0.98 5.92
2 0.17 2.68
3 0.14 2.56
4 0.68 4.72
5 0.22 2.88
30
Generador Exponencial
Sea la función exponencial:
f ( x) e
x 1
,X > 0 E x
F x 1 e
X
1
V x
2
Igualando F(x) con r:
F x 1 e
X
r
X
1 r e
Aplicando logaritmo:
Ln1 r
Ln1 r x X
31
Generador Exponencial
• El generador para la fdp exponencial:
Ln1 r
X
• Puede tener también esta forma por ser su equivalente:
Ln r i
X
• Los intervalos de tiempo entre ocurrencias de evento tales que cada
intervalo, es independiente de anterior, están distribuidos
exponencialmente
• El proceso exponencial generalmente se da en los casos de tiempos
entre arribos y tiempos de servicio
32
Caso Para el Alumno
General las variables aleatorias en el siguiente cuadro, usando una media = 3
i ri VA Exponencial
1 0.98 5.92
2 0.17 2.68
3 0.14 2.56
4 0.68 4.72
5 0.22 2.88
33
Generador de variables aleatorias
normal
Método: Suma de 12 números uniformes
Además, si ri es un numero aleatorio independiente
Sea Y ~ N(0,1)
uniformemente distribuido U(0,1)
Sea X ~ N(,)
E(ri ) = 1/2 El promedio de los números es 1/2
X = + Y
var(ri ) = 1/12 La varianza es 1/12
n
n Caso especial si n = 12:
ri
2 12
Y i 1
n X ( ri 6)
12 i 1
34
Conclusiones
• Simulación Montecarlos es la generación de valores de
variableas aleatorias usando números aleatorios.
• Para la generación de valores de variables aleatorias se usan
números aleatorios U(0,1).
• Existen métodos generales y especiales, estos se usan de
acuerdo a la función de la variables aleatoria.