Procesos Estocásticos y Cadenas de Markov · Tema 11

Tiempos entre arribos

Cuánto esperar hasta el próximo evento: Sₖ = Tₖ − Tₖ₋₁, media 1/λ y esperas cortas frecuentes.

01 · Punto de partida

Entre evento y evento hay una espera

Hasta ahora contamos eventos con N(t) (Temas 7–8) y medimos el ritmo con λ (Temas 9–10). Ahora damos vuelta la mirada: en vez de «¿cuántos hasta t?», preguntamos «¿cuánto falta para el próximo?».

Esa espera es Sₖ = Tₖ − Tₖ₋₁: lo que separa al evento k−1 del k. Muchas esperas cortas, pocas largas: esa asimetría manda las colas y los stocks.

  • ¿Cuánto pasó entre el 3.º y el 4.º arribo?
  • ¿En promedio cuánto se espera: 1/λ?
  • ¿Las esperas son parejas o hay muchas cortas y pocas eternas?
  • ¿Con las esperas puedo reconstruir N(t)?

02 · Definición

Tₖ, Sₖ y N(t): tres caras de lo mismo

Un proceso de arribos se describe de tres formas equivalentes:

Tₖ

Instantes

Cuándo cae cada evento: 0,4 – 1,1 – 2,7… Es el log crudo.

Sₖ

Esperas

Cuánto entre uno y otro: Sₖ = T�k − Tₖ₋₁. Lo que se sortea al simular.

N

Conteo

Cuántos hasta t: N(t) = máx{k : Tₖ ≤ t}. Lo que se grafica escalera.

En Poisson homogéneo las Sₖ son independientes e idénticas de media 1/λ (exponenciales: Tema 12). Esa es la máquina de simular del Tema 13.

Del mismo proceso, tres tablas.
VistaEjemploSe usa para
Tₖ0,4 – 1,1 – 2,7 – 4,2Evaluar N(t) y dibujar ticks.
Sₖ0,4 – 0,7 – 1,6 – 1,5Sortear el próximo y medir esperas.
N(t)N(2) = 2, N(5) = 4Contar por intervalos y estimar λ.

03 · Anatomía

Media, dispersión y forma

Cuatro rasgos describen cualquier familia de esperas:

Media 1/λ
Lo esperado entre arribos. Con λ = 2/hora, 30 min en promedio.
Asimetría
Muchas cortas, pocas largas. La media supera a la mediana: lo típico es esperar menos que 1/λ.
Cola
Chance de esperas eternas: P(S > x) decrece exponencial. Esperas de 5× la media casi no ocurren.
Acumulación
Tₖ = S₁ + … + Sₖ. Sumar esperas da los instantes; contar instantes ≤ t da N(t).

Ver por N(t)

Escalera

Responde cuántos. Los saltos juntos delatan esperas cortas.

Ver por Sₖ

Histograma

Responde cuánto se espera. La barra alta a la izquierda delata asimetría.

04 · Ejemplos

Esperas que un programador mide

Todo log con timestamps da una lista Sₖ restando consecutivos:

Tₖ→Sₖ = ΔT→media 1/λ
  1. 1
    Llamadas: 0,4 – 0,7 – 1,6 h.

    Media ≈ 0,9 h → λ̂ ≈ 1,1/hora.

  2. 2
    Requests: 0,2 – 0,1 – 2,3 s.

    Dos rapidísimos y un hueco: asimetría típica.

  3. 3
    Fallas: días entre fallas.

    Sₖ grandes y variables: media en días, cola larga.

  4. 4
    Caja: minutos entre clientes.

    Sₖ chicas en hora pico, grandes en valle (λ(t)).

  5. 5
    Test: Sₖ constantes.

    Si todas valen 1,0 no hay azar: es agenda, no proceso.

05 · Representación en Python

Restar da Sₖ, acumular da Tₖ

En Python, los instantes son una lista y las esperas son diferencias. Acumular esperas reconstruye instantes; contar instantes ≤ t reconstruye N(t): el círculo se cierra.

Python en tu navegador. Estos bloques se ejecutan localmente con Pyodide, sin instalar nada. Cambiá los instantes y verificá las esperas.

T = [0.4, 1.1, 2.7, 4.2]
S = [T[0]] + [T[i] - T[i-1] for i in range(1, len(T))]
print("esperas:", [round(s, 2) for s in S])
print("media:", round(sum(S) / len(S), 2))

La primera espera se mide desde 0 (T₀ = 0). Sin esa convención, el primer evento queda huérfano.

Sortear esperas exponenciales

Con tasa λ, cada Sₖ se sortea como −ln(1−u)/λ. Así nace la simulación de Poisson (Tema 13):

import random, math

def sortear_esperas(n, lam=2.0, semilla=7):
    random.seed(semilla)
    return [-math.log(1 - random.random()) / lam for _ in range(n)]

S = sortear_esperas(6, lam=2.0)
print([round(s, 2) for s in S])
print("media:", round(sum(S) / len(S), 2), "| teoría 1/λ:", 1 / 2.0)

06 · Exploración

Laboratorio: muchas cortas, pocas largas

Sorteamos 400 esperas Exp(λ). Las barras son lo simulado; la curva blanca, la teoría exponencial. La línea amarilla es la media 1/λ: fijate cuánta masa queda a su izquierda. Subí λ y todo se comprime a la izquierda.

EXPERIMENTO 11

Histograma de Sₖ

Sₖ ~ Exp(λ) · media 1/λ

Los resultados numéricos aparecen debajo.
Media simulada0,00
Teoría 1/λ0,00
P(S > 2/λ)0 %
LecturaAsimétrica

Con λ 2,00, la espera media es 0,50 y un 13 % supera 1,00.

El histograma cae hacia la derecha: esperas cortas abundantes, largas escasas. La media está a la derecha del pico: lo típico es menor que el promedio.

Preguntas para explorar

  1. Con λ = 2, ¿la media simulada da 0,5? ¿La mayoría de las barras está a la izquierda o derecha de 0,5?
  2. Duplicá λ a 4. ¿La media se duplica o se parte a la mitad? ¿El histograma se estira o se comprime?
  3. ¿Qué fracción supera 2/λ? ¿Cerca de qué valor teórico (e^(−2) ≈ 13,5 %)?
Ver respuestas sugeridas
  1. Sí, ≈ 0,5, pero la masa está a la izquierda: la mediana (≈ 0,35) es menor que la media.
  2. Se parte a la mitad (0,25) y se comprime a la izquierda: todo ocurre antes.
  3. Ronda el 13–14 %: pocas, pero no despreciables. Esas largas congestionan.

07 · Comprensión

Confusiones frecuentes

«La espera típica es 1/λ»

1/λ es la media, no lo típico. Lo típico (mediana) es menor: ln2/λ ≈ 0,69/λ.

«Sₖ y N(t) son independientes»

No: son dos vistas del mismo azar. Sₖ chicas implican N(t) grande, y viceversa.

«La primera espera no cuenta»

Sí: S₁ = T₁ − 0. Sin T₀ = 0, el primer evento no tiene espera asignada.

«Esperas parejas = Poisson»

Al revés: Poisson da esperas muy desparejas (exponenciales). Parejas sugieren agenda determinística.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: de Tₖ a Sₖ y a N(t)

Con estos instantes calculá esperas, media y N(3). Verificá que T₃ = suma de S.

T = [0.4, 1.1, 2.7, 4.2]
S = [T[0]] + [T[i] - T[i-1] for i in range(1, len(T))]
print("S:", [round(s, 2) for s in S])
print("suma S:", round(sum(S), 2), "| T3:", T[-1])
print("N(3):", sum(1 for t in T if t <= 3))
Ver solución razonada

S = [0,4 – 0,7 – 1,6 – 1,5], suma 4,2 = T₃ y N(3) = 3. Las tres vistas cuadran.

Ejercicio 2: media vs mediana

Sin ejecutar primero: con 2000 esperas Exp(2), ¿media cerca de qué? ¿Y la mediana?

import random, math, statistics

random.seed(6)
S = [-math.log(1 - random.random()) / 2.0 for _ in range(2000)]
print("media:", round(statistics.mean(S), 3))
print("mediana:", round(statistics.median(S), 3))
print("teoría: 1/λ =", 0.5, "| ln2/λ =", round(math.log(2) / 2, 3))
Ver solución

Media ≈ 0,5 y mediana ≈ 0,35. La mitad espera menos de 0,35 aunque el promedio sea 0,5.

Ejercicio 3: la cola larga

¿Qué fracción de esperas supera el triple de la media (3/λ)? Compará con e^(−3) ≈ 5 %.

Ver una posible respuesta
import random, math

random.seed(8)
lam = 2.0
S = [-math.log(1 - random.random()) / lam for _ in range(5000)]
print("P(S > 3/λ):", round(sum(1 for s in S if s > 3 / lam) / len(S), 4))

Da ≈ 0,05: 1 de cada 20 esperas triplica la media. Esas son las que vacían salas de espera.

09 · Síntesis

Ideas para recordar

  • Sₖ = Tₖ − Tₖ₋₁ (con T₀ = 0): la espera entre eventos.
  • Tₖ acumula S; N(t) cuenta Tₖ ≤ t: tres vistas, un azar.
  • Media 1/λ, pero lo típico es menor (asimetría).
  • En Poisson las Sₖ son independientes e idénticas.
  • En Python: restar da Sₖ, sortear Sₖ da el proceso.

En el próximo tema formalizaremos esas esperas: distribución exponencial y tiempos de espera.