Estoy tratando de implementar HMC con una matriz de masa no diagonal, pero algunas de las terminologías me hacen tropezar.
De acuerdo con BDA3 y la revisión de Neal, el término de energía cinética (que supongo que siempre se usa por conveniencia) es
Esto también se reconoce como una normal multivariada con media cero y matriz de covarianza . BDA3 (pg 301) dice
Para mantenerlo simple, comúnmente usamos una matriz de masa diagonal, M. Si es así, los componentes de φ son independientes, con φj ∼ N (0, Mjj) para cada dimensión j = 1,. . . d. Puede ser útil para M escalar aproximadamente con la matriz de covarianza inversa de la distribución posterior, (var (θ | y)) ^ - 1.
(Estoy leyendo N (0, M)) como una normal multivariada con media cero y covarianza M.)
La parte que me hace tropezar es donde dice que "puede ser útil para escalar aproximadamente con la matriz de covarianza inversa de la distribución posterior ... ".
Y luego, justo antes de eso, la muestra de impulso que comienza los pasos de salto () se extrae de una matriz multivariada normal con covarianza.
Entonces, ¿cuál es? Para construir una buena M para HMC, ¿calculo la matriz de covarianza o precisión de la parte posterior? Aunquees la matriz de covarianza de la energía cinética, usando unQue es una estimación de la matriz de precisión de la posterior dará un algoritmo más eficiente?
Pregunta secundaria: ¿cuál es la intuición que podría guiarme aquí?
¿Desea utilizar una matriz de precisión para que el impulso empuje ortogonalmente al potencial / posterior para mejorar la mezcla?
O ¿desea que el impulso empuje hacia la parte de masa de alta probabilidad de la parte posterior (porque de ahí es de donde desea extraer la mayoría de las muestras).
ps La razón por la que no estoy usando la matriz de identidad para es porque para mi problema puedo obtener una estimación decente de la matriz de covarianza de mi bastante alta dimensión (~ 1000) posterior de antemano.
fuente
Una forma simple de ver por quéM debe ser la covarianza inversa de la distribución de la que desea muestrear es considerar el muestreo de una Normal multivariada con media aribitraria μ y covarianza Σ . En este caso, las ecuaciones de movimiento hamiltonianas pueden resolverse exactamente (es decir, no es necesaria la integración de salto de rana). Ahora paraM=Σ−1 suceden dos cosas mágicas: (i) las ecuaciones de movimiento para cada desacoplamiento de coordenadas del resto, y (ii) las matrices Σ y M cancelarse mutuamente y desaparecer de las ecuaciones de movimiento. La solución es un conjunto de osciladores con igual frecuencia, que se puede argumentar que produce la mezcla más rápida posible. Vea algunos detalles en las ecuaciones (2.31) - (2.35) aquí .
En una distribución genérica, este enfoque sería solo una aproximación.
fuente
Parte sobresaliente del momento de transformación lineal usando covarianza estimada.
Dado un estimadoΣ^ de la matriz de covarianza de la HMC posterior es tomar muestras de:
Dibujarϕ∼N(0,Σ^−1)
Simula la dinámica hamiltoniana. (Repitiendo L veces)
A. Medio paso:ϕ←ϕ+12ϵddθlogp(θ∣y) .
B. Paso completo:θ←θ+ϵΣ^ϕ .
C. Medio paso:ϕ←ϕ+12ϵddθlogp(θ∣y) .
Aceptar rechazar.
(Si esto es correcto, no votes a favor, vota a favor @lacerbi)
fuente