Software y Programación

El arte de la simulación: cómo Montecarlo revela patrones ocultos en la realidad

¿Qué es la simulación de Montecarlo, y cómo podemos emplearla?

Para analistas de datos, entusiastas de la estadística, y curiosos que buscan explorar el fascinante mundo de las simulaciones, no hay mejor lugar para comenzar que con el diagrama de Montecarlo. Este método de simulación estocástica ha sido una herramienta revolucionaria desde su concepción, ofreciendo una ventana a la comprensión de sistemas complejos que definen nuestra realidad diaria y profesional.

¿Qué es el análisis de Montecarlo?

El análisis de Montecarlo representa un conjunto de técnicas matemáticas que permiten entender el comportamiento de sistemas complejos mediante el uso de variables aleatorias. El diagrama de Montecarlo es una herramienta fundamental en la modelización y análisis de sistemas complejos. Utiliza la generación de números aleatorios para simular una amplia gama de situaciones en diversos campos, desde la ingeniería hasta las finanzas y las ciencias de la salud.

Su importancia radica en la habilidad para modelar fenómenos que incluyen incertidumbre, proporcionando valiosas aproximaciones a problemas que de otro modo serían prácticamente indescifrables.

Origen e historia

El término “Montecarlo” se originó durante el desarrollo de la bomba atómica en la Segunda Guerra Mundial, cuando los científicos utilizaban la simulación para calcular la probabilidad de que un neutro atómico activara una reacción nuclear.

El nombre “Montecarlo” hace alusión al célebre casino de Mónaco, reflejando la naturaleza aleatoria y probabilística de este tipo de simulaciones.

Montecarlo
Diego Delso , CC BY-SA 4.0, vía Wikimedia Commons

Como se menciona anteriormente, esta metodología fue desarrollada durante la Segunda Guerra Mundial por científicos como John von Neumann y Stanislaw Ulam, quienes buscaban formas de simular procesos nucleares complejos al rededor de 1944.

John von Neumann. LANL , Atribución, vía Wikimedia Commons.
Subido originalmente por Deer*lake (Transferido por Deer*lake) , Dominio público, vía Wikimedia Commons

Fundamentos teóricos

El diagrama de Montecarlo se apoya en la generación de números aleatorios y la aplicación de probabilidades para predecir la ocurrencia de varios posibles resultados. La simulación estocástica permite a los investigadores realizar miles, o incluso millones, de experimentos virtuales, con los cuales puede obtenerse una distribución de resultados potenciales.

Métodos de simulación estadística o Montecarlo

  • Simulación continua: En la simulación continua los estados del sistema cambian continuamente su valor. Son modeladas con ecuaciones diferenciales.
  • Simulación por eventos discretos: Además, hay otro enfoque conocido como simulación por eventos discretos, donde se establece un modelo cuyo comportamiento varía en momentos específicos del tiempo.
  • Simulación por autómatas celulares: Esta simulación se utiliza en situaciones complejas, donde se descompone el comportamiento del sistema en unidades más pequeñas conocidas como células.

Aplicaciones prácticas de la simulación de Montecarlo

  • Ingeniería: Desde el diseño estructural hasta el análisis de riesgos, el diagrama de Montecarlo ayuda a los ingenieros a optimizar procesos y productos.
  • Finanzas: En el ámbito financiero, permite la valoración de opciones, la gestión de cartera de clientes y la simulación de escenarios de mercado, favoreciendo la toma de decisiones informadas ante la incertidumbre.
  • Ciencias de la salud: La simulación de Montecarlo se emplea en investigaciones médicas y estudios epidemiológicos para el modelado de enfermedades y la predicción de su propagación.
  • Otros campos: También se utiliza en meteorología, logística y planificación urbana, demostrando su versatilidad y aplicabilidad en múltiples disciplinas.

Metodología

Una simulación de Montecarlo comienza con la definición de variables claves y sus probabilidades correspondientes. Luego se procede a generar una serie de valores aleatorios que, al ser procesados mediante algoritmos, producen una serie de resultados posibles. Estos resultados pueden analizarse para obtener estimaciones de probabilidad sobre el sistema bajo estudio.

Consideremos, por ejemplo, una empresa que desea estimar el rendimiento probable de una nueva inversión. Se pueden definir variables tales como el crecimiento de mercado esperado, costos de producción, y tasas de interés. Mediante la simulación de Montecarlo, la empresa puede anticipar una gama de resultados financieros y determinar la viabilidad de la inversión bajo diferentes escenarios.

Javier Santaolalla, Date un Voltio.

Herramientas y software

Existen numerosas herramientas diseñadas para facilitar la creación y ejecución de simulaciones de Montecarlo, incluyendo software especializado como @RISK, Crystal Ball, y también funciones en lenguajes de programación como Python y R.

  • @RISK es un software de análisis de riesgos desarrollado por Palisade Corporation. Este software es ampliamente utilizado para realizar análisis de riesgos utilizando métodos como Montecarlo y análisis de sensibilidad. Funciona como un complemento de Excel por lo que es de fácil uso y no requiere orientación. Permite definir la incertidumbre, seleccionar los objetivos, y simular cuantas veces se desee.
  • Oracle Crystal Ball, es una herramienta, basada en hojas de cálculo, diseñada para la creación de modelos predictivos, análisis de riesgos, simulaciones y optimizaciones. Proporciona estadísticas detalladas sobre los factores críticos que influyen en el riesgo, permitiéndote tomar decisiones estratégicas y obtener una ventaja competitiva en entornos de mercado inciertos.

Montecarlo en la resolución de integrales

El método de Montecarlo es una herramienta poderosa para calcular integrales definidas en los siguientes casos:

  • Cuando las técnicas analíticas son difíciles o imposibles de aplicar.
  • Cuando la función a integrar es compleja o tiene un comportamiento no estándar.
  • Cuando se requiere una estimación rápida del valor de la integral.

Algunos ejemplos específicos de integrales que pueden ser resueltas mediante Montecarlo incluyen:

  • Integrales de funciones trigonométricas
  • Integrales de funciones exponenciales
  • Integrales de funciones gaussianas
  • Integrales de funciones de probabilidad
  • Integrales de funciones que definen áreas, volúmenes o momentos de inercia

Es importante tener en cuenta que el éxito del método de Montecarlo depende de la elección del método de muestreo, la cantidad de puntos simulados y la estimación del error.

Ejemplo práctico

Vamos a desarrollar un script en Python capaz de resolver la siguiente integral definida a través del método de Montecarlo:

Comenzamos importando las bibliotecas que vamos a utilizar.

import numpy as np
import matplotlib.pyplot as plt
from numpy.random import uniform as unif

Definimos las siguientes variables:

  • Límites inferior y superior de nuestra integral definida.
  • Cantidad de iteraciones a ejecutar por nuestro script. A mayor cantidad de iteraciones, más preciso será nuestro resultado.
  • Arreglo (x) con números aleatorios dentro de los límites de la integral, los cuales se ubican entre 2 y 4 para este ejemplo. La cantidad de números aleatorios a generar es igual a la cantidad de iteraciones que definimos previamente.
li = 2
ls = 4
iteraciones = 1000000
x = unif(li, ls, iteraciones)

Para cada número aleatorio generado, resolvemos la función a integrar sustituyendo la variable «x» por cada valor generado previamente y sumamos todos los resultados obtenidos en la variable «total».

total = 0
for i in range (iteraciones):
  total += x[i] ** 2

Finalmente, obtenemos el resultado, el cual viene siendo el producto de la diferencia entre los límites de integración, y el valor total obtenido previamente, dividido entre la cantidad de iteraciones ejecutadas.

res = (ls - li) * total / iteraciones

De acuerdo a nuestro script, el resultado de esta integral es de 18.66200599697629, el cual es muy cercano al resultado exacto (56/3 = 18.6666666666666…).

Consideraciones y limitaciones

Pese a su versatilidad, el análisis de Montecarlo tiene sus limitaciones. La precisión de los resultados está directamente ligada a la calidad de los datos y los supuestos modelados. Además, la interpretación de los resultados requiere un conocimiento sólido de la teoría de la probabilidad y estadística.

El análisis de Montecarlo es más que una técnica matemática; es un enfoque que aplica la elegancia de la probabilidad y las matemáticas al análisis de la incertidumbre.

Es una herramienta fascinante y útil en una vasta gama de aplicaciones. Permite a los profesionales de distintas áreas explorar y comprender la incertidumbre inherente en sus campos, proporcionando así una base sólida para la toma de decisiones estratégicas e informadas. Ya sea para prever el impacto de cambios en las políticas económicas o para predecir el próximo gran avance en la tecnología, esta herramienta sigue siendo invaluable para quien busca respuestas en un mundo lleno de variables desconocidas. Con una comprensión adecuada y una aplicación cuidadosa, las posibilidades son tan vastas como la imaginación y la realidad lo permitan.

Sergio Alves

Ingeniero de Sistemas. MSc. en Data Science. Cuento con una amplia trayectoria profesional en las áreas de Desarrollo Web FullStack, DBA, DevOps, Inteligencia Artificial y Ciencia de Datos. Soy un entusiasta de la música, la tecnología y el aprendizaje contínuo.

Artículos Relacionados

Back to top button