Ich versuche, den Rebinning-Algorithmus der Monte-Carlo-Integration von VEGAS ( Originalveröffentlichung ( Preprint von LKlevin) und Implementierungshinweise ) zu verstehen . Ich werde versuchen, zuerst zu erklären, was ich zu verstehen glaube, und dann meine Fragen zu stellen.
Nehmen wir der Einfachheit halber an, wir haben eine eindimensionale Funktion , die über das gesamte Intervall positiv ist . Dieses Intervall ist beispielsweise in n Bins unterteilt. Diese Behälter sind anfangs gleich groß. Die Behältergrößen \ Delta x_i definieren eine Wahrscheinlichkeitsdichte[ 0 , 1 ] n & Dgr; x i
Die Behältergrößen müssen sich zur Länge des Intervalls addieren, damit richtig normalisiert wird:
Unter Verwendung von zufällig ausgewählten Zahlen aus der Verteilung berechnet VEGAS eine Näherung des Integrals:
Bisher ist dies nur eine wichtige Stichprobe (ich bin nicht an einer geschichteten Stichprobe interessiert), die ein Raster mit variabler Größe verwendet. Das interessante Stück in VEGAS ist der Rebinning-Algorithmus, dh der Algorithmus, der die Bin-Größen in Abhängigkeit von den Funktionswerten neu berechnet, die in der vorherigen Iteration akkumuliert wurden:
- Für jeden Behälter werden die quadratischen Funktionswerte (?) Summiert (in der Originalveröffentlichung werden die absoluten Werte summiert).
- Es gibt auch eine Dämpfungsfunktion, die auf jeden Wert angewendet wird, um "schnelle, destabilisierende Änderungen zu vermeiden".
- Danach wird jeder Wert mit den benachbarten Bins geglättet. Ich denke, dies erhöht auch die Stabilität des Rebinning-Algorithmus für bestimmte Funktionen (aber ich kann nicht erklären, warum). Nennen wir die Endwerte .
- Die Behältergrößen sind jetzt so eingestellt, dass jeder neue Behälter ungefähr den Durchschnitt enthält:
Dieser Algorithmus lässt die Bins wachsen, wenn die Funktion "klein" ist, und schrumpfen, wenn die Funktion "groß" ist. Klein und groß werden im Verhältnis zueinander verstanden, z. B. werden die Maxima der Funktion als "groß" und alles andere als "kleiner" betrachtet. Da die Wahrscheinlichkeit, dass ein Punkt in einem Bin landet, gleich ist (VEGAS wird geschrieben, um dieses Verhalten zu zeigen), wird die Funktion am meisten dort abgetastet, wo sie am größten ist, und dadurch wird der Fehler verringert.
Warum ist es so geschrieben? Warum geht man das Problem nicht direkter an, indem man beispielsweise die gemittelte und gruppierte Funktion als Wahrscheinlichkeitsdichte für die nächste Iteration verwendet?