16 votos

Cuál es la conexión entre Markov de cadena y cadena de Markov monte carlo

Estoy tratando de entender las cadenas de Markov con SAS. Entiendo que un proceso de Markov es uno donde el estado futuro depende solamente en el estado actual y no sobre el estado pasado y hay una matriz de transición que refleja la probabilidad de transición de un estado a otro.

Pero entonces me encontré con este término: cadena de Markov Monte Carlo. ¿Lo que quiero saber es si es cadena de Markov Monte Carlo en todas formas relacionadas con proceso de Markov que describo arriba?

20voto

Lev Puntos 2212

La conexión es que la cadena de Markov Monte Carlo (MCMC) los métodos se basan en la cadena de Markov teoría para producir y simulaciones de Monte Carlo de un complejo de distribución de destino $\pi$. En la práctica, estos métodos de salida de una secuencia $X_1,\ldots,X_N$ que es una cadena de Markov, es decir, que la distribución de $X_i$ dado todo el pasado $X_{i-1},\ldots,X_1$ sólo depende de $X_{i-1}$. En otras palabras, $$X_i=f(X_{i-1},\epsilon_i)$$ where $f$ is a function specified by the algorithm and the target distribution $\pi$ and the $\epsilon_i$'s are iid. The (ergodic) theory guarantees that $X_i$ converges (in distribution) to $\pi$ as $i$ gets to $\infty$.

La forma más fácil ejemplo de un algoritmo MCMC es el sector sampler: en la iteración i de este algoritmo, hacer

  1. simular $\epsilon^1_i\sim\mathrm{U}(0,1)$
  2. simular $X_{i}\sim\mathrm{U}(\{x;\pi(x)\ge\epsilon^1_i\pi(X_{i-1})\})$ (que equivale a la generación de un segundo independientes $\epsilon^2_i$)

Por ejemplo, si el objetivo de la distribución es normal, a $\mathrm{N}(0,1)$ [para el que no sería necesario MCMC en la práctica] el anterior se traduce como

  1. simular $\epsilon^1_i\sim\mathrm{U}(0,1)$
  2. simular $X_{i}\sim\mathrm{U}(\{x;x^2\le-2\log(\sqrt{2\pi}\epsilon^1_i\})$, es decir, $X_i=\pm \epsilon_i^2\{-2\log(\sqrt{2\pi}\epsilon^1_i)\varphi(X_{i-1})\}^{1/2}$ con $\epsilon_i^2\sim\mathrm{U}(0,1)$

o en R

T=1e4
x=y=runif(T) #random initial value
for (t in 2:T){
  epsilon=runif(2)#uniform white noise 
  y[t]=epsilon[1]*dnorm(x[t-1])#vertical move       
  x[t]=sample(c(-1,1),1)*epsilon[2]*sqrt(-2*#Markov move from
        log(sqrt(2*pi)*y[t]))}#x[t-1] to x[t]

Aquí es una representación de la salida, mostrando un correcto ajuste a la $\mathrm{N}(0,1)$ destino y la evolución de la cadena de Markov $(X_i)$. top: Histogram of 10⁴ iterations of the slice sampler and normal N(0,1) fit; bottom: sequence $(X_i)$

Y aquí es un zoom sobre la evolución de la cadena de Markov $(X_i,\epsilon^1_i\pi(X_i))$ durante los últimos 100 iteraciones, obtenidos por

curve(dnorm,-3,3,lwd=2,col="sienna",ylab="")
for (t in (T-100):T){
lines(rep(x[t-1],2),c(y[t-1],y[t]),col="steelblue");
lines(x[(t-1):t],rep(y[t],2),col="steelblue")}

que sigue vertical y horizontal se mueve de la cadena de Markov bajo el objetivo curva de densidad.100 last moves of the slice sampler

10voto

user777 Puntos 10934

Bueno, sí, hay una relación entre los dos términos, porque los sorteos de MCMC forma una cadena de Markov. De Gelman, Bayesiano de Análisis de Datos (3ª ed), pág. 265:

La cadena de Markov de simulación (también se llama cadena de Markov de Monte Carlo o MCMC) es un método general basado en la elaboración de los valores de $\theta$ de las distribuciones y, a continuación, la corrección de los sorteos mejor de aproximar el destino posterior distribución, $p(\theta|y)$. El muestreo se realiza de forma secuencial, con la distribución de las muestras de los sorteos según el último valor dibujada; por lo tanto, los sorteos se forma una cadena de Markov.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X