🧮 Computational Mathematics

Inicio · Parte 09 — Probabilidad y procesos aleatorios

199 — Cadenas de Markov

universitario clase 19 de 20 4 horas demostración markov_chains

Una cadena de Markov olvida su historia y, si es ergódica, olvida también su inicio.

Fórmulas

P(Xₙ₊₁ | Xₙ, …, X₀) = P(Xₙ₊₁ | Xₙ)
distribución tras n pasos: v·Pⁿ
estacionaria: πP = π,  con Σπᵢ = 1

Desarrollo

Una cadena de Markov es un proceso en el que el futuro depende del presente pero no del pasado. Esa propiedad de Markov es una simplificación drástica y sorprendentemente útil: basta con la matriz de transición P, donde Pᵢⱼ es la probabilidad de pasar del estado i al j, y cada fila suma 1.

La evolución es álgebra lineal pura. Si v es la distribución actual sobre los estados, tras un paso es vP y tras n pasos es vPⁿ. Toda la parte 06 se vuelve relevante aquí: las potencias de la matriz se calculan con su diagonalización, y la velocidad de convergencia la marca el segundo autovalor en módulo.

La distribución estacionaria π cumple πP = π: es un autovector izquierdo con autovalor 1, y describe el régimen de equilibrio. Si la cadena es ergódica —se puede llegar de cualquier estado a cualquier otro y no hay ciclos rígidos— entonces la estacionaria es única y la cadena converge a ella desde cualquier inicio. La condición inicial se olvida.

Esa propiedad es la base de MCMC: si se quiere muestrear de una distribución imposible de muestrear directamente, se construye una cadena cuya estacionaria sea esa distribución y se la deja correr. PageRank es exactamente lo mismo aplicado al grafo de la web, y los modelos de difusión son un proceso estocástico cuyo reverso se aprende con una red.

Ejemplo trabajado

Cadena de dos estados y su equilibrio.

P = [[0,9   0,1]        filas suman 1        ✓
     [0,5   0,5]]

inicio v = [1,0   0,0]      seguro en el estado A

paso 1:  [0,9000   0,1000]
paso 2:  [0,8600   0,1400]
paso 5:  [0,8346   0,1654]
paso 20: [0,8333   0,1667]

Estacionaria exacta: resolver πP = π con π₀ + π₁ = 1
  0,9π₀ + 0,5π₁ = π₀   →   0,5π₁ = 0,1π₀   →   π₀ = 5π₁
  π = [5/6   1/6] = [0,833333   0,166667]              ✓

Desde v = [0,0  1,0] la cadena converge al mismo π.

Qué calcula el laboratorio

Cadena de Markov: matriz de transición y distribución estacionaria.

python classes/part-09-probabilidad-y-procesos-aleatorios/199-cadenas-de-markov/lab.py
compmath run 199

Salidas del laboratorio (8)

Muestra de la ejecución real

{
  "matriz_de_transicion": [
    [
      0.9,
      0.1
    ],
    [
      0.5,
      0.5
    ]
  ],
  "filas_suman_1": true,
  "estado_inicial": [
    1.0,
    0.0
  ],
  "trayectoria": [
    {
      "paso": 1,
      "distribucion": [
        0.9,
        0.1
      ]
    },
    {
      "paso": 2,
      "distribucion": [
        0.86,
        0.14
      ]
    },
    {
      "paso": 5,
      "distribucion": [
        0.83504,
        0.16496
      ]
    },
    {
      "paso": 10,
      "distribucion": [
        0.83335081,
        0.16664919
      ]
    },
    {
      "paso": 60,
      "distribucion": [
        0.83333333,
        0.16666667
      ]
    }
  ],
  "distribucion_final": [
    0.83333333,
    0.16666667
  ],
  "estacionaria_teorica": [
    0.83333333,
    0.16666667
  ]
}

Errores comunes

Dónde se usa

PageRank, MCMC, modelos ocultos de Markov, aprendizaje por refuerzo con procesos de decisión markovianos y procesos de difusión.

Idea rectora de la parte

Monte Carlo convierge como 1/√n: cuadruplicar muestras solo duplica la precisión.

Error a evitar

Asumir independencia sin justificarla.

Conexión con IA

Un modelo de lenguaje es una distribución condicional sobre el siguiente token; la difusión es un proceso estocástico con reverso aprendido.

Bibliografía de la clase

Archivos de la clase