¿Por qué debería importarnos la mezcla rápida en las cadenas MCMC?

21

Cuando trabajamos con la cadena de Markov Monte Carlo para hacer inferencia, necesitamos una cadena que se mezcle rápidamente, es decir, se mueva rápidamente a través del soporte de la distribución posterior. Pero no entiendo por qué necesitamos esta propiedad, porque por lo que entiendo, los sorteos de candidatos aceptados deberían concentrarse en la parte de alta densidad de la distribución posterior. Si lo que entiendo es cierto, ¿todavía queremos que la cadena se mueva a través del soporte (que incluye la parte de baja densidad)?

Además, si estoy usando MCMC para hacer la optimización, ¿todavía necesito preocuparme por la mezcla rápida y por qué?

¡Gracias por compartir tus pensamientos!

qkhhly
fuente
En la literatura de MCMC se sabe que cuando una cadena de Markov es geométricamente ergódica, tiene una descomposición alfa-mezcla exponencialmente rápida. No tengo claro cómo X_ {n} podría converger rápidamente a la distribución objetivo y, sin embargo, mantener una alta correlación entre muestras sucesivas. ¿Hay algún ejemplo simple? Gracias por cualquier entrada!

Respuestas:

16

El algoritmo ideal de Monte Carlo utiliza valores aleatorios sucesivos independientes . En MCMC, los valores sucesivos no son independientes, lo que hace que el método converja más lentamente que el Monte Carlo ideal; sin embargo, cuanto más rápido se mezcla, más rápido decae la dependencia en iteraciones sucesivas¹ y más rápido converge.

¹ Quiero decir aquí que los valores sucesivos son rápidamente "casi independientes" del estado inicial, o mejor dicho, dado el valor en un punto, los valores X ń + k se vuelven rápidamente "casi independientes" de X n a medida que k crece; entonces, como dice qkhhly en los comentarios, "la cadena no se atasca en una determinada región del espacio de estado".XnXń+kXnk

Editar: creo que el siguiente ejemplo puede ayudar

Imagine que desea estimar la media de la distribución uniforme en por MCMC. Empiezas con la secuencia ordenada ( 1 , ... , n ) ; en cada paso, elige k > 2 elementos en la secuencia y los baraja aleatoriamente. En cada paso, se registra el elemento en la posición 1; esto converge a la distribución uniforme. El valor de k controla la rapidez de mezcla: cuando k = 2 , es lento; cuando k = n , los elementos sucesivos son independientes y la mezcla es rápida.{1,,n}(1,,n)k>2kk=2k=n

Aquí hay una función R para este algoritmo MCMC:

mcmc <- function(n, k = 2, N = 5000)
{
  x <- 1:n;
  res <- numeric(N)
  for(i in 1:N)
  {
    swap <- sample(1:n, k)
    x[swap] <- sample(x[swap],k);
    res[i] <- x[1];
  }
  return(res);
}

Apliquemos para y grafiquemos la estimación sucesiva de la media μ = 50 a lo largo de las iteraciones de MCMC:n=99μ=50

n <- 99; mu <- sum(1:n)/n;

mcmc(n) -> r1
plot(cumsum(r1)/1:length(r1), type="l", ylim=c(0,n), ylab="mean")
abline(mu,0,lty=2)

mcmc(n,round(n/2)) -> r2
lines(1:length(r2), cumsum(r2)/1:length(r2), col="blue")

mcmc(n,n) -> r3
lines(1:length(r3), cumsum(r3)/1:length(r3), col="red")

legend("topleft", c("k = 2", paste("k =",round(n/2)), paste("k =",n)), col=c("black","blue","red"), lwd=1)

convergencia mcmc

Puede ver aquí que para (en negro), la convergencia es lenta; para k = 50 (en azul), es más rápido, pero aún más lento que con k = 99 (en rojo).k=2k=50k=99

También puede trazar un histograma para la distribución de la media estimada después de un número fijo de iteraciones, por ejemplo, 100 iteraciones:

K <- 5000;
M1 <- numeric(K)
M2 <- numeric(K)
M3 <- numeric(K)
for(i in 1:K)
{
  M1[i] <- mean(mcmc(n,2,100));
  M2[i] <- mean(mcmc(n,round(n/2),100));
  M3[i] <- mean(mcmc(n,n,100));
}

dev.new()
par(mfrow=c(3,1))
hist(M1, xlim=c(0,n), freq=FALSE)
hist(M2, xlim=c(0,n), freq=FALSE)
hist(M3, xlim=c(0,n), freq=FALSE)

histogramas

k=2k=50k=99

> mean(M1)
[1] 19.046
> mean(M2)
[1] 49.51611
> mean(M3)
[1] 50.09301
> sd(M2)
[1] 5.013053
> sd(M3)
[1] 2.829185
Elvis
fuente
44
No creo que la afirmación "cuanto más rápido se mezcla, más rápido decae la dependencia en iteraciones sucesivas" es correcta. Las iteraciones sucesivas siempre dependerán del algoritmo Metropolis-Hastings, por ejemplo. La mezcla tiene que ver con la rapidez con la que sus muestras convergen en la distribución objetivo, no con la dependencia de las iteraciones sucesivas.
Macro
Esto es lo mismo: si converge rápidamente con la distribución objetivo, la dependencia del estado inicial decae rápidamente ... por supuesto, esto será lo mismo en cualquier punto de la cadena (que podría haberse elegido como estado inicial). Creo que la parte final del ejemplo anterior es esclarecedora para este aspecto.
Elvis
1
Sí, la dependencia del estado inicial decae, no necesariamente la dependencia entre iteraciones sucesivas.
Macro
Escribí "en sucesivas iteraciones", no "entre". Realmente quiero decir "a lo largo" ... esto es ambiguo, lo corregiré.
Elvis
2
Creo que entiendo lo que significa mezclar rápidamente. No es que la cadena se mueva a cada parte del soporte de distribución objetivo. Más bien, se trata más de que la cadena no se atasca en cierta parte del soporte.
qkhhly
10

(Xnorte)α

α(norte)=cenarUNA,si{El |PAGS(X0 0UNA,Xnortesi)-PAGS(X0 0UNA)PAGS(Xnortesi)},nortenorte,
(Xnorte)π

Xnorte

Sobre tu comentario específico que

... los sorteos de candidatos aceptados deberían y se concentrarán en la parte de alta densidad de la distribución posterior. Si lo que entiendo es cierto, ¿todavía queremos que la cadena se mueva a través del soporte (que incluye la parte de baja densidad)?

(Xnorte)

Xi'an
fuente
1
+1 Muchas gracias por el comentario sobre la simulación antitética, esto es genial
Elvis
@ Xi'an (+1): esta es la primera definición clara de (αα-α0 0
ρβ
3

Las presunciones que motivan el deseo de una cadena de mezcla rápida son que le importa el tiempo de cálculo y que desea una muestra representativa de la parte posterior. El primero dependerá de la complejidad del problema: si tiene un problema pequeño / simple, puede que no importe mucho si su algoritmo es eficiente. Esto último es muy importante si está interesado en la incertidumbre posterior o conoce la media posterior con alta precisión. Sin embargo, si no le importa tener una muestra representativa de la parte posterior porque solo está usando MCMC para hacer una optimización aproximada, esto puede no ser muy importante para usted.

Ben Lauderdale
fuente