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 .
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.
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 .
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 .
fuente
Respuestas:
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).h h
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).
fuente
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!
fuente
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.
fuente