3 votos

Parámetros discretos y continuos en el muestreador MCMC

Estoy trabajando con un modelo bayesiano de 6 dimensiones, y el muestreador afín-invariante implementado en emcee . Cuatro de esos parámetros son discretos, mientras que los otros dos son continuos.

emcee propondrá valores continuos para todo los parámetros como el siguiente paso en el muestreador. La forma en que actualmente manejo esto es "empujar" los valores de los parámetros discretos hacia los valores "válidos" más cercanos (es decir, los del conjunto discreto), antes de pasar el nuevo paso a la evaluación de la probabilidad.

Por ejemplo, suponiendo que los cuatro primeros parámetros sean los discretos, si el siguiente paso propuesto por emcee es:

$A=(0.26234, 12.5567, 0.00544, 9.56, 0.4674, 1.333)$

Voy a cambiar esto por el paso propuesto "empujado":

$A_p=(0.26, 12.56, 0.005, 9.6, 0.4674, 1.333)$

donde los cuatro primeros parámetros son ahora "válidos", y luego evaluar la probabilidad.

¿Es este un enfoque adecuado o estoy estropeando mis muestras? ¿Existen otros enfoques? También me parece que mis cadenas ( emcee trabaja con múltiples cadenas paralelas) no se mezclan. La tasa media de aceptación de todas las cadenas está por debajo del 1% y se pueden ver atascadas en un solo valor durante casi toda su longitud. ¿Podría ser esta la causa del problema?

3voto

user86176 Puntos 6

EDITAR: La validez de este enfoque depende de si su próxima propuesta comienza con los valores redondeados o con los no redondeados.

Nueva respuesta asumiendo que su próxima propuesta utiliza los valores no redondeados

Sí, este enfoque es válido. Se puede formalizar de la siguiente manera. En lugar de una probabilidad $L(X | \theta )$ y antes $\pi_\theta(\theta)$ donde $\theta$ es discreto, defina una nueva probabilidad $Pr(X | \phi) \equiv Pr(X|R(\phi))$ , donde $\phi$ es continua y $R$ redondea cada entrada al valor válido más cercano. Ejecute el muestreador en $\phi$ .

N.B. Algunas personas pueden tener la intuición de que el anterior en $\theta$ correspondiente al esquema anterior es evaluar $\pi_\phi$ en $\theta$ . No es así. Un determinado previo $\pi_\phi(\phi)$ induce la siguiente prioridad en $\theta$ : $$\pi_\theta(\theta) = \int_{[\theta \pm 0.5]} \pi_\phi(z)dz$$ .

Respuesta antigua asumiendo que su próxima propuesta comienza con los valores redondeados

Este enfoque no es válido. Este muestreador afín-invariante es una variante de Metrópolis-Hastings, lo que significa que la distribución de la propuesta aparece en dos puntos diferentes del algoritmo. Aparece en la generación de propuestas, por supuesto, y usted ha alterado ese punto. Pero la PDF de la propuesta también se utiliza al decidir si se acepta o se rechaza la propuesta actual. Si lo cambias en un lugar y no en el otro, no hay garantía de lo que ocurrirá.

( EDITAR: Incluso si evaluara correctamente la densidad de la propuesta, podría romper la propiedad de simetría $g(1/z) = zg(z)$ en el que se basa el muestreador para lograr un equilibrio detallado).

¡Hay otro problema aquí: la propuesta de "movimiento de estiramiento" utilizada por este muestreador afín-invariante utiliza una distribución de propuesta discreta! Cada caminante selecciona a otro caminante y se mueve un cierto porcentaje hacia o lejos de ese otro caminante. El porcentaje es fijo; es un parámetro de ajuste del algoritmo. No puedo asegurar que este sea su problema, pero es fácil imaginar un escenario en el que el tamaño del paso es pequeño, y su redondeo lo arrastra al valor actual sin importar qué. ¿Podría ser esta la causa de tu problema? Sí.

Puede que te preguntes qué hacer a continuación, pero eso es cuestión de otra pregunta:

¿Qué algoritmos/técnicas MCMC se utilizan para parámetros discretos?

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