MCMC in einem begrenzten Parameterraum?


18

Ich versuche, MCMC auf ein Problem anzuwenden, aber meine Prioritäten (in meinem Fall ) sind auf einen Bereich beschränkt? Kann ich normales MCMC verwenden und die Samples ignorieren, die außerhalb der eingeschränkten Zone liegen (in meinem Fall [0,1] ^ 2), dh die Übergangsfunktion wiederverwenden, wenn der neue Übergang aus einem eingeschränkten (eingeschränkten) Bereich fällt?α[0,1],β[0,1]


2
Schau mal rein
Zen

@Zen, ich bin mir nicht ganz sicher, aber die von Xian vorgeschlagene Antwort lautet: Unterabtasten, aber anstatt MH zu verwenden, Gibbs-Sampler verwenden und wiederholen, wenn einer der Werte einer Dimension die Grenze überschreitet. Stimmt das?
Cupitor

1
Wenn MH etwas außerhalb des Parameterraums vorschlägt, wird die Akzeptanzwahrscheinlichkeit einfach auf und alles funktioniert einwandfrei. Ich denke, MH interpretiert als (eine Manifestation von in der Maßtheorie). 0 / 0 0 0 = 000/000=0
Kerl

@guy, aber laut der Diskussion auf Xians Seite (siehe Link von Zen) sieht es so aus, als hätte Gibbs eine Überlegenheit, ohne einen Grund zu nennen!
Cupitor

1
@Cupitor Ich sehe ihn das nicht sagen. Ich denke die Implikation ist, dass Gabriel Metropolis-in-Gibbs gemacht hat.
Kerl

Antworten:


27

Sie haben mehrere nette, mehr oder weniger einfache Möglichkeiten. Ihre Uniform vor hilft, sie einfacher zu machen.

Option 1: Independence Sampler. Sie können Ihre Angebotsverteilung einfach auf eine gleichmäßige Verteilung über das Einheitsquadrat festlegen, um sicherzustellen, dass die Stichproben nicht außerhalb der Sperrzone liegen, wie Sie es nennen. Möglicher Nachteil: Wenn sich der hintere Teil auf einen sehr kleinen Bereich des Einheitsquadrats konzentriert, ist die Akzeptanzrate möglicherweise sehr niedrig. OTOH, es ist schwer, Zufallszahlen schneller zu generieren als aus einer U (0,1) -Verteilung. Potenzieller Vorteil: weniger Arbeit für Sie.

Option 2: Transformieren Sie Ihre Parameter in etwas Unbeschränktes, unterbreiten Sie Vorschläge für die transformierten Parameter und transformieren Sie die Parameter zur Verwendung in den Likelihood-Funktionen zurück. Beachten Sie, dass sich in diesem Fall der Prior auf die transformierten Parameter bezieht, da Sie dafür Vorschläge machen. Sie müssen sich also mit dem Jacobian der Transformation anlegen, um den neuen Prior zu erhalten. Für Ihre Analyse transformieren Sie natürlich die von MCMC generierten Parameter-Zufallszahlen zurück in die ursprünglichen Parameter. Möglicher Nachteil: mehr anfängliche Arbeit für Sie. Möglicher Aufwärtstrend: Bessere Akzeptanz für Ihre Vorschläge.

Option 3: Erstellen Sie eine andere Angebotsverteilung als einen Unabhängigkeitssampler, der sich auf dem Einheitenquadrat befindet. Auf diese Weise können Sie Ihre Uniform im Voraus behalten, jedoch auf Kosten einer höheren Komplexität bei der Berechnung der Vorschlagswahrscheinlichkeiten. Ein Beispiel hierfür ist eine Beta-Verteilung mit Parametern , bei der der aktuelle Wert eines Ihrer Parameter ist . Je größer ist, desto konzentrierter wird Ihr Vorschlag um den aktuellen Wert sein. Möglicher Nachteil: mehr anfängliche Arbeit für Sie. Pptential den Kopf: eine bessere Akzeptanz für Ihre Vorschläge - aber wenn Sie machen zu groß ist , und in der Nähe einer Ecke bewegen, könnte man viele kleine Bewegungen in der Ecke eingereicht machen , bevor Aussteigen.( n x , n ( 1 - x ) ) n nx(nx,n(1x))nn

Option 4: Lehnen Sie einfach alle Vorschläge ab, die außerhalb des Einheitsquadrats liegen (halbherziger Vorschlag von Xian). Beachten Sie, dass dies nicht gleichbedeutend ist mit dem Generieren eines anderen Angebots. In diesem Fall lehnen Sie den Vorschlag ab, dh, Ihr nächster Wert für den Parameter entspricht dem aktuellen Wert für den Parameter. Dies funktioniert, da dies der Fall wäre, wenn Sie für einen Bereich Ihres Parameterraums eine Wahrscheinlichkeit von Null vorher hätten und eine Zufallszahl erzeugen würden, die in diesen Bereich fällt. Möglicher Nachteil: Wenn Sie sich einer Ecke nähern, besteht möglicherweise eine geringe Wahrscheinlichkeit, dass Sie stecken bleiben. Potenzieller Vorteil: weniger Arbeit für Sie.

Option 5: Erstellen Sie ein erweitertes Problem in der Ebene, das auf dem Einheitsquadrat mit dem tatsächlichen Problem identisch ist. Machen Sie alles richtig, und werfen Sie dann bei der Nachbearbeitung der Ergebnisse der MCMC-Probenahme alle Proben nach außen des Einheitsquadrats. Potenzieller Vorteil: Wenn es sehr einfach ist, dieses erweiterte Problem zu erstellen, ist es möglicherweise weniger arbeitsintensiv für Sie. Möglicher Nachteil: Wenn die Markov-Kette für eine Weile außerhalb des Feldes wandert, kann dies zu schrecklichen Akzeptanzwahrscheinlichkeiten führen, da Sie die meisten Ihrer Proben wegwerfen.

Zweifellos gibt es andere Möglichkeiten, ich würde gerne sehen, was andere Leute vorschlagen!

Der Unterschied zwischen 2 und 3 ist bis zu einem gewissen Grad konzeptionell, obwohl er reale Auswirkungen auf das hat, was Sie tatsächlich tun. Ich wahrscheinlich mit 3 gehen würde, wie ich gerade R mir sagen lassen , was die Vorschlag Wahrscheinlichkeiten sind (wenn ich in R bin Programmierung) und die Menge an zusätzlichem Aufwand, abgesehen von einem gewissen Abstimmung des Verteilungsparameter Vorschlag , Aussehen klein für mich. Wenn ich JAGS oder BUGS verwenden würde, wäre das natürlich eine ganz andere Sache, da diese Tools ihre eigenen Vorschläge bearbeiten.n


Stimmen Sie ab! Vielen Dank für eine so gründliche Antwort, aber es gibt ein paar Punkte, denen ich nur schwer folgen kann: 1) Der Parameterraum kommt tatsächlich aus einem Liniensegment in Quadrat, und daher ist es wirklich schwierig, eine einheitliche Stichprobe zu erhalten, denke ich 2) Das scheint eigentlich keine gute Idee zu sein. Stellen Sie sich zur Veranschaulichung einfach vor, Sie würden die begrenzte Stichprobe erweitern, indem Sie die Wahrscheinlichkeit des äußeren Bereichs auf Null setzen! Dies würde den Konvergenzprozess sehr langsam machen, und das wäre wahrscheinlich ähnlich wie bei der Unterabtastung
Cupitor 28.10.13

3) Das Problem bei dieser Idee ist, dass Ihr Vorschlag nicht umkehrbar ist und daher das resultierende Stichprobenschema möglicherweise nicht mehr ergonomisch ist!
Cupitor

4) ist die Art und Weise, wie ich es versucht habe und vernünftig aussieht (IMH!) 5) Diese scheinen unter dem Beispiel zu leiden, das ich in 2 erwähnt habe, und wie Sie sagten, könnten Sie selbst schreckliche Akzeptanzraten geben!
Cupitor

2
1) Nicht sicher, was du meinst; Meinen Sie, dass sich Ihre beiden Parameter in einer Zeile im Einheitsquadrat befinden (und daher wirklich nur ein Parameter sind?) 2) Worauf sich 2 bezieht, ist die Transformation der Parameter in andere Parameter, z. hat den Bereich wenn und die Abtastung von y anstelle von x. 3) Der funktioniert; Sie müssen lediglich die Vorschlagswahrscheinlichkeiten in die Berechnung der Akzeptanzrate einbeziehen (Standard-MCMC). Sie benötigen keinen symmetrischen Vorschlag (was ich mit "umkehrbar" meine), damit die Ergodizität erhalten bleibt. x ( 0 , 1 ) β(0,inf)x(0,1)β
Jbowman

1) Ok, was ich tue, ist, dass ich eine einheitliche Zufallszahl von [0.0,4.0] aufnehme und sie abhängig von ihrem ganzzahligen Teil und ihrem schwebenden Teil einem Punkt auf der Peripherie des von mir erwähnten Quadrats zuordne. Zum Beispiel geht nach und nach während nach( 0,5 , 1 ) α = 3,2 ( 0 , 0,8 ) α = 0,2 ( 0,2 , 0 )α=2.5(0.5,1)α=3.2(0,0.8)α=0.2(0.2,0)
Cupitor 28.10.13
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.