Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Qu es el mtodo de Montecarlo?
En la prctica este anlisis consiste en ejecutar varias veces los diferentes sucesos variando
aleatoriamente su valor en funcin de la funcin estadstica que los define, dando como
resultado un conjunto de valores finales. Este conjunto de valores permite calcular el valor
medio y la variabilidad para el conjunto.
Definicin
La simulacin Monte Carlo es una tcnica matemtica computarizada que permite tener en
cuenta el riesgo en anlisis cuantitativos y tomas de decisiones. Esta tcnica es utilizada por
profesionales de campos tan dispares como los de finanzas, gestin de proyectos, energa,
manufacturacin, ingeniera, investigacin y desarrollo, seguros, petrleo y gas, transporte y
medio ambiente.
La simulacin Monte Carlo ofrece a la persona responsable de tomar las decisiones una serie
de posibles resultados, as como la probabilidad de que se produzcan segn las medidas
tomadas. Muestra las posibilidades extremas los resultados de tomar la medida ms
arriesgada y la ms conservadora as como todas las posibles consecuencias de las
decisiones intermedias.
Los cientficos que trabajaron con la bomba atmica utilizaron esta tcnica por primera; y le
dieron el nombre de Monte Carlo, la ciudad turstica de Mnaco conocida por sus casinos.
Desde su introduccin durante la Segunda Guerra Mundial, la simulacin Monte Carlo se ha
utilizado para modelar diferentes sistemas fsicos y conceptuales
La simulacin Monte Carlo realiza el anlisis de riesgo con la creacin de modelos de posibles
resultados mediante la sustitucin de un rango de valores una distribucin de
probabilidad para cualquier factor con incertidumbre inherente. Luego, calcula los
resultados una y otra vez, cada vez usando un grupo diferente de valores aleatorios de las
funciones de probabilidad. Dependiendo del nmero de incertidumbres y de los rangos
especificados, para completar una simulacin Monte Carlo puede ser necesario realizar miles o
decenas de miles de reclculos. La simulacin Monte Carlo produce distribuciones de valores
de los resultados posibles.
Lognormal Los valores muestran una clara desviacin; no son simtricos como en la
distribucin normal. Se utiliza para representar valores que no bajan por debajo del cero, pero
tienen un potencial positivo ilimitado. Ejemplos de variables descritas por la distribucin
lognormal son los valores de las propiedades inmobiliarias y bienes races, los precios de las
acciones de bolsa y las reservas de petrleo.
Uniform Todos los valores tienen las mismas probabilidades de producirse; el usuario slo
tiene que definir el mnimo y el mximo. Ejemplos de variables que se distribuyen de forma
uniforme son los costos de manufacturacin o los ingresos por las ventas futuras de un nuevo
producto.
Triangular El usuario define los valores mnimo, ms probable y mximo. Los valores
situados alrededor del valor ms probable tienen ms probabilidades de producirse. Las
variables que se pueden describir con una distribucin triangular son el historial de ventas
pasadas por unidad de tiempo y los niveles de inventario.
PERT El usuario define los valores mnimo, ms probable y mximo, como en la distribucin
triangular. Los valores situados alrededor del ms probable tienen ms probabilidades de
producirse. Sin embargo, los valores situados entre el ms probable y los extremos tienen ms
probabilidades de producirse que en la distribucin triangular; es decir, los extremos no tienen
tanto peso. Un ejemplo de uso de la distribucin PERT es la descripcin de la duracin de una
tarea en un modelo de gestin de un proyecto.
Discrete El usuario define los valores especficos que pueden ocurrir y la probabilidad de cada
uno. Un ejemplo podra ser los resultados de una demanda legal: 20% de posibilidades de
obtener un veredicto positivo, 30% de posibilidades de obtener un veredicto negativo, 40% de
posibilidades de llegar a un acuerdo, y 10% de posibilidades de que se repita el juicio.
Durante una simulacin Monte Carlo, los valores se muestrean aleatoriamente a partir
de las distribuciones de probabilidad introducidas. Cada grupo de muestras se
denomina iteracin, y el resultado correspondiente de esa muestra queda
registrado. La simulacin Monte Carlo realiza esta operacin cientos o miles de veces,
y el resultado es una distribucin de probabilidad de posibles resultados. De esta
forma, la simulacin Monte Carlo proporciona una visin mucho ms completa de lo
que puede suceder. Indica no slo lo que puede suceder, sino la probabilidad de que
suceda.
Debido al tamao y complejidad de los proyectos que justifican el uso de este anlisis, en los
pequeos no se usa, este se realiza mediante computador, siendo totalmente inviable hacerlo
a mano. De todas formas es recomendable entender el mtodo de clculo que hay detrs de
estos programas de simulacin.
Debido al tamao y complejidad de los proyectos que justifican el uso de este anlisis, en los
pequeos no se usa, este se realiza mediante computador, siendo totalmente inviable hacerlo
a mano. De todas formas es recomendable entender el mtodo de clculo que hay detrs de
estos programas de simulacin.
Supongamos que queremos conocer el nmero esperado (o medio) de consultas por da. La
respuesta a esta pregunta es fcil si recurrimos a la teora de la probabilidad: Denotando por X
a la variable aleatoria que representa el nmero diario de consultas al EIS, sabemos que:
Por otra parte, tambin podemos usar simulacin de Monte Carlo para estimar el nmero
esperado de consultas diarias (en este caso se ha podido obtener el valor exacto usando teora
de probabilidad, pero ello no siempre ser factible). Veamos cmo:
Cuando se conozca la distribucin de probabilidad asociada a una variable aleatoria discreta,
ser posible usar la columna de frecuencias relativas acumuladas para obtener los llamados
intervalos de nmeros aleatorios asociados a cada suceso.
El grfico siguiente nos muestra cada una de las probabilidades sobre el nmero de consultas.
En l, se aprecia claramente la relacin existente entre probabilidad de cada suceso y el rea
que ste ocupa.
Finalmente, usando la funcin PROMEDIO ser posible calcular la media de los valores de la
columna H:
En este caso, hemos obtenido un valor estimado que corresponde exactamente con el valor
real anteriormente calculado va la definicin terica de la media. Sin embargo, debido a la
componente aleatoria intrnseca al modelo, normalmente obtendremos valores cercanos al
valor real, siendo dichos valores diferentes unos de otros (cada simulacin proporcionar sus
propios resultados). Se puede comprobar este hecho pulsando repetidamente sobre la funcin
F9 (cada vez que se pulsa dicha tecla, Excel genera nuevos valores aleatorios y, por tanto,
nuevos valores para la columna H y la casilla I1). Si en lugar de usar una muestra aleatoria
formada por 100 observaciones hubisemos usado una formada por 10, los valores que
obtendramos al pulsar repetidamente F9 no seran estimaciones tan buenas al valor real. Por
el contrario, es de esperar que si hubisemos usado 1.000 (o mejor an 10.000) observaciones,
los valores que obtendramos en la casilla I1 estaran todos muy cercanos al valor real.
Veamos un ejemplo algo ms complejo del uso de Excel para construir modelos de simulacin
Monte Carlo cuando las variables aleatorias sean discretas:
Supongamos que trabajamos en un gran almacn informtico, y que nos piden consejo para
decidir sobre el nmero de licencias de un determinado sistema operativo que conviene
adquirir las licencias se suministrarn con los ordenadores que se vendan durante el prximo
trimestre, y es lgico pensar que en pocos meses habr un nuevo sistema operativo en el
mercado de caractersticas superiores. Cada licencia de sistema operativo le cuesta al almacn
un total de 75 Euros, mientras que el precio al que la vende es de 100 Euros. Cuando salga al
mercado la nueva versin del sistema operativo, el almacn podr devolver al distribuidor las
licencias sobrantes, obteniendo a cambio un total del 25 Euros por cada una. Basndose en los
datos histricos de los ltimos meses, los responsables del almacn han sido capaces de
determinar la siguiente distribucin de probabilidades por lo que a las ventas de licencias del
nuevo sistema operativo se refiere:
Construimos nuestro modelo usando las frmulas que se muestran en la figura inferior. En la
casilla H2 usaremos la funcin ALEATORIO para generar el valor pseudo-aleatorio que
determinar el suceso resultante; en la celda I2 usamos la funcin BUSCARV para determinar
el suceso correspondiente asociado al valor pseudo-aleatorio obtenido notar que usamos
tambin la funcin MIN, ya que en ningn caso podremos vender ms licencias que las
disponibles. El resto de frmulas son bastante claras:
En la imagen anterior se muestra cmo construir el modelo con una observacin (iteracin). A
fin de generar nuevas observaciones, deberemos seleccionar el rango H2:N2 y "arrastrar" hacia
abajo (tantas casillas como iteraciones deseemos realizar):
Finalmente, es posible estimar el valor esperado de la variable aleatoria que proporciona los
beneficios sin ms que hallar la media de las 100 observaciones que acabamos de realizar.
Asimismo, usaremos las funciones DESVEST e INTERVALO.CONFIANZA para hallar,
respectivamente, la desviacin estndar de la muestra obtenida y el intervalo de confianza (a
un nivel del 95%) para el valor esperado:
A partir del modelo anterior es posible tambin realizar what-if anlisis (anlisis de
escenarios o preguntas del tipo qu pasara si cambiamos tal o cual input?). Para ello es
suficiente con ir cambiando los valores de las celdas con fondo amarillo o rojo (inputs del
modelo en este ejemplo). Asimismo, podemos ampliar fcilmente el nmero de iteraciones
(observaciones muestrales) sin ms que repetir los procesos de seleccionar y arrastrar.
En el caso actual, hemos optado por tomar 1.000 iteraciones para cada una de los posibles
inputs asociados a la cantidad de pedido (estos posibles inputs son: 100, 150, 200, 250, y 300).
Si se realizase el experimento, se obtendran unos resultados similares a los que se muestran a
continuacin (ya que 1.000 es un nmero ya bastante considerable para este ejemplo):
A partir de los resultados, parece claro que la decisin ptima es hacer un pedido de 150
unidades, ya que con ello se consigue el beneficio mximo.
Las ltimas versiones de Excel incorporan un Add-In llamado Anlisis de datos. Este
complemento proporciona nuevas funcionalidades estadsticas a la hoja de clculo. Entre ellas,
nos interesa destacar la de Generacin de nmeros aleatorios:
Con esta opcin, es posible generar fcilmente observaciones provenientes de diversas
distribuciones de variable discreta (Bernoulli, Binomial, Poisson, Frecuencia relativa, y Discreta)
o de variable continua (Uniforme y Normal). Independientemente del complemento Anlisis
de datos, es posible usar un resultado muy conocido de la teora estadstica, llamado mtodo
de la transformada inversa, para derivar las frmulas que permiten obtener valores pseudo-
aleatorios provenientes de distribuciones como la Weibull o la Lognormal. En la tabla siguiente
se muestran algunas frmulas que, implementadas en celdas de Excel, nos permiten obtener
valores pseudo-aleatorios de algunas de las distribuciones continuas ms usadas:
ia = b = -LN(ALEATORIO())*b
la = b
= b*(-LN(ALEATORIO())^(1/a)
ma = a
ia = Desv.
= DISTR.NORM.INV(ALEATORIO(),,)
ndar =
ia de Ln(X) =
= DISTR.LOG.INV(ALEATORIO(),,)
. Estndar de Ln(X) =
emo inferior = a
= a+(b-a)*ALEATORIO()
emo superior = b
Aadir, finalmente, que es relativamente sencillo implementar funciones VBA que, haciendo
uso del mtodo de la transformada inversa o de otros mtodos similares, permitan la
generacin de valores provenientes de casi cualquier distribucin terica.
Supongamos que desde un ordenador cliente se realiza consultas SQL a bases de datos
situadas en dos servidores distintos. Nuestro objetivo ser estimar el tiempo esperado (tiempo
medio) que deberemos esperar para recibir la respuesta de ambos servidores. Dada la
complejidad de la consulta que queremos realizar, y basndonos en experiencias anteriores, se
calcula que el tiempo necesario para que cada uno de los servidores responda a la misma sigue
una distribucin normal con los parmetros (media y desviacin estndar, en minutos) que se
indican a continuacin:
Usaremos tambin las funciones CONTAR y CONTAR.SI para contar el nmero de iteraciones y
el nmero de veces que un servidor es ms rpido que el otro:
Para el primer mes, el valor esperado del flujo de entrada es de 500 Euros, mientras que el
valor esperado para el flujo de salida es de 400 Euros. En meses posteriores, el valor esperado
ser el valor obtenido para en el mes anterior. Por su parte, las desviaciones estndar valdrn,
en todos los casos, un 25% del valor medio (esperado) asociado. En base a lo anterior,
podemos construir un modelo como se muestra en las siguientes imgenes:
Seleccionando y arrastrando hacia abajo el rango G3:O3, hemos obtenido los siguientes
resultados para 5.859 iteraciones: