Procesos Estocásticos y Cadenas de Markov · Tema 39

Distribución estacionaria

Equilibrio π = πP: el reparto que ya no cambia y sostiene el largo plazo.

01 · Punto de partida

El reparto que ya no se mueve

Si la cadena arranca repartida como π y un paso después sigue repartida igual, está en equilibrio: πP = π. Ese π es el destino de π(n) y la base de μ = 1/π.

En 2×2 tiene fórmula cerrada; en K×K es un sistema lineal. Siempre se verifica multiplicando.

  • ¿Qué π cumple π = πP y suma 1?
  • ¿Existe uno solo o varios?
  • ¿Cómo se calcula en 2×2 sin álgebra pesada?
  • ¿La simulación larga lo confirma?

02 · Definición

¿Qué es π?

Tres condiciones la definen:

=

Invariante

πP = π: un paso no la cambia.

1

Distribución

π ≥ 0 y suma 1: es un reparto válido.

1

Única

En irreducible positiva: una sola. Con varias cerradas, una por mundo.

Con a = 0,3 y b = 0,5: π₀ = 0,5/0,8 = 0,625 y π₁ = 0,3/0,8 = 0,375. Verificación: [0,625 – 0,375]·P = [0,625 – 0,375].

π 2×2 según a y b.
Casoπ₀ = b/(a+b)π₁ = a/(a+b)
a = 0,3, b = 0,50,6250,375
a = b0,50,5 (simétrica)
a = 0,9, b = 0,10,10,9 (vive en 1)

03 · Anatomía

Balance, unicidad y uso

Cuatro lecturas de π:

Balance global
Lo que sale de cada estado iguala lo que entra (πP = π por columnas ponderadas).
Unicidad
Irreducible + recurrente+ ⇒ una π. Reducible ⇒ una por cerrada (el inicio elige).
Frecuencias
πᵢ = fracción del tiempo en i a largo plazo. Lo que estiman las simulaciones largas.
Base de μ
μᵢ = 1/πᵢ: π sostiene retornos, dimensionamiento y SLA.

π(n)

En el paso n

Depende del inicio (Temas 26–27). Viaja hacia π.

π

El destino

No depende del inicio (irreducible). Ya no viaja.

04 · Ejemplos

Equilibrios que se usan para decidir

Todo «a largo plazo, ¿qué fracción?» es un π:

Matriz P→π = πP→fracciones
  1. 1
    Servidor ocupado 37,5 %.

    π₁ = 0,375: dimensiona capacidad y turnos.

  2. 2
    Clima lluvioso 40 %.

    π_lluvia agenda riego y stocks.

  3. 3
    Cliente activo 80 %.

    π_activo proyecta ingresos recurrentes.

  4. 4
    Máquina caída 5 %.

    π_caído = indisponibilidad para SLA.

  5. 5
    Dos mundos.

    Sin π única: una por mundo según inicio.

05 · Representación en Python

Calcular π 2×2 y verificar πP

En Python, π 2×2 es fórmula y la verificación es multiplicar: πP debe devolver π. Con K×K se itera πP hasta converger (potencia).

Python en tu navegador. Estos bloques se ejecutan localmente con Pyodide, sin instalar nada. Cambiá a y b y verificá.

a, b = 0.3, 0.5
pi = [b / (a + b), a / (a + b)]
P = [[1 - a, a], [b, 1 - b]]
piP = [pi[0]*P[0][0] + pi[1]*P[1][0], pi[0]*P[0][1] + pi[1]*P[1][1]]
print([round(x, 4) for x in pi])
print([round(x, 4) for x in piP])

π = [0,625 – 0,375] y πP la replica: equilibrio verificado sin simular.

Iterar hasta π (método de potencias)

Con cualquier π(0), repetir πP converge a π (aperiódica):

P = [[0.7, 0.3], [0.5, 0.5]]
pi = [1.0, 0.0]
for _ in range(30):
    pi = [pi[0]*P[0][0] + pi[1]*P[1][0], pi[0]*P[0][1] + pi[1]*P[1][1]]
print([round(x, 4) for x in pi])

06 · Exploración

Laboratorio: π manda el reparto

Cadena 2×2 con a y b ajustables. Las barras son π₀ y π₁ exactas; los puntos blancos, la fracción simulada en 5000 pasos. Movete a y b: las barras y los puntos viajan juntos.

EXPERIMENTO 39

Equilibrio exacto vs simulado

π₀ = b/(a+b) · π₁ = a/(a+b)

Los resultados numéricos aparecen debajo.
π₀ exacta0,000
π₁ exacta0,000
Simulada en 10,000
Residuo |πP−π|0,000000

Con a 0,30 y b 0,50, π = [0,625 – 0,375].

Las barras son cálculo; los puntos, 5000 pasos simulados. Si coinciden, el generador y la fórmula se confirman mutuamente.

Preguntas para explorar

  1. Con a = 0,9 y b = 0,1, ¿π₁ cuánto da? ¿La simulada lo confirma?
  2. Igualá a = b. ¿π queda 50/50 siempre? ¿Por qué (simetría)?
  3. Generá nuevas simulaciones: ¿las barras o los puntos se mueven?
Ver respuestas sugeridas
  1. 0,9: vive en 1 (entra fácil, sale difícil). La simulada ≈ 0,9.
  2. Sí: π₀ = π₁ = 0,5. Tasas iguales equilibran.
  3. Los puntos (ruido); las barras son cálculo fijo.

07 · Comprensión

Confusiones frecuentes

«π es π(0)»

No: π(0) es el inicio arbitrario; π es el destino. Solo coinciden si se empieza en equilibrio.

«π = πP ya suma 1»

No: hay infinitas soluciones escaladas. La estacionaria exige además suma 1 y ≥ 0.

«Hay π única siempre»

Solo en irreducible positiva. Con varias cerradas hay una por mundo.

«π dice dónde estoy»

Dice la fracción del tiempo, no la posición actual. Es reparto, no GPS.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: calcular π 2×2

Con a = 0,2 y b = 0,8, calculá π y verificá πP = π.

a, b = 0.2, 0.8
pi = [b / (a + b), a / (a + b)]
P = [[1 - a, a], [b, 1 - b]]
piP = [pi[0]*P[0][0] + pi[1]*P[1][0], pi[0]*P[0][1] + pi[1]*P[1][1]]
print(pi, [round(x, 6) for x in piP])
Ver solución razonada

π = [0,8 – 0,2] y πP la replica: vive 80 % en 0 (sale poco, entra mucho).

Ejercicio 2: simular vs π

Sin ejecutar primero: con 8000 pasos y π₁ = 0,375, ¿fracción simulada cerca de qué? Comprobalo.

import random

random.seed(7)
a, b, x, unos, N = 0.3, 0.5, 0, 0, 8000
for _ in range(N):
    x = 1 if random.random() < (a if x == 0 else 1 - b) else 0
    unos += x
print(round(unos / N, 3))
Ver solución

≈ 0,375 (±0,01): la simulación larga confirma la fórmula.

Ejercicio 3: μ desde π

Con π = [0,625 – 0,375], calculá μ₀ y μ₁. ¿Cuál vuelve antes?

Ver una posible respuesta
print(1 / 0.625, 1 / 0.375)

1,6 y 2,67: el 0 (frecuente) vuelve antes (Tema 38).

09 · Síntesis

Ideas para recordar

  • π = πP con ≥ 0 y suma 1: equilibrio.
  • En 2×2: π₀ = b/(a+b), π₁ = a/(a+b).
  • Única en irreducible positiva; una por mundo si no.
  • πᵢ = fracción del tiempo; μᵢ = 1/πᵢ.
  • En Python: fórmula + check πP y simulación larga.

En el próximo tema veremos si π(n) llega a π: convergencia.