Estoy tratando de entender el funcionamiento interno de Hamiltonian Monte Carlo (HMC), pero no puedo entender completamente la parte cuando reemplazamos la integración temporal determinista con una propuesta de Metropolis-Hasting. Estoy leyendo el impresionante documento introductorio Introducción conceptual al Monte Carlo hamiltoniano de Michael Betancourt, por lo que seguiré la misma notación utilizada en él.
Antecedentes
El objetivo general de Markov Chain Monte Carlo (MCMC) es aproximar la distribución $\pi(q)$ de una variable objetivo $q$ .
La idea del HMC es introducir una variable auxiliar de "impulso" $p$ junto con la variable original $q$ que se modela como la "posición". El par posición-momento forma un espacio fásico y puede ser descrito por la dinámica hamiltoniana. La distribución conjunta $\pi(q, p)$ puede escribirse en términos de descomposición microcanónica:
$\pi(q, p) = \pi(\theta_E | E) \hspace{2pt} \pi(E)$ ,
donde $\theta_E$ representa los parámetros $(q, p)$ en un nivel de energía determinado $E$ , también conocido como conjunto típico . Véase la Fig. 21 y la Fig. 22 del documento como ilustración.
El procedimiento original de HMC consta de los dos pasos siguientes, que se alternan:
-
Un paso estocástico que realiza una transición aleatoria entre niveles de energía, y
-
Un paso determinista que realiza la integración temporal (normalmente implementada a través de la integración numérica a saltos) a lo largo de un nivel de energía determinado.
En el documento, se argumenta que el leapfrog (o integrador simpléctico) tiene pequeños errores que introducirán un sesgo numérico. Por lo tanto, en lugar de tratarlo como un paso determinista, debemos convertirlo en una propuesta de Metrópolis-Hasting (MH) para que este paso sea estocástico, y el procedimiento resultante produzca muestras exactas de la distribución.
La propuesta de MH realizará $L$ pasos de las operaciones de salto y luego flip el impulso. La propuesta será entonces aceptada con la siguiente probabilidad de aceptación:
$a (q_L, -p_L | q_0, p_0) = min(1, \exp(H(q_0,p_0) - H(q_L,-p_L)))$
Preguntas
Mis preguntas son:
1) ¿Por qué esta modificación de convertir la integración temporal determinista en la propuesta MH anula el sesgo numérico para que las muestras generadas sigan exactamente la distribución objetivo?
2) Desde el punto de vista de la física, la energía se conserva en un nivel de energía determinado. Por eso podemos utilizar las ecuaciones de Hamilton:
$\dfrac{dq}{dt} = \dfrac{\partial H}{\partial p}, \hspace{10pt} \dfrac{dp}{dt} = -\dfrac{\partial H}{\partial q}$ .
En este sentido, la energía debe ser constante en todas partes en el conjunto típico, por lo que $H(q_0, p_0)$ debe ser igual a $H(q_L, -p_L)$ . ¿Por qué hay una diferencia de energía que nos permite construir la probabilidad de aceptación?