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!
Respuestas:
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".Xn Xń+k Xn k
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 > 2 k k = 2 k = n
Aquí hay una función R para este algoritmo MCMC:
Apliquemos para y grafiquemos la estimación sucesiva de la media μ = 50 a lo largo de las iteraciones de MCMC:n = 99 μ = 50
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 = 2 k = 50 k=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:
fuente
Sobre tu comentario específico que
fuente
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.
fuente