Concepto
Por simulación entenderemos el conjunto de técnicas necesarias para la generación de datos con el propósito intrínseco de imitar, reproducir en definitiva las reglas de algún modelo real. Aquí entenderemos como un modelo la simplificación, ya sea mediante herramientas matemáticas o verbales, de un proceso natural complejo. Por tanto, la simulación nos permite generar datos basados en modelos que simplifican la complejidad natural. No solamente esta técnica puede ayudarnos a mejorar la comprensión del proceso, sino que características y comportamientos inicialmente no observados ni anticipados pueden emerger.
Por ejemplo, la simulación del crecimiento de una masa forestal, es decir la generación de datos mediante un modelo que imitan el crecimiento real de los árboles, nos permite analizar la dinámica de crecimiento de toda la masa a lo largo del tiempo basándonos simplemente en unos cuantos parámetros de interés. Este análisis nos ofrece la posibilidad de observar múltiples escenarios y de estudiar el efecto de, por ejemplo, varias estrategias silvícolas a lo largo del tiempo. La aplicación de estas técnicas no solamente nos ofrece un abanico de escenarios tan diversos como la propia realidad, sino que representa un ahorro en dinero y en tiempo considerable comparado con la obtención de información similar basada en la observación empírica. La simulación también es una herramienta muy útil para resolver problemas matemáticos que analíticamente son intratables o muy difíciles de resolver, por ejemplo, la estimación de parámetros vía métodos Bayesianos.
El gran auge e implementación de la simulación en casi todas las disciplinas científicas es en gran medida gracias a los grandes avances de la informática. El uso del ordenador personal para el cálculo matemático, ha permitido la definición de modelos cada vez más y más complejos evaluados, en muchos casos, mediante simulación. Aunque la simulación ha permitido una mejora substancial de esta evaluación y análisis, esto nos ha llevado a situaciones donde el modelo es casi tan complejo como la realidad y por tanto perdiéndose la ventaja intrínseca de la simplificación del proceso natural. En cualquier caso, una solución analítica siempre será preferible a cualquier simulación, siendo esta siempre una solución válida cuando las matemáticas no nos resuelvan el problema.
Tipos de simulación
La simulación puede ser determinista o estocástica, dependiendo de si los modelos simulados son deterministas o, por el contrario, contienen alguna variable aleatoria. Por ejemplo, la evaluación del crecimiento poblacional de Malthus para distintos valores del ratio de crecimiento nos permite evaluar como este parámetro afecta la dinámica poblacional. Este mismo modelo puede ser evaluado asumiendo que existe un elemento al azar que en cada simulación toma un valor distinto dependiendo de un modelo estocástico determinado.
La simulación estocástica nos lleva a la necesidad de generar variables aleatorias continuas y discretas. En la mayoría de los casos esta generación está basada en la transformación de las variables aleatorias partiendo de una variable aleatoria (v.a.) fácilmente generable. Sea X una v.a. con función de densidad fX (x) y sea Y= g(X) una transformación de X para una función monótona g(·). Considérese que X e Y son el soporte de estas variables aleatorias, respectivamente. Bajo el supuesto que fX (x) es continua sobre X y que g-1(y) tiene derivada continua sobre Y entonces la función de densidad de Y viene dada por
Por ejemplo, sea Y una v.a. exponencial con función de densidad fY(y) = λe-λy para y≥0 y parámetro λ > 0, y X una v.a. uniforme U(0,1). Entonces considerando la transformación Y = g(X) y por tanto g-1(g(x)) = g-1(y) = x y fX (x) = 1 para X ∼ U (0,1) se obtiene que
Integrando esta función se obtiene que
g-1(y) = 1 - e-λy
y por consiguiente Y = -ln(1-X) / λ = -ln(X) / λ. De esta forma podemos generar variables aleatorias exponenciales generando variables aleatorias uniformes. En realidad, cualquier v.a. continua y discreta puede ser generada a partir de la v.a. uniforme mediante la correspondiente función de transformación. De esta forma, para generar cualquier v.a. sólo es necesario generar un tipo, las uniformes.
Durante las últimas décadas muchos algoritmos han sido definidos para generar variables aleatorias uniformes o también llamados simplemente números aleatorios. En realidad, el generar números uniformes completamente aleatorios es una utopía y las técnicas de simulación disponibles nos permiten obtener números que bajo ciertas condiciones son “casi” completamente aleatorios. Estos números son llamados pseudo-aleatorios, ya que son obtenidos mediante algoritmos deterministas donde las mismas condiciones iniciales generan siempre la misma secuencia de números. Un buen generador de números pseudo-aleatorios tiene que asegurar que la secuencia de número no tenga estructura alguna ni dependencia entre los números incluso para series de valores muy largas. El generador clásico de números es el método congruencial, aunque actualmente todos los paquetes estadísticos incluyendo el R y el SAS incorporan un generador de números aleatorios. Una v.a. de especial interés por su importancia es la v.a. Normal. Varios métodos basados en la transformación de variables han sido propuestos para generar esta v.a. incluyendo el método propuesto por Box y Muller en el año 1958.
La simulación estocástica también tiene una aplicación muy importante para la resolución de problemas matemáticos. Por ejemplo, la simulación nos permite la evaluación de integrales, donde una solución analítica no es posible. Para ello existen varios métodos. Por ejemplo, el método llamado Hit-or-Miss Monte Carlo y el método Crude Monte Carlo, siendo este último y sus posteriores versiones los más utilizados. El método Crude Monte Carlo se basa en la idea de que cualquier integral puede considerarse como la esperanza matemática de una función matemática de una v.a. uniforme, así por ejemplo la integral
se puede considerar como
donde U ∼ U(0,1) y por tanto la probabilidad Pr(U = u) = 1. Ahora evaluar la integral implica simplemente estimar esta esperanza matemática generando números pseudo-aleatorio U ∼ U(0,1), es decir
con varianza asociada Var[Î]. Varias mejoras de este método han sido propuestas con tal de reducir esta varianza incluyendo el uso de variables antitéticas.
De forma general todos estos métodos y técnicas estadísticas basadas en la simulación son llamados Métodos de Monte Carlo, en alusión al Casino de Monte Carlo en Mónaco. Estos métodos de simulación fueron inicialmente formulados por John Von Neumann y Stanislas Ulam en el laboratorio científico de Los Álamos (EE.UU.) durante la investigación de la bomba atómica en los años 40. El uso de métodos de simulación de Monte Carlo (como sinónimo a simulación estocástica) es generalizado para el estudio de procesos estocásticos naturales como por ejemplo, procesos de colas, procesos de nacimiento y muerte, cadenas de Markov y en general cualquier modelo estocástico. Los métodos de Monte Carlo también han sido utilizados para la validación de hipótesis (Test de Monte Carlo), la inferencia estadística, para la simulación de sistemas complejos mediante cadenas de Markov (Método de Metropolis), y para la generación de muestras de una función de probabilidad determinada basándose en Cadenas de Markov (método de Markov Chain Monte Carlo). Este último posiblemente uno de los grandes puntales de la estadística moderna para el desarrollo de la estadística Bayesiana.
Recuerde que...
- • La simulación nos permite generar datos basados en modelos que simplifican la complejidad natural.
- • La simulación puede ser determinista o estocástica, dependiendo de si los modelos simulados son deterministas o, por el contrario, contienen alguna variable aleatoria.
- • La simulación estocástica nos lleva a la necesidad de generar variables aleatorias continuas y discretas.