Estoy tratando de entender el algoritmo de renacimiento de la integración de Monte Carlo de VEGAS ( publicación original ( preimpresión de LKlevin) y notas de implementación ). Intentaré explicar primero lo que creo que entendí y luego plantear mis preguntas.
Para simplificar, supongamos que tenemos una función unidimensional que es positiva durante todo el intervalo . Este intervalo se separa en, digamos, contenedores. Estos contenedores son inicialmente del mismo tamaño. Los tamaños de contenedor definen una densidad de probabilidad[ 0 , 1 ] n Δ x i
Los tamaños de los contenedores deben sumar la longitud del intervalo para que se normalice correctamente:
Usando números elegidos al azar de la distribución VEGAS calcula una aproximación de la integral:{ x i } ρ ( x ) S ( 1 )
Hasta ahora, esto es solo un muestreo importante (no estoy interesado en el muestreo estratificado) utilizando una cuadrícula de tamaño variable. La pieza interesante en VEGAS es el algoritmo de reingeniería, es decir, el algoritmo que vuelve a calcular los tamaños de bin en función de los valores de función acumulados en la iteración anterior:
- Para cada bin los valores de la función al cuadrado (?) Se resumen (en la publicación original se resumen los valores absolutos).
- También hay una función de amortiguación aplicada a cada valor, para "evitar cambios rápidos y desestabilizadores".
- Después de eso, cada valor se suaviza con los contenedores vecinos. Supongo que esto también agrega algo de estabilidad al algoritmo de renacimiento para ciertas funciones (pero no puedo explicar por qué). Llamemos a los valores finales .
- Los tamaños de los contenedores ahora se configuran de modo que cada contenedor nuevo contenga aproximadamente el promedio:
Este algoritmo hace que los contenedores crezcan donde la función es "pequeña" y se reduzcan donde la función es "grande". Pequeño y grande se entienden entre sí, por ejemplo, los máximos de la función se consideran "grandes" y todo lo demás se consideraría "más pequeño". Dado que la probabilidad de que un punto termine en cualquier bin es igual (VEGAS se escribe para exhibir este comportamiento), la función se muestrea más donde es más grande y, por lo tanto, se reduce el error.
¿Por qué está escrito de esa manera? ¿Por qué no se aborda el problema más directamente, por ejemplo, tomando la función promediada y agrupada como una densidad de probabilidad para la próxima iteración?
fuente
Respuestas:
Descargo de responsabilidad: estoy muy familiarizado con los algoritmos de Monte Carlo en general, pero no con el algoritmo VEGAS específicamente.
El algoritmo VEGAS se basa en el hecho de que si supiéramos la densidad de probabilidad exacta que minimiza la varianza de nuestra integración de Monte Carlo, podríamos obtener nuestra respuesta usando exactamente 1 evaluación de la función f.
Esto es dado por
No conocemos la densidad de probabilidad, y estimarla exactamente no es factible para una función de alta dimensión, ya que ocuparía rápidamente una gran cantidad de memoria.
En cambio, el algoritmo VEGAS lo aproxima como una función constante por pasos M-step.
¿Supongo que no tienes acceso al artículo completo? El artículo original NO usa la función al cuadrado, sino la absoluta ( aquí se puede encontrar una versión preimpresa ).
Espero que esto ayude a responder tu pregunta. El artículo original responde la mayor parte de esto, por lo que podría valer la pena obtener
fuente