These lecture notes are intended to cover some introductory topics in stochastic simulation for scientific computing courses offered by the IT department at Uppsala University, as taught by the author. Basic concepts in probability theory are provided in the Appendix A, which you may review before starting the upcoming sections or refer to as needed throughout the text.
Se trata de notas de clase para la enseñanza de simulación estocástica en el curso de Computación Científica del Departamento de TI de la Universidad de Uppsala. El contenido abarca temas introductorios en simulación estocástica, incluyendo el método de Monte Carlo, generación de variables aleatorias, procesos estocásticos, Cadenas de Markov Monte Carlo (MCMC) y otros contenidos fundamentales. El Apéndice A proporciona conceptos básicos de teoría de probabilidades como base teórica para la comprensión de los capítulos posteriores.
Las notas de clase tienen como objetivo resolver problemas en la selección y aplicación de modelos deterministas versus estocásticos en computación científica:
Selección de Métodos de Modelado: Cómo elegir entre modelado determinista y modelado estocástico
Técnicas de Simulación Estocástica: Cómo generar y utilizar eficazmente variables aleatorias para simular sistemas complejos
Estimación de Parámetros: Cómo realizar estimación bayesiana de parámetros en entornos de incertidumbre
La simulación estocástica tiene gran importancia en la computación científica moderna:
Modelado de Sistemas Reales: Muchos sistemas reales contienen aleatoriedad e incertidumbre inherentes
Cálculo de Integrales de Alta Dimensión: El método de Monte Carlo posee ventajas únicas en el cálculo de integrales multidimensionales
Análisis de Sistemas Complejos: Sistemas biológicos, mercados financieros, propagación de epidemias y otros sistemas complejos requieren modelado estocástico
Marco de Enseñanza Sistemático: Proporciona un sistema de enseñanza completo desde teoría de probabilidades básica hasta métodos MCMC avanzados
Implementación de Algoritmos Prácticos: Ofrece implementaciones en Python de algoritmos clave, incluyendo generación de variables aleatorias, algoritmo de Gillespie, MCMC, etc.
Ejemplos de Aplicación Multidisciplinaria: Abarca aplicaciones en desintegración radiactiva, propagación de epidemias, valoración de opciones financieras, reacciones bioquímicas, etc.
Integración de Teoría y Práctica: Combina orgánicamente teoría matemática con implementación de programación práctica
Método de Transformación Inversa (Inverse Transform Method)
# Idea básica: Si U ~ U(0,1), entonces X = F^(-1)(U) ~ f
def inverse_transform_sampling(cdf_inverse, n):
U = np.random.uniform(0, 1, n)
return cdf_inverse(U)
Método de Aceptación-Rechazo (Acceptance-Rejection Method)
Utiliza una distribución propuesta g(x) y una constante C para acotar la distribución objetivo f(x)
Probabilidad de aceptación: α = min{f(X)/(Cg(X)), 1}
Las notas de clase citan textos clásicos del campo:
DeGroot & Schervish: Probability and Statistics
Ross: Simulation
Rubinstein & Kroese: Simulation and the Monte Carlo Method
Robert & Casella: Monte Carlo Statistical Methods
Evaluación General: Se trata de material de enseñanza de alta calidad sobre simulación estocástica, con gran sistematicidad y practicidad, que proporciona a los estudiantes una ruta de aprendizaje completa desde la teoría hasta la práctica. Aunque como notas de clase tiene ciertas limitaciones en algunos métodos de vanguardia, su valor educativo y práctico son muy altos, constituyendo un excelente material de referencia en este campo.