Rebinning Algoritmo en VEGAS

8

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 if(x)[0,1]nΔxi

ρ(x)={0x<Δx1:1nΔx1Δxn1x<Δxn:1nΔxn.

Los tamaños de los contenedores deben sumar la longitud del intervalo para que se normalice correctamente:ρ(x)

i=1nΔxi=101dxρ(x)=1.

Usando números elegidos al azar de la distribución VEGAS calcula una aproximación de la integral:{ x i } ρ ( x ) S ( 1 )N{xi}ρ(x)S(1)

S(1)=1N{xi}f(xi)ρ(xi)01dxf(x)

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 .bi
  • Los tamaños de los contenedores ahora se configuran de modo que cada contenedor nuevo contenga aproximadamente el promedio:

b¯=1ni=1nbi

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.x

¿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?

cschwan
fuente
Debe agregar un enlace a la publicación original. Además, ¿qué quiere decir con "funciones que difieren en gran medida en los contenedores vecinos"? ¿Qué es una función pequeña? ¿Qué es una gran función?
vanCompute
No estoy seguro de cuál es tu pregunta. ¿El problema es que los valores absolutos se suman?
LKlevin
@LKlevin: Bueno, los valores al cuadrado se suman, lo que difiere de lo que está escrito en la publicación original (suma de valores absolutos) para uno. Pero supongo que esto se debe a que produce una mejor convergencia para la mayoría de los integrandos en la práctica. ¿Pero por qué es eso? ¿Simplemente lo hicieron de forma empírica o hay una explicación adecuada? Tampoco estoy seguro de por qué este algoritmo podría ser estable si sumas los cuadrados en lugar de los valores absolutos. Traté de encontrar un mejor algoritmo de reingeniería, pero parece ser imposible encontrar uno estable para integrales que no sean factorizables. ¿Por qué es tan bueno?
cschwan

Respuestas:

1

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

p(x)=|f(x)|Ω|f(x)|dx

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

LKlevin
fuente