Angenommen, ich habe eine Funktion , die ich integrieren möchte: Natürlich unter der Annahme, dass an den Endpunkten auf Null geht, keine Blowups, nette Funktion. Eine Möglichkeit, mit der ich herumgespielt habe, besteht darin, mit dem Metropolis-Hastings-Algorithmus eine Liste der Stichproben aus der zu proportionalen Verteilung zu , in der die Normalisierungskonstante fehlt. das ich , und dann eine Statistik für diese berechnen :
Da , kann ich , um vom Integral zu streichen , was zu einem Ausdruck der Form Vorausgesetzt also, dass entlang dieser Region zu integriert wird , sollte ich das Ergebnis , das ich einfach als Kehrwert verwenden könnte, um die gewünschte Antwort zu erhalten. Daher könnte ich den Bereich meiner Stichprobe (um die Punkte am effektivsten zu nutzen) und U (x) = 1 / r für jede Stichprobe, die ich gezogen habe, lassen. Auf diese Weise U (x)U(x)11/Nr=xmax-xminU(x)=1/rU(x)
Ich habe versucht, dies in R für die Beispielfunktion g (x) = e ^ {- x ^ 2} zu testen . In diesem Fall benutze ich Metropolis-Hastings nicht, um die Samples zu generieren, sondern benutze die tatsächlichen Wahrscheinlichkeiten rnorm
, um Samples zu generieren (nur zum Testen). Ich verstehe die gewünschten Ergebnisse nicht ganz. Grundsätzlich lautet der vollständige Ausdruck dessen, was ich berechnen würde:
ys = rnorm(1000000, 0, 1/sqrt(2))
r = max(ys) - min(ys)
sum(sapply(ys, function(x) 1/( r * exp(-x^2))))/length(ys)
## evaluates to 0.6019741. 1/sqrt(pi) = 0.5641896
Bearbeiten Sie für CliffAB
Der Grund, warum ich den Bereich verwende, ist, dass ich auf einfache Weise eine Funktion definiere, die in dem Bereich, in dem sich meine Punkte befinden, ungleich Null ist, die jedoch im Bereich [- \ infty, \ infty] zu 1 integriert wird . Die vollständige Spezifikation der Funktion lautet: U (x) = \ begin {cases} \ frac {1} {x_ \ max - x_ \ min} & x_ \ max> x> x_ \ min \\ 0 & \ text {else .} \ end {cases} Ich musste U (x) nicht als einheitliche Dichte verwenden. Ich hätte eine andere Dichte verwenden können, die zu 1 integriert ist , zum Beispiel die Wahrscheinlichkeitsdichte P (x) = \ frac {1} {\ sqrt {\ pi}} e ^ {- x ^ 2}. Dies hätte jedoch das Summieren der einzelnen Proben trivial gemacht, d.h.
Ich könnte diese Technik für andere Distributionen ausprobieren, die in integriert sind . Ich möchte aber trotzdem wissen, warum es bei einer einheitlichen Verteilung nicht funktioniert.
Antworten:
Dies ist eine äußerst interessante Frage, die sich auf das Problem bezieht, eine Normalisierungskonstante einer Dichte auf der Grundlage eines MCMC-Ausgangssignals derselben Dichte anzunähern . (Eine Nebenbemerkung ist, dass die korrekte Annahme ist, dass integrierbar ist und es nicht ausreicht, im Unendlichen auf Null zu gehen.)g gg g g
Meiner Meinung nach ist der relevanteste Eintrag zu diesem Thema in Bezug auf Ihren Vorschlag ist , ein Papier von Gelfand und Dey (1994, JRSS B ), wo die Autoren einen sehr ähnlichen Ansatz entwickeln finden beim Erzeugen aus . Ein Ergebnis dieser Arbeit ist, dass für jede Wahrscheinlichkeitsdichte [dies ist äquivalent zu Ihrem ] die folgende Identität zeigt, dass eine Stichprobe aus eine
Ihre Vorstellung, den Bereich Ihrer Stichprobe und die Uniform über diesen Bereich zu verwenden, hängt mit dem Problem des harmonischen Mittels zusammen: Dieser Schätzer hat keine Varianz, wenn auch nur wegen der erscheint im Zähler (ich vermute, dass dies für eine unbegrenzte Unterstützung immer der Fall sein könnte!) und konvergiert daher sehr langsam zur Normalisierungskonstante. Wenn Sie beispielsweise Ihren Code mehrmals wiederholen, erhalten Sie nach 10 after Iterationen sehr unterschiedliche Zahlenwerte. Dies bedeutet, dass Sie der Größe der Antwort nicht einmal vertrauen können.(min(xi),max(xi)) exp{x2}
Eine generische Lösung für dieses Problem der unendlichen Varianz besteht darin, für eine konzentriertere Dichte zu verwenden, beispielsweise unter Verwendung der Quartile Ihrer Stichprobe , weil dann bleibt über dieses Intervall begrenzt.( q, 25 ( x i ) , q, 75 ( x i ) ) gα (q.25(xi),q.75(xi)) g
Wenn Sie Ihren Code an diese neue Dichte anpassen, ist die Annäherung viel näher an :1/π−−√
Wir diskutieren diese Methode ausführlich in zwei Artikeln mit Darren Wraith und mit Jean-Michel Marin .
quelle