Entrega los siguientes notebooks del módulo:
01_fundamentos02_reduccion_varianza- Un notebook de aplicación (elige uno de la lista del módulo)
Opciones de entrega (elige una):
- Pull Request + Canvas: Sube tu trabajo en un pull request al repositorio del curso y pega el enlace en la tarea de Canvas.
- Canvas directo: Sube los archivos
.ipynbdirectamente en la tarea de Canvas.
Métodos de Monte Carlo
“The first ENIAC runs were made in late 1947. The idea was to test whether the calculation of neutron diffusion was feasible using Monte Carlo… It worked beyond our expectations.” — Nicholas Metropolis
Hemos aprendido a representar la incertidumbre con probabilidad, a razonar con redes bayesianas y a inferir causalidad. Pero hay una pregunta práctica que ninguno de esos marcos responde solo: ¿cómo calculamos concretamente con distribuciones complejas?
La respuesta —sorprendentemente simple y poderosa— es Monte Carlo: muestrea y promedia.
Contenido
| Sección | Tema | Idea clave |
|---|---|---|
| 12.1 | Historia y Motivación | Von Neumann, Ulam, Metropolis y la controversia del nombre |
| 12.2 | Fundamentos Formales | LLN, CLT, error $O(1/\sqrt{n})$, independencia dimensional |
Materiales y flujo de trabajo
| Paso | Material | Colab | Descripción |
|---|---|---|---|
| 1 | 12.1 Historia | — | Narrativa: el origen del método |
| 2 | 12.2 Fundamentos | — | La matemática detrás: LLN, CLT, error $O(1/\sqrt{n})$, independencia dimensional |
| 3 | Notebook 01 — Fundamentos | Clase: π, integración, LLN/CLT, primer vistazo a reducción de varianza | |
| 4 | Notebook 02 — Reducción de Varianza | Guiado: antithetic, control variates, importance sampling | |
| 5 | Notebook de aplicación (elige uno) | — | Exploración profunda en un dominio |
Notebooks de aplicación
Elige uno de los siguientes, o propón el tuyo:
| Notebook | Tema | Herramientas | Colab |
|---|---|---|---|
| 03 — Opciones Financieras | Pricing de opciones europeas y asiáticas con GBM | numpy, scipy | |
| 04 — Inferencia Bayesiana | Rejection sampling, IS, preview de MCMC | numpy, scipy | |
| 05 — Caminata Aleatoria | Difusión, conexión con Los Álamos, puzzle de Pólya | numpy, matplotlib | |
| 06 — Modelo de Ising | Metropolis-Hastings en su aplicación original; transiciones de fase; conexión a ML moderno | numpy, matplotlib | |
| 07 — Torneos Deportivos | Simulación de Champions League con ratings Elo; suerte vs. talento; formatos de torneo | numpy, scipy | |
| 08 — Epidemias Estocásticas | Modelo SIR estocástico; extinción aleatoria; inmunidad de rebaño; $R_0$ como umbral probabilístico | numpy, scipy |
Proponer tu propia aplicación
Si ninguno de los tres te convence, puedes proponer tu propio notebook. Requisitos mínimos:
- El problema debe involucrar una integral o esperanza difícil o imposible de calcular analíticamente
- Verificación: debes tener alguna forma de validar que tu estimador converge al valor correcto (solución exacta en un caso especial, límite conocido, o experimento controlado)
- Justificación: explica brevemente por qué Monte Carlo es la herramienta adecuada para tu problema
- Alcance: debe incluir al menos la estimación básica + análisis de convergencia + un ejercicio o extensión
Objetivos de aprendizaje
Al terminar este módulo podrás:
- Explicar el origen histórico de Monte Carlo y la controversia sobre su nombre
- Formular cualquier problema de estimación como $\mathbb{E}[f(X)]$ y construir el estimador MC correspondiente
- Aplicar la Ley de los Grandes Números y el Teorema Central del Límite para justificar y cuantificar el error del estimador
- Calcular intervalos de confianza para estimados Monte Carlo y determinar el tamaño de muestra necesario para una precisión dada
- Explicar por qué el error $O(1/\sqrt{n})$ es independiente de la dimensión y cuándo esto hace a MC superior a los métodos de cuadratura
- Implementar al menos una técnica de reducción de varianza (antithetic variates, control variates o importance sampling) y verificar que reduce el error empíricamente
- Aplicar Monte Carlo a un dominio concreto (finanzas, inferencia bayesiana o física estocástica)
Prerrequisitos
| Concepto | Módulo |
|---|---|
| Esperanza, varianza, distribuciones | 05 — Probabilidad |
| Ley de los Grandes Números | 05 — Probabilidad |
| Teorema Central del Límite | 05 — Probabilidad |
| Inferencia en redes bayesianas | 10 — Redes Bayesianas |
Cómo ejecutar el script de imágenes
Las imágenes en las notas se generan con lab_montecarlo.py:
cd clase/12_montecarlo
python3 lab_montecarlo.py
Dependencias: numpy, matplotlib, scipy (ver requirements.txt).