Procesos Estocásticos y Cadenas de Markov · Tema 27

Distribución inicial

Dónde empezamos: π(0) seguro o repartido, su efecto corto y cómo olvidarlo.

01 · Punto de partida

Toda evolución necesita un inicio

La regla π(n+1) = π(n)·P (Tema 26) avanza, pero ¿desde dónde? Empezar con el servidor seguro libre no es lo mismo que empezarlo repartido o en equilibrio. Los primeros pasos recuerdan el inicio.

Elegir π(0) es declarar el punto de partida —y decidir cuánto de él descartar (burn-in).

  • ¿Estado seguro [1, 0] o reparto [0,5 – 0,5]?
  • ¿Cuántos pasos dura su efecto?
  • ¿Cuándo conviene empezar en el equilibrio π?
  • ¿Qué parte inicial se descarta al estimar?

02 · Definición

¿Qué es π(0)?

Tres formas habituales:

1

Segura (delta)

π(0) = [1, 0]: X₀ = 0 con certeza. Típica al simular «desde libre».

÷

Repartida

π(0) = [0,5 – 0,5] o empírica: el inicio es incierto.

∞

Equilibrio

π(0) = π: ya estable desde el paso 0. Ideal para régimen.

Con a = 0,3 y b = 0,5, el equilibrio es π = [0,625 – 0,375]: empezar ahí elimina el transitorio.

Tres inicios, un destino (chance de 1).
π(0)n = 0n = 2n = ∞
[1, 0] seguro 00,0000,3600,375
[0,5 – 0,5]0,5000,3800,375
[0,625 – 0,375]0,3750,3750,375

03 · Anatomía

Transitorio, régimen y descarte

Cuatro ideas para operar con π(0):

Transitorio
Primeros pasos pegados a π(0). Corto si la cadena mezcla rápido.
Régimen
Desde que π(n) ≈ π: el inicio ya se olvidó. Lo que se usa para decidir.
Burn-in
Pasos iniciales que se descartan al estimar (promedios, π). Típico: 10–20 % o hasta estabilizar.
Inicio en π
Si se conoce π, empezar ahí ahorra burn-in. Si no, se estima y se verifica.

Simular corto

Manda π(0)

Horizonte 5–10: el inicio decide. Declararlo es obligatorio.

Simular largo

Manda P

Horizonte 1000+: el inicio se olvida. Igual conviene descartar el arranque.

04 · Ejemplos

Inicios que un programador declara

El inicio cuenta la historia del sistema antes del minuto cero:

Contexto→π(0)→transitorio
  1. 1
    Apertura: seguro libre.

    π(0) = [1, 0, 0]: local vacío a las 8 h.

  2. 2
    Mitad de día: empírico.

    π(0) = reparto medido a las 12 h.

  3. 3
    Régimen: equilibrio.

    π(0) = π para tests de largo plazo sin arranque.

  4. 4
    Tras falla: seguro caído.

    π(0) = [0, 0, 1]: mide la recuperación.

  5. 5
    Sin dato: uniforme.

    π(0) = [1/K…]: neutro explícito, no «verdadero».

05 · Representación en Python

π(0) es una lista que suma 1

En Python, π(0) es una lista validada (≥ 0, suma 1). Sortear X₀ con esa lista inicia cada réplica; evolucionar π(0) con P da las chances sin réplicas.

Python en tu navegador. Estos bloques se ejecutan localmente con Pyodide, sin instalar nada. Cambiá π(0) y compará n = 2.

import random

def sortear_inicio(pi0, semilla=7):
    random.seed(semilla)
    u, ac = random.random(), 0.0
    for i, p in enumerate(pi0):
        ac += p
        if u < ac:
            return i

for pi0 in [[1.0, 0.0], [0.5, 0.5], [0.625, 0.375]]:
    print(pi0, [sortear_inicio(pi0, s) for s in range(6)])

El seguro siempre da 0; los repartos mezclan. El sorteo respeta π(0) por construcción.

Evolucionar cada inicio dos pasos

El efecto del inicio en n = 2, sin simular historias:

P = [[0.7, 0.3], [0.5, 0.5]]

def evolucionar(pi0, N=2):
    pi = pi0[:]
    for _ in range(N):
        pi = [sum(pi[i] * P[i][j] for i in range(2)) for j in range(2)]
    return [round(x, 3) for x in pi]

for pi0 in [[1.0, 0.0], [0.0, 1.0], [0.625, 0.375]]:
    print(pi0, evolucionar(pi0))

06 · Exploración

Laboratorio: tres inicios, un destino

Tres curvas P(Xₙ=1) desde π₀(1) = 0 (turquesa), 0,5 (amarilla) y 1 (naranja). Movete el paso n: la banda entre ellas (apertura) se cierra hacia 0,375. Esa apertura mide cuánto recuerda el inicio.

EXPERIMENTO 27

El inicio se olvida

apertura(n) = máx − mín → 0

Los resultados numéricos aparecen debajo.
Desde 00,000
Desde 10,000
Apertura0,000
LecturaRecuerda

En n 2, la apertura es 0,040: casi olvidado.

En n = 0 la apertura es 1 (máximo desacuerdo); cada paso la multiplica por 0,2. En n = 5 es invisible.

Preguntas para explorar

  1. En n = 0, ¿cuánto vale la apertura? ¿Y en n = 5?
  2. ¿Qué curva no se mueve nunca? ¿Qué π₀ representa?
  3. Si estimás con n = 0…2 incluido, ¿hacia dónde sesga cada inicio?
Ver respuestas sugeridas
  1. 1,0 en n = 0; ≈ 0,0003 en n = 5 (×0,2⁵). Olvido geométrico.
  2. Ninguna de estas tres (0,375 no está dibujada partiría plana). Es el equilibrio.
  3. Hacia su inicio: desde 0 subestima, desde 1 sobrestima. Por eso el burn-in.

07 · Comprensión

Confusiones frecuentes

«π(0) es el primer estado simulado»

No: es la distribución de la que sale. El primer estado es un sorteo de π(0).

«Empezar en equilibrio es trampa»

No: es eficiencia. Si el interés es el régimen, ahorra burn-in legítimamente.

«El burn-in se tira porque está mal»

No está mal: es transitorio real. Se descarta para estimar régimen, no por error.

«π(0) no importa nunca»

No importa a largo plazo; decide el corto. Con horizonte 5, es casi todo.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: validar π(0)

Verificá estos candidatos y quedate con los válidos.

for pi0 in [[1.0, 0.0], [0.5, 0.5], [0.6, 0.5]]:
    print(pi0, all(x >= 0 for x in pi0) and abs(sum(pi0) - 1) < 1e-9)
Ver solución razonada

Válidos los dos primeros (True, True); el tercero suma 1,1 (False).

Ejercicio 2: apertura en n

Sin ejecutar primero: con factor 0,2, ¿qué apertura esperás en n = 3 si en 0 vale 1? Comprobalo.

print(0.2**3)
Ver solución

0,008: en 3 pasos el desacuerdo inicial casi desaparece.

Ejercicio 3: burn-in en promedios

Simulá 12 pasos desde 0 y promediá con y sin descartar los 4 primeros. ¿Cuál se acerca a 0,375?

Ver una posible respuesta
import random

random.seed(9)
a, b, x, hist = 0.3, 0.5, 0, [0]
for _ in range(12):
    x = 1 if random.random() < (a if x == 0 else 1 - b) else 0
    hist.append(x)
print("todo:", round(sum(hist) / len(hist), 3))
print("sin burn-in 4:", round(sum(hist[4:]) / len(hist[4:]), 3))

El segundo (sin arranque en 0) se acerca a 0,375; el primero queda abajo por el transitorio.

09 · Síntesis

Ideas para recordar

  • π(0) ≥ 0 y suma 1: seguro, repartido o equilibrio.
  • Manda el corto plazo; P manda el largo.
  • La apertura entre inicios decae geométrica.
  • En Python: validar, sortear X₀ y evolucionar.
  • Descartar burn-in para estimar régimen.

En el próximo tema iremos varios pasos de un salto: Pⁿ y Chapman-Kolmogorov.