Cadenas de Markov
“I was drawn to this investigation not by applications, but by the desire to show, with a clear example, that the results derived under the assumption of independence can also be obtained without it.” — A.A. Markov, 1913
En el módulo 5 construimos las bases de probabilidad — esperanza, varianza, la Ley de los Grandes Números — y en el módulo 12 las usamos para estimar integrales con Monte Carlo. Ambos módulos asumían muestras independientes: cada observación no sabía nada de la anterior. Este módulo rompe esa suposición. En una cadena de Markov, cada valor depende del anterior, y aun así el promedio converge. El teorema ergódico demuestra que secuencias dependientes pueden comportarse, a largo plazo, como si fueran independientes. Esta idea conecta directamente con MCMC, el motor detrás de la inferencia bayesiana moderna.
Contenido
| Sección | Tema | Idea clave |
|---|---|---|
| 19.1 | Historia y motivación | Markov, Nekrasov, el origen de las cadenas |
| 19.2 | Cadenas de Markov | Definición, propiedad de Markov, matrices de transición |
| 19.3 | Propiedades | Irreducibilidad, aperiodicidad, distribución estacionaria |
| 19.4 | Teorema Ergódico | LLN para secuencias dependientes, prueba de acoplamiento |
| 19.5 | Aplicaciones | Lenguaje, finanzas, PageRank |
| 19.6 | MCMC | Metropolis-Hastings, balance detallado, burn-in |
Materiales y flujo de trabajo
| Paso | Material | Colab | Descripción |
|---|---|---|---|
| 1 | 19.1 Historia y motivación | — | Markov, Nekrasov, el origen de las cadenas |
| 2 | 19.2 Cadenas de Markov | — | Definición, propiedad de Markov, matrices de transición |
| 3 | 19.3 Propiedades | — | Irreducibilidad, aperiodicidad, distribución estacionaria |
| 4 | Notebook 01 — Cadenas y simulación | Construir cadenas, simular trayectorias, visualizar matrices de transición | |
| 5 | 19.4 Teorema Ergódico | — | LLN para secuencias dependientes, prueba de acoplamiento |
| 6 | Notebook 02 — Ergodicidad | Verificar convergencia a la distribución estacionaria y el teorema ergódico | |
| 7 | 19.5 Aplicaciones | — | Lenguaje, finanzas, PageRank |
| 8 | 19.6 MCMC | — | Metropolis-Hastings, balance detallado, burn-in |
| 9 | Notebook de aplicación (elige uno) | — | Exploración profunda en un dominio concreto |
Notebooks de aplicación
Elige uno de los siguientes:
| Notebook | Tema | Colab |
|---|---|---|
| 03 — Letras y lenguaje | Cadenas sobre texto: bigramas, generación de palabras, detección de idioma | |
| 04 — Mercados financieros | Régimenes de mercado como estados ocultos, matrices de transición empíricas |
Objetivos de aprendizaje
Al terminar este módulo podrás:
- Modelar un proceso secuencial como cadena de Markov, identificando estados y transiciones
- Construir la matriz de transición a partir de datos o de una descripción del proceso
- Verificar si una cadena es irreducible y aperiódica, y explicar por qué ambas propiedades importan
- Calcular la distribución estacionaria resolviendo el sistema lineal correspondiente
- Enunciar el teorema ergódico e interpretar su significado como LLN para secuencias dependientes
- Explicar intuitivamente la prueba de acoplamiento y por qué garantiza convergencia
- Simular trayectorias de una cadena de Markov y verificar empíricamente la convergencia ergódica
- Aplicar cadenas de Markov a problemas de lenguaje (bigramas, generación de texto) y finanzas (régimenes de mercado)
- Conectar la distribución estacionaria con el algoritmo Metropolis-Hastings y el concepto de balance detallado
- Distinguir el rol de burn-in en MCMC y su relación con la velocidad de convergencia de la cadena
Prerrequisitos
| Concepto | Módulo |
|---|---|
| Esperanza, varianza, Ley de los Grandes Números | 05 — Probabilidad |
| Estimador Monte Carlo, error $O(1/\sqrt{n})$ | 12 — Monte Carlo |
Mapa conceptual
graph TD
A["Módulo 5: Probabilidad, LLN"] --> B["Cadenas de Markov: dependencia secuencial"]
M["Módulo 12: Monte Carlo"] --> N["MCMC: muestreo con dependencia"]
B --> C["Propiedad de Markov + matrices de transición"]
C --> D["Propiedades: irreducibilidad, aperiodicidad"]
D --> E["Distribución estacionaria"]
E --> F["Teorema Ergódico: LLN para secuencias dependientes"]
F --> G["Prueba de acoplamiento"]
F --> H["Aplicaciones: lenguaje"]
F --> I["Aplicaciones: finanzas, PageRank"]
E --> N
N --> J["Metropolis-Hastings: balance detallado"]
J --> K["Burn-in y convergencia"]
Cómo ejecutar el script de imágenes
cd clase/19_cadenas_de_markov
python3 lab_markov.py
Dependencias: numpy, matplotlib (ver requirements.txt).
Ver los dos siguientes videos: https://www.youtube.com/watch?v=IqXdjdOgXPM