Estoy tratando de aplicar MCMC en un problema, pero mis antecedentes (en mi caso son ) ¿están restringidos a un área? ¿Puedo usar MCMC normal e ignorar las muestras que quedan fuera de la zona restringida (que en mi caso es [0,1] ^ 2), es decir, reutilizar la función de transición cuando la nueva transición cae fuera del área restringida (restringida)?
sampling
mcmc
monte-carlo
random-walk
Cupitor
fuente
fuente
Respuestas:
Tienes varias opciones agradables, más o menos simples. Su uniforme previo ayuda a simplificarlos.
Opción 1: Muestra de independencia. Simplemente puede establecer la distribución de su propuesta igual a una distribución uniforme sobre el cuadrado de la unidad, lo que garantiza que las muestras no caerán fuera de la zona restringida, como lo llama. Posible inconveniente: si la parte posterior se concentra en una región muy pequeña del cuadrado de la unidad, puede tener una tasa de aceptación muy baja. OTOH, es difícil generar números aleatorios más rápido que a partir de una distribución U (0,1). Potencial al alza: menos trabajo para usted.
Opción 2: Transforme sus parámetros en algo que no esté acotado, haga propuestas para los parámetros transformados, luego transforme los parámetros para usarlos en las funciones de probabilidad. Tenga en cuenta que en este caso lo anterior estará en los parámetros transformados, porque para eso está haciendo propuestas, por lo que tendrá que meterse con el jacobiano de la transformación para obtener el nuevo prior. Para su análisis, por supuesto, transformará los números aleatorios de parámetros generados por MCMC a los parámetros originales. Posible inconveniente: más trabajo inicial para usted. Potencial al alza: mejor tasa de aceptación de sus propuestas.
Opción 3: Construya una distribución de propuesta que no sea una muestra de independencia que esté en el cuadrado de la unidad. Esto le permite mantener su uniforme antes, pero a costa de una mayor complejidad al calcular las probabilidades de la propuesta. Un ejemplo de esto, dejando que sea el valor actual de uno de sus parámetros, sería una distribución Beta con parámetros ( n x , n ( 1 - x ) ) . Cuanto mayor sea n , más concentrada estará su propuesta en torno al valor actual. Posible inconveniente: más trabajo inicial para usted. Potencial al alza: mejor tasa de aceptación de sus propuestas, pero si obtiene nx (nx,n(1−x)) n n demasiado grande y si te mueves cerca de una esquina, podrías terminar haciendo muchos pequeños movimientos en la esquina antes de salir.
Opción 4: simplemente rechace cualquier propuesta que quede fuera del cuadrado de la unidad (sugerencia poco entusiasta de Xian). Tenga en cuenta que esto no es lo mismo que simplemente generar otra propuesta; en este caso está rechazando la propuesta, lo que significa que su próximo valor para el parámetro es el mismo que el valor actual para el parámetro. Esto funciona porque es lo que sucedería si tuviera una probabilidad previa cero para alguna región de su espacio de parámetros y generara un número aleatorio que cayera en esa región. Posible inconveniente: si te acercas a una esquina, puedes tener una baja probabilidad de aceptación y quedarte atascado por un tiempo. Potencial al alza: menos trabajo para usted.
Opción 5: cree un problema extendido en el plano que, en el cuadrado de la unidad, sea el mismo que el problema real que enfrenta, haga todo bien, luego, cuando procese los resultados del muestreo MCMC, tire todas las muestras al exterior de la unidad cuadrada. Potencial al alza: si es muy fácil crear ese problema extendido, puede ser menos trabajo para usted. Posible inconveniente: si la cadena de Markov se aleja por algún tiempo fuera del cuadrado de la unidad, es posible que tenga, en efecto, horribles probabilidades de aceptación, ya que arrojará la mayoría de sus muestras.
Sin duda hay otras opciones, ¡me interesaría ver qué sugieren otras personas!
La diferencia entre 2 y 3 es hasta cierto punto conceptual, aunque con implicaciones reales para lo que realmente haces. Probablemente iría con 3, ya que simplemente dejaría que R me dijera cuáles son las probabilidades de la propuesta (si estoy programando en R) y la cantidad de esfuerzo adicional, aparte de algunos ajustes del parámetro de distribución de la propuesta , parece pequeño para mi. Si estuviera usando JAGS o BUGS, por supuesto, sería un asunto completamente diferente, ya que esas herramientas manejan sus propias propuestas.n
fuente