13 votos

Hamiltoniana/híbrido MCMC ' matriz de masa ' terminología

Estoy tratando de implementar HMC con un no-diagonal de la matriz de masa, pero estoy errado por parte de la terminología.

De acuerdo a BDA3 y Neal de la revisión, el término de energía cinética (que supongo que siempre se utiliza debido a la comodidad) es

$$ K(p) = \frac{p^T M^{-1} p}{2} \,.$$

Esto es fácilmente reconocible también llamado una normal multivariante con cero la media y la matriz de covarianza $M$. BDA3 (página 301) dice

Para mantenerlo simple, que comúnmente usamos un diagonal de la matriz de masa, M. Si es así, las componentes de f son independientes, con φj ∼ N(0,Mjj) para cada dimensión, j = 1, . . . d. Puede ser útil para M, aproximadamente, de la escala con la inversa de la matriz de covarianza de la distribución posterior, (var(θ|y))^-1.

(Estoy leyendo N(0, M)) como un multivariante normal con media cero y covarianza M.)

La parte disparo de mí es donde dice que "puede ser útil para $M$ a aproximadamente escala con la inversa de la matriz de covarianza de la distribución posterior...".

Y luego también, justo antes de que el impulso de la muestra que se inicia el salto pasos ($\phi$) se extrae de una normal multivariante con la covarianza de la matriz $M$.

Así que es? Para construir una buena M para HMC, puedo estimar la covarianza o precisión de la matriz de la parte posterior? Aunque $M$ es la matriz de covarianza de la energía cinética, el uso de un $M$ que es una estimación de la precisión de la matriz de la parte posterior producirá un algoritmo más eficiente?

Secundaria pregunta: ¿qué es la intuición de que podía guiar a mí aquí?

  • ¿Quieres usar una precisión de la matriz, de modo que el impulso que empuja ortogonalmente a la potencial/posterior para mejorar la mezcla?

  • O ¿quieres que el impulso para empujar hacia la alta probabilidad de la masa de la parte de la parte posterior (porque es ahí donde se desea dibujar la mayoría de las muestras).

p.s. La razón por la que no voy a usar la matriz de identidad para $M$ es porque para mi el problema se me ocurre para poder obtener decente estimación de la matriz de covarianza de mi bastante alto dimensiones (~1000) posterior de antemano.

7voto

Fire Crow Puntos 2273

Una transformación lineal de las variables de posición es equivalente a la inversa de la transformación lineal del impulso de las variables. Idealmente, usted quiere una muestra de un (transformado) distribución cuya matriz de covarianza es la matriz identidad, y esto se obtiene mediante la transformación indicada anteriormente.

Para más detalles, hay una buena explicación en Neal "MCMC el uso de la dinámica Hamiltoniana", el Capítulo 5 del Manual de la Cadena de Markov de Monte Carlo, la Sección 4.1 ("Efecto de las transformaciones lineales"). El capítulo está disponible aquí.

Neal explica:

Supongamos que tenemos una estimación, $\Sigma$, de la matriz de covarianza para $q$, y supongamos también que $q$ tiene al menos un aproximadamente de la distribución Gaussiana. ¿Cómo podemos utilizar esta información para mejorar el rendimiento de HMC? Es una manera de transformar las variables, de modo que su matriz de covarianza está cerca de la identidad, por la búsqueda de la descomposición de Cholesky, $\Sigma = LL^T$, $L$ triangular inferior, y dejar que $q^\prime = L^{−1}q$. [$\ldots$]

Una forma equivalente a hacer uso de la estimación de la covarianza $\Sigma$ es mantener el original de $q$ variables, pero el uso de la energía cinética de la función $K(p) = p^T \Sigma p/2$ - es decir, dejamos que el impulso de las variables tienen covarianza $\Sigma^{−1}$. La equivalencia puede ser visto por la transformación de esta energía cinética que corresponden a una transformación a $q^\prime = L^{−1} q$ (véase la ecuación (4.1)), lo que da $K(p^\prime) = (p^\prime)^T{M^\prime}^{−1}p^\prime$$M^\prime = (L^{−1}(LL^T)(L^{−1})^T)^{−1} = I$.

Para dar algo de intuición, supongamos que el pdf de destino es en forma de cigarro que apunta en una dirección que no está alineado al eje. Puede girar y ajustar la escala del espacio, de modo que el cigarro se convierte en una bola, y luego dibujar los ímpetus de una unidad normal multivariante, o , equivalentemente, se puede mantener el espacio original y sacar sus ímpetus para que se alineen con el cigarro (por ejemplo, con la mayoría de la velocidad a lo largo del eje mayor del cigarro, así que usted puede explorar rápidamente).

4voto

dannosaur Puntos 472

Una manera sencilla de ver por qué la $M$ debe ser la inversa de la covarianza de la distribución de la que desea de la muestra de es considerar el muestreo de una Normal multivariante con aribitrary media de $\mu$ y la covarianza $\Sigma$. En este caso, el Hamiltoniano las ecuaciones de movimiento se puede resolver de forma exacta (es decir, sin necesidad de leapfrog integración). Ahora, para $M=\Sigma^{-1}$ dos cosas mágicas suceden: (i) las ecuaciones de movimiento para cada coordenada separar del resto, y (ii) las matrices $\Sigma$ $M$ cancelar el uno del otro y desaparecer a partir de las ecuaciones de movimiento. La solución es un conjunto de oscilators con la misma frecuencia, lo que puede decirse que el rendimiento de las de más rápido posible de la mezcla. Ver algunos detalles en la nca (2.31)-(2.35) aquí.

En un genérico de distribución de este enfoque sería tan sólo una aproximación.

0voto

Kahil Puntos 268

Parte saliente de transformar linealmente impulso utilizando covarianza estimada.

Dada una estimación $\hat{\Sigma}$ de la covarianza matriz de HMC posterior es una muestra de:

  1. Dibujar $\phi \sim N(0, \hat{\Sigma}^{-1})$
  2. Simulación dinámica hamiltoniana. (Repetir tiempos de L)

A. medio paso: $\phi \leftarrow \phi + \frac{1}{2}\epsilon \frac{d}{d\theta}\mathrm{log}p(\theta \mid y)$.

B. paso completo: $\theta \leftarrow \theta + \epsilon \hat{\Sigma}\phi$.

C. medio paso: $\phi \leftarrow \phi + \frac{1}{2}\epsilon \frac{d}{d\theta}\mathrm{log} p(\theta \mid y)$.

  1. Aceptación o rechazo.

(Si esto es correcto, no upvote esto, upvote @lacerbi)

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