Simulación estadística

Simulador de cadenas de Markov

Define una cadena de Markov mediante su matriz de transición, elige un estado inicial y observa cómo la distribución de estados converge a la distribución estacionaria.

Preset

Matriz de transición P

Cada fila representa el estado actual; cada columna, el estado siguiente. La suma de cada fila debe ser 1.

Selecciona un preset o configura la matriz y haz clic en “Simular”

Evolución del estado (proporción acumulada)

Distribución final vs distribución estacionaria

Distribución estacionaria:

Distribución empírica (proporción de tiempo):

Diferencia máxima |π − empírica|:

Interpretación:

¿Qué es una cadena de Markov?

Una cadena de Markov es un proceso estocástico de tiempo discreto \(\{X_0, X_1, X_2, \ldots\}\) que toma valores en un conjunto finito de estados y satisface la propiedad de Markov o "falta de memoria":

$$P(X_{n+1} = j \mid X_0, X_1, \ldots, X_n) = P(X_{n+1} = j \mid X_n) = p_{ij}$$

La probabilidad de pasar al estado siguiente depende únicamente del estado presente, no de cómo se llegó a él. Esto simplifica enormemente el análisis matemático sin sacrificar realismo en muchas aplicaciones.

El comportamiento completo de la cadena queda especificado por la matriz de transición \(P\), donde el elemento \(p_{ij}\) es la probabilidad de pasar del estado \(i\) al estado \(j\) en un paso:

$$P = \begin{pmatrix} p_{11} & p_{12} & \cdots & p_{1n} \\ p_{21} & p_{22} & \cdots & p_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ p_{n1} & p_{n2} & \cdots & p_{nn} \end{pmatrix}, \quad \sum_{j=1}^{n} p_{ij} = 1 \text{ para todo } i$$

Cada fila de la matriz de transición es una distribución de probabilidad: los valores son no negativos y suman 1. Esto hace que \(P\) sea una matriz estocástica (o de Markov).

Distribución estacionaria

Una distribución estacionaria (o de equilibrio) es un vector de probabilidades \(\pi = (\pi_1, \pi_2, \ldots, \pi_n)\) tal que:

$$\pi P = \pi \quad \text{con} \quad \sum_{i=1}^{n} \pi_i = 1, \quad \pi_i \geq 0$$

Intuitivamente, si la cadena se encuentra en la distribución estacionaria en el instante \(n\), permanecerá en esa distribución para siempre. En la práctica, representa la fracción de tiempo a largo plazo que la cadena pasa en cada estado.

Condiciones de existencia y unicidad

  • Irreducibilidad: todos los estados son accesibles desde cualquier otro estado (la cadena es un grafo fuertemente conexo). Esto garantiza que existe una única distribución estacionaria.
  • Aperiodicidad: ningún estado tiene periodicidad mayor que 1. Junto con la irreducibilidad, garantiza la convergencia de la distribución de estado hacia \(\pi\) independientemente del estado inicial.
  • Una cadena que es a la vez irreducible y aperiódica se denomina ergódica. Para cadenas ergódicas, \(\pi\) es la única distribución estacionaria y la cadena converge a ella.

Estado absorbente: preset Cliente / Churn

En el preset de Cliente, el estado "Churn" es un estado absorbente: \(p_{\text{churn}, \text{churn}} = 1\). Una vez que un cliente abandona, no regresa. Esto hace que la cadena sea no ergódica: eventualmente todos los clientes terminan en Churn. La distribución estacionaria asigna probabilidad 1 a ese estado y 0 al resto.

Aplicaciones reales

  • PageRank (Google): la web se modela como una cadena de Markov donde los estados son páginas y las transiciones son hipervínculos. La distribución estacionaria determina la relevancia de cada página.
  • Modelos meteorológicos: estados como Soleado, Nublado y Lluvia con probabilidades de transición ajustadas a datos históricos.
  • Ciclo de vida del cliente: Activo → Dormido → Churn. Permite calcular el valor esperado de un cliente y diseñar estrategias de retención.
  • Generación de texto: los modelos de n-gramas son cadenas de Markov donde el estado es la secuencia de las últimas \(n\) palabras y la transición elige la siguiente.
  • MCMC en estadística bayesiana: los algoritmos Metropolis-Hastings y Gibbs sampling construyen cadenas de Markov cuya distribución estacionaria es la posterior de interés.
  • Genética de poblaciones: el modelo de Wright-Fisher describe cómo cambia la frecuencia de alelos en una población finita mediante una cadena de Markov.
  • Teoría de colas: las cadenas de Markov modelan el número de clientes en una cola M/M/1 o M/M/k, permitiendo calcular tiempos de espera y tasas de servicio.

Preguntas frecuentes

¿Cuántos pasos se necesitan para llegar al equilibrio?

Depende del tiempo de mezcla de la cadena, que está relacionado con el segundo valor propio más grande (en módulo) de la matriz de transición, \(|\lambda_2|\). Cuanto más cerca de 1 esté \(|\lambda_2|\), más lenta es la convergencia: la cadena "recuerda" durante mucho tiempo su estado inicial. Formalmente, la distancia entre la distribución al paso \(t\) y la estacionaria decrece aproximadamente como \(|\lambda_2|^t\). Para el preset de Clima, la mezcla es relativamente rápida; para cadenas con estados casi absorbentes o con baja conectividad, puede requerir miles de pasos.

¿La cadena siempre converge a la misma distribución independientemente del estado inicial?

Sí, siempre que la cadena sea ergódica (irreducible y aperiódica). En ese caso, el Teorema Ergódico de Markov garantiza que la distribución en el paso \(n\) converge a la única distribución estacionaria \(\pi\) para cualquier estado inicial. El preset de Clima es ergódico. En cambio, si la cadena tiene varios estados absorbentes o no es irreducible, la distribución límite puede depender del estado de inicio.

¿Qué pasa con el preset de Cliente / Churn?

El estado "Churn" es absorbente: \(p_{\text{Churn},\text{Churn}} = 1\) y los demás \(p_{\text{Churn},j} = 0\). Una vez en Churn, no hay salida. Esto hace que la cadena no sea irreducible, y la única distribución estacionaria es \(\pi_{\text{Churn}} = 1\), \(\pi_{\text{Activo}} = \pi_{\text{Dormido}} = 0\). Si ejecutas la simulación con muchos pasos, observarás que la proporción de tiempo en Churn crece continuamente hacia 1. Esta es la base del análisis de tiempo hasta la absorción, una métrica clave en gestión de clientes.

¿Cómo se calcula la distribución estacionaria computacionalmente?

El simulador usa iteración de potencias: se toma un vector de probabilidades inicial (distribución uniforme) y se multiplica repetidamente por la matriz \(P\) hasta que el cambio entre iteraciones es menor que \(10^{-9}\). Este proceso converge a la distribución estacionaria (si existe y es única) en pocas miles de iteraciones. Analíticamente, \(\pi\) es el vector propio izquierdo de \(P\) asociado al valor propio 1.

¿Por qué el simulador muestra líneas de referencia horizontales en el gráfico de evolución?

Las líneas discontinuas horizontales indican el valor teórico de la distribución estacionaria \(\pi_i\) para cada estado \(i\). A medida que la simulación avanza, las líneas sólidas (proporción acumulada de tiempo en cada estado) convergen hacia esos valores de referencia. Esta convergencia es la manifestación empírica del teorema ergódico.

Herramientas relacionadas