5 votos

Metropolis Hastings con posterior estimada

Estoy interesado en muestras de $\theta$ de la distribución posterior

$$ P(\theta|x) = \int d\phi P(\theta|\phi)P(\phi|x) $$

donde $x$ son datos y $\phi$ son parámetros de nuisance. En principio, puedo usar un muestreador de Metropolis Hastings para tomar muestras de $\theta$ y $\phi$ y descartar las muestras del parámetro de nuisance.

En este caso, puedo muestrear de $P(\phi|x)$ directamente de modo que pueda aproximar la distribución posterior marginal mediante la integración de Monte Carlo

$$ P(\theta|x)\approx\frac{1}{n}\sum_{i=1}^n P(\theta|\phi_i)\equiv \hat P, $$

donde $\phi_i$ son muestras de $P(\phi|x)$. Por supuesto, la aproximación $\hat P$ no es determinística debido al error de muestreo. Parece que recuerdo que ejecutar el siguiente algoritmo toma muestras de la posterior en este caso pero ya no puedo encontrar la referencia. ¿Es esto correcto? En ese caso, ¿tienes alguna referencia?

# Muestreador en pseudo-python
theta = valor_inicial

para paso en rango(num_pasos):
    # Muestra phi
    phi = muestra_phi_dado_x(x)
    # Evaluar la posterior actual
    estimación_posterior = media(posterior(theta, phi))
    # Muestreado de la propuesta y evaluación de la posterior en la propuesta
    candidato = muestrear_de_propuesta(theta)
    estimación_posterior_candidato = media(posterior(candidato, phi))

    # Aceptar o rechazar la propuesta
    si random_uniform() < estimación_posterior_candidato / estimación_posterior:
         theta = candidato

0 votos

Esta forma clásica de Cadena de Markov Monte Carlo produce solo distribuciones posteriores bien definidas.

0 votos

@MichaelChernick, Me temo que no sigo.

3 votos

Busque aquí: darrenjw.wordpress.com/2010/09/20/… (para una referencia, el término que necesita buscar es pseudo-marginal MCMC).

5voto

Lev Puntos 2212

No entiendo la necesidad de esta construcción si puedes

  1. simular desde $P(\phi|x)$
  2. simular desde $P(\theta|\phi)

ya que entonces no se requiere ni una aproximación ni una implementación de MCMC.

Si no puedes muestrear analíticamente de P(θ|ϕ), un simple muestreador Gibbs también funcionará:

  1. simular desde $P(\phi|x,\theta)\propto P(\phi|x)\times P(\theta|\phi)$ [lo que puede requerir un paso de Metropolis-dentro-de-Gibbs]
  2. simular desde $P(\theta|\phi)$ [lo que puede requerir un paso de Metropolis-dentro-de-Gibbs]
  3. simular desde $P(\phi|x,\theta)\propto P(\phi|x)\times P(\theta|\phi)$ &tc...

Esto es menos costoso que la versión pseudo-marginal, que requiere $n$ $\phi_i$'s por una propuesta de $\theta$.

Nota: El enlace a MCMC pseudo-marginal hecho por lacerbi es sin embargo correcto en que si uno logra obtener un estimador no sesgado de la densidad posterior (hasta una constante) existen implementaciones válidas de MCMC basadas en tales estimaciones. Lo cual significa que tu propuesta no es correcta porque utilizas los mismos $\phi_i$'s para numerador y denominador en la razón de Metropolis. Las variables aleatorias utilizadas para aproximar la densidad posterior deberían considerarse como variables auxiliares o latentes y, por lo tanto, solo se simularán para la propuesta, mientras se conservan desde la etapa anterior para el valor actual: para citar a el blog de Darren Wilkinson,

"La clave para entender el enfoque pseudo-marginal es darse cuenta de que en cada iteración del algoritmo MCMC se está proponiendo un nuevo valor de w además de un nuevo valor para x."

Lo que significa que la razón de aceptación

introduce aquí la descripción de la imagen

conserva el valor anterior de w para el valor anterior de x. En otras palabras, los $\phi_i$'s no se deben volver a simular para calcular el estimador no sesgado en el valor anterior de $\theta$.

0 votos

Buen punto. En la práctica, me gustaría evitar el muestreo en dos etapas porque $P(\theta|\phi)$ tiene una alta varianza con respecto a $\phi$ y no puedo muestrear analíticamente de $P(\theta|\phi)$. Así que tendría que (1) sacar una muestra de $\phi$, (2) ejecutar una cadena MH con la distribución objetivo $P(\theta|\phi)$ hasta la convergencia, y repetir. ¿O hay un enfoque mejor?

0 votos

En la solución propuesta, $\hat P = \frac 1n \sum_{i=1}^n P(\theta|\phi_i)$ tiene una varianza con respecto a $\phi$ que es menor que la varianza de $P(\theta|\phi)$ en un factor de $n$.

0 votos

No lo creo... Si acaso, porque (a) los enfoques pseudo-marginales son menos eficientes que su contraparte exacta y (b) requieren nuevas simulaciones de los $\phi_i$ en cada nueva iteración.

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