Uso de MCMC para evaluar el valor esperado de una función de alta dimensión


10

Estoy trabajando en un proyecto de investigación relacionado con la optimización y recientemente tuve la idea de utilizar MCMC en este entorno. Desafortunadamente, soy bastante nuevo en los métodos MCMC, así que tuve varias preguntas. Comenzaré describiendo el problema y luego haciendo mis preguntas.

Nuestro problema se reduce a estimar el valor esperado de una función de costo donde es una variable aleatoria -dimensional con una densidad .c(ω)ω=(ω1,ω2,...ωh)hf(ω)

En nuestro caso, no existe una versión de forma cerrada de . Esto significa que tenemos que usar los métodos de Monte Carlo para aproximar el valor esperado. Desafortunadamente, resulta que las estimaciones de que se generan usando métodos MC o QMC tienen demasiada variación para ser útiles en un entorno práctico.c(ω)E[c(ω)]

Una idea de que teníamos que usar una distribución de muestreo importante para generar puntos de muestra que producirían una estimación de baja varianza de . En nuestro caso, la distribución de muestreo de importancia ideal, , tiene que ser aproximadamente proporcional a . Al ver cómo se conoce hasta constante, me pregunto si puedo usar MCMC junto con la distribución de propuesta para eventualmente generar muestras de .E[c(ω)]g(ω)c(ω)f(ω)g(ω)c(ω)f(ω)g(ω)

Mis preguntas aquí son:

  • ¿Se puede usar MCMC dentro de esta configuración? Si es así, ¿qué método MCMC sería apropiado? Estoy trabajando en MATLAB, así que prefiero cualquier cosa que ya tenga una implementación de MATLAB.

  • ¿Hay alguna técnica que pueda usar para acelerar el período de quemado para MCMC? ¿Y cómo puedo decir que se ha alcanzado la distribución estacionaria? En este caso, en realidad lleva bastante tiempo calcular para un determinado .c(ω)ω


error tipográfico en el último párrafo? lugar de ? C(w)c(w)
mpiktas

No tiene que usar los métodos de Monte Carlo para integrales de alta dimensión solo porque no existe una forma cerrada. Usted podría utilizar métodos basados en redes dispersas . Sin embargo, no conozco los pros y los contras.
onestop

@onestop: tienes razón, las cuadrículas dispersas funcionan un poco mejor en mi caso, aunque también me gustaría probar esta idea.
Berk U.

Suena un poco a finanzas.
Wok

1
Se podría aplicar a las finanzas. Sin embargo, lo estamos utilizando para la gestión óptima de los sistemas de energía :)
Berk U.

Respuestas:


4

Siempre recordaría que MCMC es solo una herramienta de integración numérica (y bastante ineficiente). No es algo mágico / místico. Es muy útil porque es razonablemente fácil de aplicar. No requiere pensar mucho en comparación con algunas otras técnicas de integración numérica. Por ejemplo, no tiene que hacer ningún derivado. Solo tiene que generar "números aleatorios".

Sin embargo, como cualquier método de integración numérica, no es una herramienta universal para capturar todo. Hay condiciones cuando es útil, y condiciones cuando no lo es.

Puede ser más sabio configurar otra técnica. Dependiendo de qué tan grande sea , qué tan rápido sea su computadora y cuánto tiempo esté preparado para esperar los resultados. Una cuadrícula uniforme puede hacer el trabajo (aunque esto requiere una pequeña o una larga espera). El "trabajo" es evaluar la integral: a la ecuación no le importa el significado que usted o yo le otorguemos al resultado (y, por lo tanto, no le importa si obtuvimos el resultado al azar o no).hh

Además, si sus estimaciones de son bastante precisas, la tendrá un pico mucho a una función delta, por lo que la integral está sustituyendo efectivamente a .ωf(ω)ωωmax

Otra técnica de integración numérica es usar una serie taylor debajo de la integral. f(ω)f(ωmax)+(ωωmax)f(ωmax)+12(ωωmax)2f(ωmax)+

Esta es una estrategia útil cuando los momentos de se obtienen fácilmente.ω

Edwin Jaynes tiene una buena cita sobre esto:

cada vez que hay una forma aleatoria de hacer algo, hay una forma no aleatoria que produce mejores resultados, pero requiere más reflexión

Una forma de "más pensamiento" es usar "MCMC estratificado" para hacer la integral. Entonces, en lugar de "al azar", elija un lugar en todo el espacio de parámetros: divídalo en "estratos". Estos "estratos" deben seleccionarse para que obtenga un buen rango de la parte alta de la integral. Luego muestree al azar dentro de cada estrato. Pero esto requerirá que escriba su propio código, me imagino (es decir, más pensamiento).


Muchas gracias por tu publicación. Me gusta mucho tu idea estratificada de MC. Me preguntaba si conocías algún recurso para poder leerlo. Cualquier cosa con un ejemplo en acción sería muy apreciada.
Berk U.

Esta es una idea que he tenido, así que no conozco ningún recurso. Se podría poner en el marco MCMC, agregando otra capa que define los estratos. Y una de mis principales debilidades es hacer cosas: ¡soy un pensador de corazón! Sé que esto no te ayuda mucho y me disculpo por eso. Pero seguramente no soy la única persona que ha pensado en esto. Cualquiera que haya hecho estadísticas "basadas en el diseño" y "estadísticas bayesianas" seguramente habría pensado en esto.
probabilidadislogica

2

No hay ninguna indicación de que sus variables aquí estén correlacionadas, por lo que no sé por qué usaría MCMC en lugar de Monte Carlo normal. Existen muchos métodos de muestreo diferentes, incluido el muestreo estratificado mencionado (hipercubo latino) y QMC. Los métodos de cuadratura dispersa son muy buenos si la dimensión del problema no es demasiado alta (no más de 10) ya que las cuadrículas de cuadratura dispersa crecen geométricamente (maldición de dimensionalidad).

Pero parece que estás en el camino correcto con respecto al muestreo de importancia. La clave aquí es elegir una distribución sesgada que tenga una gran probabilidad concentrada cerca de su región de interés y que tenga colas más gruesas que la distribución nominal.

Me gustaría agregar que este es un problema de investigación abierto, por lo que si puede encontrar algo bueno, ¡sería de gran interés para la comunidad!


¡Gracias por esto! ¿Podría elaborar un poco más sobre la relación entre la efectividad de MCMC y la correlación entre las variables? Siempre pensé que MCMC proporcionaría una ventaja sobre las técnicas de integración numérica existentes cuando las variables están correlacionadas, aunque no puedo proporcionar una buena razón de por qué lo haría.
Berk U.

0

Como nadie parecía responder realmente la pregunta directamente: sí, puede usar MCMC para tomar muestras de . MCMC se puede usar para tomar muestras de cualquier distribución donde la distribución se conozca solo hasta una constante de proporcionalidad.g(ω)

Además, es posible que desee buscar técnicas de reducción de varianza en el campo de integración de MC. Un gran conjunto de recursos independientes son los capítulos de libros gratuitos disponibles de Art Owen en Stanford. Específicamente los capítulos 8, 9 y 10.

Allí encontrará tratamientos en profundidad de muestreo adaptativo, recursividad y otras técnicas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.