3.2. Ejemplo de una simulación tipo Montecarlo, en hoja de cálculo
3.2. Ejemplo de una simulación tipo Montecarlo, en hoja de cálculo
La simulación de Monte Carlo es una técnica que combina
conceptos estadísticos (muestreo aleatorio) con la capacidad que tienen los
ordenadores para generar números pseudo-aleatorios y automatizar cálculos.
Los orígenes de esta técnica están ligados al trabajo
desarrollado por Stan Ulam y John Von Neumann a finales de los 40 en el
laboratorio de Los Alamos, cuando investigaban el movimiento aleatorio de los
neutrones [W1]. En años posteriores, la simulación de Monte Carlo se ha venido
aplicando a una infinidad de ámbitos como alternativa a los modelos matemáticos
exactos o incluso como único medio de estimar soluciones para problemas
complejos. Así, en la actualidad es posible encontrar modelos que hacen uso de
simulación Monte Carlo en las áreas informática, empresarial, económica,
industrial e incluso social [5, 8]. En otras palabras, la simulación de Monte
Carlo está presente en todos aquellos ámbitos en los que el comportamiento
aleatorio o probabilístico desempeña un papel fundamental -precisamente, el
nombre de Monte Carlo proviene de la famosa ciudad de Mónaco, donde abundan los
casinos de juego y donde el azar, la probabilidad y el comportamiento aleatorio
conforman todo un estilo de vida.
Son muchos los autores que han apostado por utilizar
hojas de cálculo para realizar simulación Monte Carlo [1, 6, 7]. La potencia de
las hojas de cálculo reside en su universalidad, en su facilidad de uso, en su
capacidad para recalcular valores y, sobre todo, en las posibilidades que
ofrece con respecto al análisis de escenarios (“what-if anaylisis”). Las
últimas versiones de Excel incorporan, además, un lenguaje de programación
propio, el Visual Basic for Applications, con el cual es posible crear
auténticas aplicaciones de simulación destinadas al usuario final. En el
mercado existen de hecho varios complementos de Excel (Add-Ins) específicamente
diseñados para realizar simulación Monte Carlo, siendo los más conocidos:
@Risk, Crystall Ball, Insight.xla, SimTools.xla, etc. [W2 – W5].
Conceptos fundamentales
La función ALEATORIO () de Excel
Las hojas de cálculo como Excel (y cualquier lenguaje de
programación estándar) son capaces de generar números pseudo-aleatorios
provenientes de una distribución uniforme entre el 0 y el 1. Este tipo de
números pseudo-aleatorios son los elementos básicos a partir de los cuales se
desarrolla cualquier simulación por ordenador. En Excel, es posible obtener un
número pseudo-aleatorio -proveniente de una distribución uniforme entre el 0 y
el 1- usando la función ALEATORIO:
Los números generados mediante la función ALEATORIO
tienen dos propiedades que los hacen equiparables a números completamente
aleatorios:
1.Cada vez que se usa la función ALEATORIO, cualquier
número real entre 0 y 1 tiene la misma probabilidad de ser generado (de ahí el
nombre de distribución uniforme).
2. Los diferentes números generados son estadísticamente
independientes unos de otros (es decir, el valor del número generado en un
momento dado no depende de los generados con anterioridad).
La función ALEATORIO es una función volátil de Excel.
Esto significa que cada vez que pulsamos la tecla F9 o cambiemos alguno de los
inputs del modelo, todas las celdas donde aparezca la función ALEATORIO serán
recalculadas de forma automática.
Se pueden encontrar ejemplos del uso de ALEATORIO en el
propio menú de ayuda de Excel.
¿Qué es la simulación de Monte Carlo?
La simulación de Monte Carlo es una técnica cuantitativa
que hace uso de la estadística y los ordenadores para imitar, mediante modelos
matemáticos, el comportamiento aleatorio de sistemas reales no dinámicos (por
lo general, cuando se trata de sistemas cuyo estado va cambiando con el paso
del tiempo, se recurre bien a la simulación de eventos discretos o bien a la
simulación de sistemas continuos).
La clave de la simulación Monte Carlo consiste en crear
un modelo matemático del sistema, proceso o actividad que se quiere analizar,
identificando aquellas variables (inputs del modelo) cuyo comportamiento
aleatorio determina el comportamiento global del sistema. Una vez identificados
dichos inputs o variables aleatorias, se lleva a cabo un experimento
consistente en (1) generar – con ayuda del ordenador-muestras aleatorias
(valores concretos) para dichos inputs, y (2) analizar el comportamiento del
sistema ante los valores generados. Tras repetir n veces este experimento,
dispondremos de n observaciones sobre el comportamiento del sistema, lo cual
nos será de utilidad para entender el funcionamiento del mismo –obviamente,
nuestro análisis será tanto más preciso cuanto mayor sea el número n de
experimentos que llevemos a cabo.
Veamos un ejemplo sencillo:
En la imagen inferior se muestra un análisis histórico de
200 días sobre el número de consultas diarias realizadas a un sistema de información
empresarial (EIS) residente en un servidor central. La tabla incluye el número
de consultas diarias (0 a 5) junto con las frecuencias absolutas (número de
días que se producen 0, 1, ..., 5 consultas), las frecuencias relativas (10/200
= 0,05, ...), y las frecuencias relativas acumuladas
Comentarios
Publicar un comentario