Académique Documents
Professionnel Documents
Culture Documents
M
etodos de Monte Carlo.
Unidad 1, Sesi
on 2: Conceptos b
asicos
Departamento de Investigaci
on Operativa
Instituto de Computaci
on, Facultad de Ingeniera
Universidad de la Rep
ublica, Montevideo, Uruguay
dictado semestre 1 - 2014
Contenido:
1. Repaso notaci
on elementos basicos de probabilidad.
2. Motivaci
on del Metodo de Monte Carlo.
3. Ejemplos.
4. Ejercicios.
5. Lectura adicional.
Notaci
on y repaso de elementos b
asicos de probabilidad
X variable aleatoria (discreta o continua).
FX distribuci
on de probabilidad de X, FX (x) = Prob (X x).
Si X es continua,
on de densidad de probabilidad de X (tal
R x fX funci
que FX (x) = fX (t)dt).
E (X) esperanza de X; muchas veces denotamos = E (X) el valor
que se desea calcular a traves del muestreo de X.
R
Si X es continua, E (X) = tfX (t)dt.
Si X es discreta
y toma valores en un conjunto C,
P
E (X) = xC xProb (X = x).
2
E (X) varianza de X;
p
DE(X) = Var (X) desviaci
on estandar de X, muchas veces denotada
X .
CV(X) = DE(X)/E (X) coeficiente de variaci
on de X, es una medida
de la desviaci
on o dispersi
on de una distribuci
on de probabilidad,
normalizada teniendo en cuenta el valor esperado.
X = (X1, X2, , Xm) vector aleatorio de dimension m (compuesto
por m variables aleatorias distintas, dependientes o independientes).
X (1), X (2), , X (n) - muestra de n variables aleatorias independientes
con la misma distribuci
on de X.
Notar la diferencia entre un vector aleatorio de variables distintas, y una
muestra de n variables equidistribuidas.
Distribuciones b
asicas
Se recuerda las siguientes distribuciones, que seran empleadas en la
discusi
on subsiguiente y en algunos ejemplos y ejercicios.
Distribuci
on uniforme entre a y b, U (a, b):
p.d.f fU (x) = 0 si x < a o x > b; fU (x) = 1/(b a) si a x b;
FU (x) = 0 si x < a ; FU (x) = (x a)/(b a) si a x < b,
FU (x) = 1 si x b
Distribuci
on exponencial de parametro > 0, E():
p.d.f fE (x) = 0 si x < 0; fE (x) = ex si x 0;
FE (x) = 0 si x < 0 ; FE (x) = 1 ex si x 0.
Distribuci
on normal de parametros y > 0, N (, ):
p.d.f fN (x) =
1
e
2 2
(x)2
2 2
Esquema b
asico de un M
etodo Monte Carlo
Supongamos que deseo calcular un cierto valor , y conozco una variable
aleatoria X con distribuci
on FX tal que = E (X).
El metodo de Monte Carlo en su versi
on mas simple consiste en
1. sortear valores para un conjunto X (1), X (2), , X (n), de variables
aleatorias i.i.d. (independientes e identicamente distribuidas) a X.
2. Calcular Sn = X (1) + . . . + X (n), la suma de los n valores sorteados.
b = Sn/n.
3. Calcular X
Pn
b
b 2/(n 1) .
4. Calcular V = i=1(X (i))2/(n(n 1)) X
b es un estimador de ; discutiremos en las proximas
Se dice que X
transparencias los argumentos que llevan a pensar que con alta
probabilidad sus valores son cercanos.
Curso Metodos de Monte Carlo - Facultad de Ingeniera, Universidad de la Rep
ublica (Uruguay)
Comentarios
n es el tama
no de la muestra, tambien llamado n
umero de
replicaciones.
sabemos que
b = Var (Sn/n) = Var
Var X
Pn
i=1 X
(i)
n
(i)
X
Var X
nVar (X) Var (X)
=
=
=
.
2
2
n
n
n
i=1
Sin embargo, en general Var (X) no se conoce. Como alternativa,
podemos emplear la propia muestra para obtener un estimador de
Var (X), el estimador insesgado mas habitual es
n
X
1
b 2.
s2 =
(X (i) X)
n 1 i=1
b
varianza de X,
Vb =
n
X
b 2/(n 1).
(X (i))2/(n(n 1)) X
i=1
Motivaci
on del m
etodo
Es claro que el metodo de Monte Carlo no provee el valor exacto deseado,
sino una aproximaci
on, con un cierto error; este tema sera discutido mas a
fondo en sesiones siguientes.
La justificaci
on inicial del uso de Monte Carlo proviene de dos teoremas
centrales de la probabilidad y la estadstica, la Ley Debil de los Grandes
N
umeros y el Teorema del Lmite Central (o Teorema Central del Lmite).
Sea X1, X2, . . . un conjunto de variables aleatorias i.i.d. (independientes e
identicamente distribuidas).
Sea Sn = X1 + . . . + Xn. Si existe la esperanza = E (Xi), entonces la
Ley Debil de los Grandes N
umeros indica que, para todo > 0,
Sn
lim Prob > = 0.
n
n
Curso Metodos de Monte Carlo - Facultad de Ingeniera, Universidad de la Rep
ublica (Uruguay)
La interpretaci
on es que si se suma n muestras independientes de Xi, la
probabilidad que la suma (normalizada por n) este lejos del valor exacto a
estimar tiene a 0 con n.
2
2
Si, adicionalmente, existe la varianza = E (Xi ) , el Teorema del
Lmite Central implica que
Z a
2
Sn n
lim Prob
ex /2dx.
< a = (2)1/2
n
n
10
11
Ejemplo 1
Supongamos que tenemos un satelite, que para su funcionamiento depende
de que al menos 2 paneles solares de los 5 que tiene disponibles esten en
funcionamiento, y queremos calcular la vida u
til esperada del satelite (el
tiempo promedio de funcionamiento hasta que falla, usualmente conocido
en la literatura como MTTF - Mean Time To Failure).
Supongamos que cada panel solar tiene una vida u
til que es aleatoria, y
esta uniformemente distribuda en el rango [1000 hs, 5000 hs] (valor
promedio: 3000 hs).
Para estimar por Monte Carlo el valor de , haremos n experimentos, cada
uno de los cuales consistira en sortear el tiempo de falla de cada uno de los
paneles solares del satelite, y observar cual es el momento en el cual han
fallado 4 de los mismos, esta es la variable aleatoria cuya esperanza es el
tiempo promedio de funcionamiento del satelite.
El valor promedio de las n observaciones nos proporciona una estimacion
de .
Curso Metodos de Monte Carlo - Facultad de Ingeniera, Universidad de la Rep
ublica (Uruguay)
12
Exper.
nro.
1
2
3
4
5
6
Prom.
Panel 1
3027
4162
3655
2573
2977
3756
-
Panel 2
1738
4029
2896
2649
2724
4190
-
satelite, X (i)
4546
4162
4010
2649
2977
3756
Sn/n = 3683
13
Seudoc
odigo b
asico de un M
etodo Monte Carlo
Supongamos que deseo calcular un cierto valor , y conozco una variable
aleatoria X con distribuci
on FX tal que = E (X).
b real Vb
Procedimiento Estimaci
onMonteCarlo (integer n, real X),
Parametro de entrada: n, tama
no de la muestra
b estimador de ; Vb , estimador de Var X
b
Parametros de salida: X,
1.
2.
3.
b = 0. /* Inicializaci
X
on */
Vb = 0.
For i = 1, . . . , n do
3.1 Sortear un valor de la variable X (i) con distribucion FX
b =X
b + X (i) /* Acumular*/
3.2 X
3.3 Vb = Vb + (X (i))2 /* Acumular*/
b = X/n
b
4. X
b 2/(n 1)
5. Vb = Vb /(n (n 1)) X
14
Para la implementaci
on computacional de Monte Carlo, se supone siempre
posible el conseguir muestras de variables aleatorias uniformes entre 0 y 1
(U (0, 1)), y el generar muestras de otras distribuciones a partir de la
transformaci
on de las variables uniformes. En la unidad 4 se discutira mas
a fondo este tema, esencial en la practica.
Para dar los elementos necesarios para poder programar implementaciones,
se adelantan los siguientes conceptos:
Bibliotecas para generar n
umeros seudo-aleatorios: conjunto de
funciones que permiten generar secuencias de n
umeros que se
comportan de forma razonablemente similar a una secuencia de
variables aleatorias independientes con distribucion uniforme entre 0 y 1.
Semilla: valor dado para inicializar la secuencia, semillas distintas
resultan en secuencias distintas.
Funci
on de inicializaci
on: inicializa la secuencia con una semilla.
Funci
on de sorteo: proporciona el pr
oximo n
umero aleatorio dentro
de la secuencia.
Curso Metodos de Monte Carlo - Facultad de Ingeniera, Universidad de la Rep
ublica (Uruguay)
15
Generaci
on de una v.a. X = U (a, b) a partir de una v.a. U = U (0, 1):
se sortea el valor de U , y se calcula X = a + (b a)U .
Generaci
on de una v.a. X = E() a partir de una v.a. U = U (0, 1): se
sortea el valor de U , y se calcula X = ln(U )/.
16
Ejemplo 2 - implementaci
on
El siguiente ejemplo muestra una implementaci
on en lenguaje C de Monte
Carlo aplicado en un caso muy sencillo.
Problema: se desea calcular la esperanza de la vida u
til de un satelite, cuyo
equipamiento principal (sujeto a fallos) consiste en dos computadoras y un
equipamiento de transmisi
on. El satelite funciona mientras al menos una
de las dos computadoras y el equipo de transmisi
on funcionen. En el
momento del lanzamiento, las computadoras poseen una vida u
til aleatoria
de distribuci
on uniforme entre 0 y 500 hs; y el equipamiento de transmision
posee una vida u
til aleatoria de distribuci
on uniforme entre 0 y 1500 hs.
Solucion: Definir un experimento consistente en sortear la vida u
til (el
tiempo hasta falla) de las dos computadoras y el equipo de transmision, y
en base a estos calcular el tiempo hasta falla del satelite. Para sortear
estos valores, se emplea una rutina que genera n
umeros seudoaleatorios.
Repetir este experimento un n
umero fijo de veces (por ejemplo 1000), y
Curso Metodos de Monte Carlo - Facultad de Ingeniera, Universidad de la Rep
ublica (Uruguay)
17
calcular la estimaci
on de la esperanza de vida u
til y de la desviacion de
esta estimaci
on utilizando las f
ormulas vistas previamente.
El codigo correspondiente (utilizando la funci
on estandar drand48 para
generaci
on de n
umeros aleatorios) esta disponible en
http://www.fing.edu.uy/inco/cursos/mmc/codigoC/satelite.c
Tambien esta disponible el c
odigo (utilizando el generador Mersenne
Twister, disponible en
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html):
http://www.fing.edu.uy/inco/cursos/mmc/codigoC/satelite-version2.c
Ambos c
odigos fueron compilados con gcc, usando la opcion -lm
(biblioteca matematica).
18
19
20
21
T5 depende de 3
T6 depende de 3 y 4
T7 depende de 3, 4 y 5
T8 depende de 3, 4 y 6
T9 depende de 3, 5
T10 depende de 8 y 9
Ejercicio 2.1 (INDIVIDUAL):
1. implementar un programa que reciba como parametros de lnea de
comando (o pregunte en pantalla) la cantidad de replicaciones n a
realizar, y emplee Monte Carlo para calcular (e imprimir) la estimacion
del tiempo total promedio desde que se comienza la obra hasta que se
finaliza la misma, y la desviaci
on estandar de este estimador.
Curso Metodos de Monte Carlo - Facultad de Ingeniera, Universidad de la Rep
ublica (Uruguay)
22
2. Incluir c
odigo para calcular el tiempo de calculo empleado por el
programa.
3. Utilizar el programa con n = 10, 100, 1000, 10000, y mostrar en una
tabla las estimaciones de media y desviaci
on estandar, as como los
tiempos de calculo. Discutir estos resultados.
Ver en la plataforma EVA las pautas sobre el informe a entregar
(disponibles en
https://eva.fing.edu.uy/mod/resource/view.php?id=37421).
Fecha entrega: Ver calendario de entregas en pagina EVA del curso.
23
24