Wie macht der Nachweis der Ablehnungsstichprobe Sinn?


9

Ich nehme an einem Kurs über Monte-Carlo-Methoden teil und wir haben in der letzten Vorlesung die Rejection Sampling-Methode (oder Accept-Reject Sampling-Methode) gelernt. Es gibt viele Ressourcen im Web, die den Beweis dieser Methode zeigen, aber irgendwie bin ich nicht davon überzeugt.

In der Ablehnungsabtastung haben wir also eine Verteilung der schwer abzutasten ist. Wir wählen eine einfach zu beprobende Verteilung und finden einen Koeffizienten so dass . Dann probieren wir aus und für jede Ziehung auch ein aus einer Standardgleichverteilung .f(x)g(x)cf(x)cg(x)g(x)xiuU(u|0,1)

Das Beispiel wird akzeptiert, wenn es und andernfalls abgelehnt.xicg(xi)uf(xi)

Die Beweise, auf die ich gestoßen bin, zeigen normalerweise nur, dass und hören dort auf.p(x|Accept)=f(x)

Was ich über diesen Prozess denke, ist, dass wir eine Folge von Variablen und ein Paar haben, das unserer i-ten Stichprobe ( ) entspricht und ob es akzeptiert wird ( ). Wir wissen, dass jedes Paar unabhängig voneinander ist, so dass:x1,Accept1,x2,Accept2,...,xn,Acceptnxi,AcceptixiAcceptixi,Accepti

P(x1,Accept1,x2,Accept2,...,xn,Acceptn)=i=1nP(xi,Accepti)

Für ein Paar wissen wir, dass und P (Accept_i | x_i) = \ frac {f (x_i)} {cg (x_i)} . Wir können p (x_i | Accept_i) leicht berechnen, aber ich verstehe nicht, wie es als Beweis ausreicht. Wir müssen zeigen, dass der Algorithmus funktioniert, daher denke ich, dass ein Beweis zeigen sollte, dass die offizielle Verteilung der akzeptierten Stichproben gegen f (x) als n \ rightarrow \ infty konvergiert . Ich meine, wobei n die Anzahl aller akzeptierten und abgelehnten Proben ist:P ( x i ) = g ( x i ) P ( A c c e p t i | x i ) = f ( x i )(xi,Accepti)P(xi)=g(xi) p(xi|Accepti)f(x)nnP(Accepti|xi)=f(xi)cg(xi)p(xi|Accepti)f(x)nn

nNumberofsampleswith(AxiB)NumberofacceptedsamplesABf(x)dx als .n

Bin ich falsch mit diesem Gedankenmuster? Oder gibt es einen Zusammenhang zwischen dem gemeinsamen Beweis des Algorithmus und diesem?

Danke im Voraus

Antworten:


8

Sie sollten sich den Algorithmus so vorstellen, dass er Zeichnungen aus einer Zufallsvariablen erzeugt. Um zu zeigen, dass der Algorithmus funktioniert, reicht es aus, zu zeigen, dass der Algorithmus aus der Zufallsvariablen zeichnet, die Sie möchten.

Sei und skalare Zufallsvariablen mit pdfs bzw. , wobei etwas ist, von dem wir bereits wissen, wie man es . Wir können auch wissen, dass wir durch wobei .Y f X f Y Y f X M f Y M 1XYfXfYYfXMfYM1

Wir bilden nun eine neue Zufallsvariable wobei , dies nimmt den Wert mit der Wahrscheinlichkeit und sonst . Dies stellt den Algorithmus dar, der ein Ziehen von "akzeptiert" .A | y Bernoulli  ( f X ( y )A1fX(y)A|yBernoulli (fX(y)MfY(y))1 0Y.fX(y)MfY(y)0Y

Jetzt führen wir den Algorithmus aus und sammeln alle Ziehungen von , die akzeptiert werden. Nennen wir diese Zufallsvariable .Z = Y | A = 1YZ=Y|A=1

Um zu zeigen, dass , müssen wir für jedes Ereignis zeigen, dass .E P ( Z E ) = P ( X E )ZXEP(ZE)=P(XE)

Versuchen wir es also zuerst mit der Bayes-Regel:

P(ZE)=P(YE|A=1)=P(YE&A=1)P(A=1) ,

und den oberen Teil schreiben wir als

P(YE&A=1)=EfY,A(y,1)dy=EfA|Y(1,y)fY(y)dy=EfY(y)fX(y)MfY(y)dy=P(XE)M.

Und dann ist der untere Teil einfach

P(A=1)=fY,A(y,1)dy=1M ,

Nach der gleichen Überlegung wie oben wird .E=(,+)

Und diese kombinieren zu geben , das ist , was wir wollten, .Z X.P(XE)ZX

So funktioniert der Algorithmus, aber am Ende Ihrer Frage scheinen Sie sich Sorgen über eine allgemeinere Idee zu machen. Wann konvergiert eine empirische Verteilung gegen die Verteilung, aus der die Stichprobe stammt? Dies ist ein allgemeines Phänomen in Bezug auf Stichproben, wenn ich Sie richtig verstehe.

In diesem Fall lassen alle Zufallsvariablen iid mit Verteilung . Dann für jedes Ereignis , hat Erwartung durch die Linearität des Erwartungswerts .X E n i = 1 1 X iE.X1,,XnXE P(XE)i=1n1XiEnP(XE)

Darüber hinaus könnten Sie bei geeigneten Annahmen das starke Gesetz der großen Zahlen verwenden, um zu zeigen, dass die empirische Wahrscheinlichkeit fast sicher gegen die wahre Wahrscheinlichkeit konvergiert.


Danke für die Antwort. Können Sie klarstellen, wie ich anhand des Gesetzes der großen Zahlen zeigen kann, dass die emprische Verteilung zur Zielverteilung konvergiert? Genau das versuche ich in diesem Fall zu zeigen.
Ufuk Can Bicici


@Harri Was mich stört, ist die Tatsache, dass wir die Zufallsvariable lernen, die die Akzeptanz der Ziehung anzeigt ( ), nachdem wir den Wert der tatsächlichen Variablen gelernt haben. Wir beobachten die Variablen gemäß der Sequenz . Wenn wir also die Variable beobachten , wissen wir über das System und und da unabhängig ist von ihnen verarbeiten wir zuerst , dann nicht umgekehrt. Y 1 , A 1 , Y 2 , A 2 , . . . , Y n , A nA=1Y1,A1,Y2,A2,...,Yn,AnY 1 A 1 Y 2 P ( Y 2 ) P ( A 2 | Y 2 )Y2Y1A1Y2P(Y2)P(A2|Y2)
Ufuk Can Bicici

Könnten Sie noch etwas darüber sagen, warum die Reihenfolge, in der Sie und dann Sie stört? P ( A 2 | Y 2 )P(Y2)P(A2|Y2)
Harri

1

Beachten Sie zunächst, dass eine vollständige Prozedur der Ablehnungsstichprobenmethode nur eine einzige Zufallsvariable erzeugt . Wenn etwas akzeptiert wird, stoppt die Prozedur und es gibt kein mehr. Wenn Sie mehrere Zufallsvariablen möchten, wiederholen Sie den Vorgang einfach mehrmals.x i + 1xixi+1

In einigen Lehrbüchern bezeichnen sie das Ereignis der Akzeptanz durch und berechnen die WahrscheinlichkeitA

P(A)=dx0f(x)cg(x)g(x)du=1cf(x)dx=1c.

Und

fX(x|A)=fX(x)P(A|x)P(A)=g(x)f(x)cg(x)1c=f(x).

Das Verwirrende ist, dass die Akzeptanz hier die Akzeptanz einer einzelnen Stichprobe von zu sein scheint , aber die gesamte Prozedur kann mehrere ablehnen .x i x iAxixi

Ja, ein strengerer Beweis sollte die Wahrscheinlichkeit der Akzeptanz bei verschiedenen Schritten berücksichtigen. Let die Bezeichnung - ten Probe, die Wahrscheinlichkeitsdichtefunktion von bezeichnen , bezeichnen die - te Akzeptanz und bezeichnen die letzte akzeptierte Wert. Dann wird die Wahrscheinlichkeitsdichtefunktion von ist ist und ist wie zuvor berechnet. Anmerkung ist i f X i X i A.XiifXiXi i X X f X ( x ) = P ( A 1 ) f X 1 ( x |AiiXXP ( A 1 ) 1

fX(x)=P(A1)fX1(x|A1)+P(A2)fX2(x|A2)+.
P(A1)1cfX1(x|A1)f(x)P(A2)(11c)1c wobei die Wahrscheinlichkeit der Ablehnung von da nur wenn abgelehnt wird Wir haben die Chance, einen zu wählen .11cX1X1X2

Und ist auch da der zweite Schritt nicht von vorherigen Schritten beeinflusst wird, sollte seine Wahrscheinlichkeit dieselbe sein wie die des ersten Schritts. Wenn Sie diese Erklärung nicht überzeugt, können wir sie auch konsequent ausarbeiten. Seien Sie vorsichtig, dass nicht definiert ist, wenn akzeptiert wird (oder Sie können es als willkürliche Zahl definieren, wenn akzeptiert wird, wenn ein undefinierter Wert Sie unangenehm macht). Für Wahrscheinlichkeiten in Bezug auf nur bedingte Wahrscheinlichkeiten mit oder Teilmengen von macht Sinn. Jetzt f(x)X2X1X1X2fX2(x|A2)f(x)X2X1X1X2A1cA1cfX.

fX2(x|A2)=P(A1c)fX2(x|A1c)P(A2|X2=x)P(A2)=P(A1c)fX2(x|A1c)P(A2|X2=x)P(A1c)P(A2|A1c)=fX2(x|A1c)P(A2|X2=x)P(A2|A1c)=g(x)f(x)cg(x)1c=f(x).
Also Das ist das gewünschte Ergebnis. Hinweis = 1 hat eine intuitive Bedeutung, dh schließlich wird in einem Schritt eine Probe akzeptiert .P(A1)+P(A2)+i
fX(x)=P(A1)f(x)+P(A2)f(x)+=(P(A1)+P(A2)+)f(x)=(1c+(11c)1c+(11c)21c+)f(x)=f(x).
P(A1)+P(A2)+i
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.