10 votos

El uso de MCMC para evaluar el valor esperado de una alta dimensión de la función

Estoy trabajando en un proyecto de investigación que está relacionado con la optimización y recientemente ha tenido una idea para utilizar MCMC en esta configuración. Por desgracia, yo soy bastante nuevo en métodos MCMC así que tuve varias preguntas. Voy a empezar por describir el problema y, a continuación, pedir a mis preguntas.

Nuestro problema se reduce a la estimación del valor esperado de una función de coste $c(\omega)$ donde $\omega = (\omega_1,\omega_2,...\omega_h)$ $h$- dimensional variable aleatoria con una densidad de $f(\omega)$.

En nuestro caso, una forma cerrada de la versión de $c(\omega)$ no existe. Esto significa que tenemos que utilizar métodos de Monte Carlo para aproximar el valor esperado. Por desgracia, resulta que las estimaciones de $E[c(\omega)]$ que genera el uso de MC o de QMC métodos tienen demasiada varianza para ser de utilidad en un entorno práctico.

Una idea que tuvimos que usar la importancia de la distribución de muestreo para generar los puntos de muestreo que se va a producir una baja varianza de la estimación de $E[c(\omega)]$. En nuestro caso, el ideal de importancia de la distribución de muestreo, $g(\omega)$, tiene que ser aproximadamente proporcional a $c(\omega)f(\omega)$. Viendo cómo $g(\omega)$ es conocida hasta la constante, me pregunto si puedo usar MCMC junto con la propuesta de distribución de $c(\omega)f(\omega)$ a generar con el tiempo las muestras de $g(\omega)$ .

Mis preguntas son:

  • Puede MCMC ser utilizados dentro de esta configuración? Si es así, ¿qué método MCMC sería la adecuada? Estoy trabajando en MATLAB, así que tengo una preferencia a algo que ya tiene una implementación en MATLAB.

  • Hay técnicas que puede utilizar para acelerar el período de ablande para MCMC. Y cómo puedo saber que la distribución estacionaria se ha alcanzado? En este caso, que en realidad se hace un poco justo de tiempo para calcular el $c(\omega)$ para un determinado $\omega$.

4voto

patfla Puntos 1

Me gustaría recordar siempre, que MCMC es sólo una integración numérica de la herramienta (y una de las más ineficientes, por otra parte). No es un poco de magia/místico cosa. Es muy útil porque es razonablemente fácil de aplicar. No se requiere de mucho pensamiento en comparación con otras técnicas de integración numérica. Por ejemplo, usted no tiene que hacer cualquier derivados. Usted sólo tiene que generar "números aleatorios".

Sin embargo, como cualquier método de integración numérica, no es un universal atrapar toda la herramienta. Existen condiciones en las que es útil, y condiciones cuando no lo es.

Puede ser sabio para establecer otro tipo de técnica. Dependiendo del tamaño de $h$, y la velocidad de su computadora, y cuánto tiempo está dispuesto a esperar por los resultados. Un uniforme de la cuadrícula puede hacer el trabajo (aunque esto requiere pequeño $h$ o un largo período de espera). El "trabajo" es para evaluar la integral de la ecuación no importa lo que significa que usted o yo adjuntar el resultado (y por lo tanto no importa si hemos obtenido el resultado al azar o no).

Además, si sus estimaciones de $\omega$ son bastante exactas, el $f(\omega)$ bruscamente alcanzó su punto máximo y se asemejan a una función delta, por lo que la integral es, efectivamente, la sustitución de $\omega\rightarrow\omega_{max}$.

Otro de integración numérica de la técnica es el uso de una serie de taylor en virtud de la integral. $f(\omega)\approx f(\omega_{max})+(\omega-\omega_{max})f'(\omega_{max})+\frac{1}{2}(\omega-\omega_{max})^{2}f''(\omega_{max})+\dots$

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

Edwin Jaynes tiene una bonita cita en esta:

cada vez que hay un estudio aleatorizado manera de hacer algo, hay un no-aleatorizados de forma que se obtienen mejores resultados, pero requiere más pensamiento

Una "reflexión" es la utilización de "estratificado MCMC" para hacer la integral. Así que en lugar de "al azar" elija un lugar en todo el espacio de parámetros: se dividen en "estratos". Estos "estratos" debe ser elegido de modo que usted consiga una buena gama de la parte alta de la integral. Luego, al azar de la muestra dentro de cada estrato. Pero para ello será necesario que escribir su propio código me imagino (es decir, más del pensamiento).

2voto

Ben Puntos 1464

No hay ninguna indicación de que sus variables están correlacionadas así que no sé por qué debería utilizar MCMC frente a regular de Monte Carlo. Hay muchos diferentes métodos de muestreo, incluyendo el mencionado muestreo estratificado (del latín hipercubo) y QMC. Escasa cuadratura métodos son muy buenas si la dimensión del problema no es demasiado alto (no más de 10), ya que dispersa la cuadratura de las rejillas de crecer geométricamente (maldición de la dimensionalidad).

Pero parece que usted está en el camino correcto con respecto a la importancia de muestreo. Aquí la clave es elegir una distribución sesgada que tiene gran probabilidad de concentrados cerca de la región de interés y que tiene colas más gruesas que la nominal de distribución.

Me gustaría añadir que esta es una investigación abierta problema así que si usted puede venir para arriba con algo bueno que sería de gran interés para la comunidad!

0voto

NumbGnat Puntos 1

Ya que nadie parecía realmente responder a la pregunta directamente: sí, usted puede usar MCMC para la muestra de $g(\omega)$. MCMC puede ser utilizado para muestra de cualquier distribución donde la distribución es conocida sólo a una constante de proporcionalidad.

Además, puede que desee buscar técnicas de reducción de varianza en el MC de la integración del campo. Un gran auto contenida conjunto de recursos que son de libre capítulos de libros disponibles de Arte Owen de la universidad de Stanford. Específicamente los capítulos 8, 9, y 10.

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

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