21 votos

Distribución posterior y MCMC

He leído algo así como 6 artículos sobre los métodos de Monte Carlo con cadenas de Markov, hay un par de puntos básicos que no consigo entender.

  1. ¿Cómo se pueden "extraer muestras de la distribución posterior" sin conocer antes las propiedades de dicha distribución?

  2. De nuevo, ¿cómo puede determinar qué estimación de parámetros "se ajusta mejor a sus datos" sin conocer primero su distribución posterior?

  3. Si ya conoce las propiedades de su distribución posterior (como indican 1) y 2)), ¿para qué sirve utilizar este método?

Esto me parece un razonamiento circular.

35voto

Lev Puntos 2212

Si esto no fuera un claro conflicto de intereses En cuanto al algoritmo MCMC, le sugeriría que invirtiera más tiempo en el tema y leyera un libro entero en lugar de unos pocos artículos (¿6?) que sólo pueden ofrecer una perspectiva parcial.

¿Cómo se pueden "extraer muestras de la distribución posterior" sin conocer primero las propiedades de dicha distribución?

MCMC se basa en el supuesto de que el producto $$\pi(\theta)f(x^\text{obs}|\theta)$$ puede calcularse numéricamente (por lo tanto, se conoce) para un determinado $\theta$ donde $x^\text{obs}$ indica la observación, $\pi(\cdot)$ el anterior, y $f(x^\text{obs}|\theta)$ la probabilidad. Esto no implica un conocimiento profundo sobre esta función de $\theta$ . Aun así, desde una perspectiva matemática, la densidad posterior está completa y totalmente determinada por $$\pi(\theta|x^\text{obs})=\dfrac{\pi(\theta)f(x^\text{obs}|\theta)}{\int_ \Theta \pi(\theta)f(x^\text{obs}|\theta)\,\text{d}\theta}\tag{1}$$ Por lo tanto, no es particularmente sorprendente que se puedan encontrar métodos de simulación utilizando únicamente la entrada del producto $$\pi(\theta)\times f(x^\text{obs}|\theta)$$ Lo sorprendente de los métodos de Monte Carlo es que algunos métodos como Algoritmos Markov Chain Monte Carlo (MCMC) no requieren formalmente nada más que este cálculo del producto, en comparación con los algoritmos de aceptación-rechazo, por ejemplo, que exigen un límite superior. Un programa relacionado como Stan funciona con esta entrada y sigue ofreciendo prestaciones de gama alta con herramientas como NUTS y HMC incluida la diferenciación numérica.

Un comentario lateral escrito más tarde a la luz de algunas de las otras respuestas es que el constante normalizadora $$\mathfrak{Z}=\int_ \Theta \pi(\theta)f(x^\text{obs}|\theta)\,\text{d}\theta$$ no es especialmente útil para realizar la inferencia bayesiana en el sentido de que, si "conociera" su valor numérico exacto además de la función en el numerador de (1), $\mathfrak{Z}=3.17232\,10^{-23}$ decir, no habría avanzado nada en la búsqueda de estimaciones de Bayes o regiones creíbles. (La única excepción cuando esta constante importa es al realizar Comparación de modelos bayesianos .)

enter image description here

Cuando enseño sobre algoritmos MCMC, mi analogía es que en un videojuego tenemos un mapa completo (el posterior) y un jugador en movimiento que sólo puede iluminar una parte del mapa a la vez. Visualizar todo el mapa y detectar las regiones más altas es posible con suficientes intentos (¡y un recuerdo perfecto de las cosas pasadas!). Por tanto, un conocimiento local y primitivo de la densidad posterior (hasta una constante) es suficiente para conocer la distribución.

De nuevo, ¿cómo puede determinar qué estimación de parámetro "se ajusta mejor a sus datos" sin conocer primero su distorsión posterior? mejor" sin conocer primero su distribución posterior?

De nuevo, la distribución es conocido en sentido matemático o numérico. Las estimaciones de los parámetros de Bayes proporcionadas por MCMC, en caso necesario, se basan en el mismo principio que la mayoría de los métodos de simulación, la ley de los grandes números . En términos más generales, la inferencia (bayesiana) basada en Monte Carlo sustituye la distribución posterior exacta por una versión empírica. Por tanto, una vez más, basta con una aproximación numérica a la posterior, valor a valor, para construir una representación convergente del estimador asociado. La única restricción es el tiempo de cálculo disponible, es decir, el número de términos que se pueden llamar en la aproximación de la ley de los grandes números.

Si ya conoce las propiedades de su distribución posterior (como se indica en 1) y 2)), entonces ¿qué sentido tiene utilizar este método en primer lugar?

La propia paradoja de (1) es que se trata de un objeto matemático perfectamente bien definido, de modo que la mayoría de las integrales relacionadas con (1), incluido su denominador, pueden estar fuera del alcance de los métodos analíticos y numéricos. Aprovechando la naturaleza estocástica del objeto mediante métodos de simulación ( Integración Monte Carlo ) es una alternativa natural y manejable que ha demostrado ser inmensamente útil.

Preguntas validadas X conectadas:

14voto

Aaron Puntos 36

¿Cómo se pueden "extraer muestras de la distribución posterior" sin conocer primero las propiedades de dicha distribución?

En el análisis bayesiano solemos saber que la distribución posterior es proporcional a una función conocida (la probabilidad multiplicada por la prioridad), pero no conocemos la constante de integración que nos daría la densidad posterior real:

$$\pi( \theta | \mathbb{x} ) = \frac{\overbrace{L_\mathbb{x}(\theta) \pi(\theta)}^{\text{Known}}}{\underbrace{\int L_\mathbb{x}(\theta) \pi(\theta) d\theta}_{\text{Unknown}}} \overset{\theta}{\propto} \overbrace{L_\mathbb{x}(\theta) \pi(\theta)}^{\text{Known}}.$$

Así que en realidad sabemos una mayor propiedad de la distribución; que es proporcional a una función particular conocida. Ahora bien, en el contexto del análisis MCMC, una cadena de Markov toma un valor inicial $\theta_{(0)}$ y produce una serie de valores $\theta_{(1)}, \theta_{(2)}, \theta_{(3)}, ...$ para este parámetro.

La cadena de Markov tiene un distribución estacionaria que es la distribución que se conserva si se pasa por la cadena. Bajo ciertos supuestos generales (por ejemplo, que la cadena sea irreducible, aperiódica), la distribución estacionaria será también la distribución límite de la cadena de Markov, de modo que, independientemente de cómo se elija el valor inicial, ésta será la distribución hacia la que converjan los resultados a medida que se recorre la cadena más y más tiempo. Resulta que es posible diseñar una cadena de Markov con una distribución estacionaria igual a la distribución posterior, aunque no sepamos exactamente cuál es esa distribución . Es decir, es posible diseñar una cadena de Markov que tenga $\pi( \theta | \mathbb{x} )$ como su distribución estacionaria límite, incluso si todo lo que sabemos es que $\pi( \theta | \mathbb{x} ) \propto L_\mathbb{x}(\theta) \pi(\theta)$ . Hay varias formas de diseñar este tipo de cadena de Markov, y estos diversos diseños constituyen algoritmos MCMC disponibles para generar valores a partir de la distribución posterior.

Una vez que hemos diseñado un método MCMC como éste, sabemos que podemos introducir cualquier valor inicial arbitrario $\theta_{(0)}$ y la distribución de las salidas convergerá a la distribución posterior (ya que ésta es la distribución estacionaria límite de la cadena). Por lo tanto, podemos extraer muestras (no independientes) de la distribución posterior empezando con un valor inicial arbitrario, introduciéndolo en el algoritmo MCMC, esperando a que la cadena converja cerca de su distribución estacionaria y, a continuación, tomando las salidas posteriores como nuestras extracciones.

Esto suele implicar generar $\theta_{(1)}, \theta_{(2)}, \theta_{(3)}, ..., \theta_{(M)}$ para algún valor grande de $M$ y descartando $B < M$ iteraciones de "quemado" para permitir que se produzca la convergencia, dejándonos con sorteos $\theta_{(B+1)}, \theta_{(B+2)}, \theta_{(B+3)}, ..., \theta_{(M)} \sim \pi( \theta | \mathbb{x} )$ (aproximadamente).

Si ya conoce las propiedades de su distribución posterior... ¿qué sentido tiene utilizar este método?

El uso de la simulación MCMC nos permite pasar de un estado en el que sabemos que la distribución posterior es proporcional a alguna función dada (la verosimilitud multiplicada por la prioridad) para simular realmente a partir de esta distribución. A partir de estas simulaciones podemos estimar la constante de integración para la distribución posterior, y entonces tenemos una buena estimación de la distribución real. También podemos utilizar estas simulaciones para estimar otros aspectos de la distribución posterior, como sus momentos.

Ahora bien, hay que tener en cuenta que MCMC no es la única forma de hacerlo. Otro método sería utilizar algún otro método de integración numérica para tratar de encontrar la constante de integración para la distribución posterior. MCMC va directamente a la simulación de los valores, en lugar de tratar de estimar la constante de integración, por lo que es un método popular.

5voto

Johnny Puntos 151

Su confusión es comprensible. Seguramente, si ya sabe $p(\theta|X)$ ¿por qué habría que extraer muestras de $\theta$ con esta distribución? La respuesta suele ser que la distribución es multivariante, y se desea marginar sobre algunas dimensiones de $\theta$ pero no otros. Así, por ejemplo, $\theta$ podría ser un vector de 10 parámetros, y usted está interesado en la distribución marginal $p(\theta_1|X)=\int p(\theta|X)d\theta_{2:10}$ . Las integrales necesarias para realizar esta marginación suelen ser muy difíciles de calcular con exactitud. Pueden ser analíticamente intratables, y la integración numérica (determinista) suele ser engorrosa en dimensiones elevadas.

Aquí es donde MCMC puede ayudar. Siempre que conozca $p(\theta|X)$ hasta una constante de multiplicación, puede generar muestras de $\theta$ que siguen esta distribución. Entonces, dado un número suficiente de tales muestras, se puede simplemente observar la distribución de los valores muestreados de $\theta_1$ (por ejemplo, haciendo un histograma), y esas muestras se aproximarán a la distribución marginal deseada. En comparación con los métodos de integración numérica, MCMC es más eficaz porque dedica más tiempo a explorar partes de la distribución en las que se concentra una mayor parte de la masa de probabilidad. Además, muchos algoritmos MCMC (como el algoritmo clásico de Metropolis Hastings) sólo requieren que conozca la distribución objetivo hasta una constante de proporcionalidad, lo que resulta útil si no conoce la constante de normalización necesaria para que la distribución sea adecuada (lo que ocurre muy a menudo, porque para calcular esa constante en sí suele ser necesario calcular una integral multivariante tan compleja como la que le interesa).

Edito: se me ha ocurrido que esto quizá no responda del todo a su primera pregunta. La respuesta es que MCMC sólo requiere que se pueda calcular la probabilidad posterior (densidad) de un determinado valor del parámetro (hasta una constante de proporcionalidad). Así que todo lo que necesitas es una función donde, si pones un valor de parámetro, te da su probabilidad bajo la distribución objetivo (o un valor proporcional a esa probabilidad). En este sentido, la distribución objetivo debe ser "conocida". Pero no necesitas saber nada más sobre ella. Usted puede ser felizmente ignorante acerca de la media y la covarianza de la distribución, o sobre los pequeños garabatos y protuberancias que tiene aquí o allá, o cualquier número de otras cosas (aunque algunas de esas cosas puede ser útil saber con el fin de hacer MCMC ejecutar sin problemas).

4voto

Vitaly Puntos 53

Sólo un ejemplo para abordar la parte (1).

A veces se puede evaluar la posterior sólo hasta una función de partición.

Por ejemplo, usted sabe que $p(x)= \frac{1}{z}f(x)$ pero $z$ es desconocido.

El algoritmo metropolis hasting:

-Inicializar $x_0$

-Elige alguna distribución $q$

Repite:

-Muestra $y$ de $q(x_{i-1})$

-Acepta $y$ si $p(y)$ es grande (esencialmente) a través de una "regla de aceptación"

-si se acepta set $x_i=y$

Pero a cada paso no sabemos $p(y)$ sólo sabemos $f(y)$ porque $z$ es desconocido. Sin embargo, La regla de aceptación puede escribirse (esencialmente) como una relación de $p(x_{i-1})$ y $p(y)$ así que $z$ cancela.

El resultado final del muestreo es el siguiente $p(x), z $ incluido, pero nunca tuviste que calcular (o saber) $z$ .

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