Woher kommen die vollständigen Bedingungen bei der Gibbs-Probenahme?

15

MCMC-Algorithmen wie Metropolis-Hastings- und Gibbs-Sampling sind Methoden zum Sampling aus den gemeinsamen posterioren Verteilungen.

Ich denke, ich verstehe und kann Metropolen-Hasting ziemlich einfach implementieren - Sie wählen einfach irgendwie Startpunkte aus und gehen den Parameterraum nach dem Zufallsprinzip entlang, wobei Sie sich an der hinteren Dichte und der Vorschlagsdichte orientieren. Die Gibbs-Abtastung scheint sehr ähnlich, aber effizienter zu sein, da immer nur ein Parameter aktualisiert wird, während die anderen konstant bleiben und der Raum auf orthogonale Weise durchlaufen wird.

Dazu benötigen Sie die vollständige Bedingung für jeden Parameter in analytical from *. Aber woher kommen diese vollständigen Bedingungen? Um den Nenner zu erhalten, müssen Sie marginalisieren das Gelenk über . Das scheint eine Menge Arbeit zu sein, die analytisch zu erledigen ist, wenn es viele Parameter gibt, und die möglicherweise nicht nachvollziehbar ist, wenn die gemeinsame Verteilung nicht sehr "nett" ist. Mir ist klar, dass, wenn Sie die Konjugation im gesamten Modell verwenden, die vollständigen Bedingungen möglicherweise einfach sind, aber es muss einen besseren Weg für allgemeinere Situationen geben.

P(x1|x2, , xn)=P(x1, , xn)P(x2, , xn)
x1

Alle Beispiele für Gibbs-Stichproben, die ich online gesehen habe, verwenden Spielzeugbeispiele (wie Stichproben aus einer multivariaten Normalen, bei denen die Bedingungen selbst nur Normalen sind) und scheinen diesem Problem auszuweichen.

* Oder benötigen Sie überhaupt die vollständigen Bedingungen in analytischer Form? Wie machen es Programme wie winBUGS?

cespinoza
quelle
1
Gibbs-Sampling ist normalerweise weniger effizient als Metropolis-Hastings, da es sich jeweils um eine Dimension handelt ...
Xi'an,
Gibbs Sampling ist effizienter bei jedem einzelnen Schritt, sondern kann eine brauchen furchtbar viel mehr Schritte zu Converge - und am Ende weniger effizient für ein gutes Gesamtergebnis.
Lutz Prechelt

Antworten:

7

Ja, Sie haben Recht, die bedingte Verteilung muss analytisch ermittelt werden, aber ich denke, es gibt viele Beispiele, bei denen die vollständige bedingte Verteilung leicht zu finden ist und eine weitaus einfachere Form als die gemeinsame Verteilung aufweist.

Die Intuition dafür ist wie folgt: In den meisten "realistischen" gemeinsamen Verteilungen sind die meisten der X i im Allgemeinen bedingt unabhängig von den meisten anderen Zufallsvariablen. Das heißt, einige der Variablen haben lokale Wechselwirkungen, dh X i hängt von X i - 1 und X i + 1 ab , interagiert jedoch nicht mit allem, weshalb sich die bedingten Verteilungen erheblich vereinfachen sollten, da P r (P(X1,,Xn)XichXichXich-1Xich+1Pr(Xich|X1,,Xich)=Pr(Xich|Xich-1,Xich+1)

gabgoh
quelle
Pr(Xich|Xich-1,Xich+1)
3
Sie müssen nicht analytisch gefunden werden. Beispielsweise sind alle vollständigen Bedingungen proportional zur gemeinsamen Verteilung. Und das ist alles, was für Metropolis-Hastings benötigt wird.
Tristan
1
@Tristan natürlich. Ich spreche jedoch von Gibbs-Sampling.
Gabgoh
1
Sie müssen für Gibbs Sampling nicht analytisch gefunden werden. Sie müssen nur in der Lage sein, aus dem Bedingten heraus zu probieren. ob Sie in einer hübschen analytischen Aussage aufschreiben können, wie Sie dies tun, ist nicht relevant.
Gast
1
Tatsächlich ist keine analytische Vollbedingung erforderlich: Alles, was für die Implementierung der Gibbs-Abtastung erforderlich ist, ist die Fähigkeit, anhand der vollständigen Bedingungen zu simulieren .
Xi'an,
11

Ich denke, Sie haben den Hauptvorteil von Algorithmen wie Metropolis-Hastings verpasst. Für die Gibbs-Abtastung müssen Sie die vollständigen Bedingungen abtasten. Sie haben recht, das ist selten einfach. Der Hauptvorteil von Metropolis-Hastings-Algorithmen besteht darin, dass Sie immer noch einen Parameter gleichzeitig abtasten können, aber nur die vollständigen Bedingungen bis zur Proportionalität kennen müssen. Dies liegt daran, dass sich die Nenner in der Annahmekriterienfunktion aufheben

P(x1|x2,...,xn)P(x1,...,xn)

Programme wie WinBugs / Jags verwenden normalerweise Metropolis-Hastings- oder Slice-Sampling-Schritte, für die nur Bedingungen bis zur Proportionalität erforderlich sind. Diese sind bei der DAG erhältlich. Aufgrund der Konjugation machen sie manchmal auch gerade Gibbs-Schritte oder ausgefallene Blockstopps.

Tristan
quelle
1
Hey danke! Ich denke, der Punkt, die Normierungskonstante für Metropolen-Hastings nicht zu benötigen, ist genau die Information, die ich brauchte, um all dies zu verstehen. Ich denke, da die GS in WinBUGS für Gibbs Sampling steht, hatte ich den Eindruck, dass Gibbs MH ablöste und dass die Software ausschließlich Gibbs verwendete.
Cespinoza
3
Der Begriff "Gibbs-Abtastung" wird häufig verwendet, um zu implizieren, dass Sie jeweils einen Parameter abtasten, auch wenn Sie nicht die ursprüngliche Idee verwenden, direkt von den vollständigen Bedingungen abzutasten. Die gesamte Software tastet einzelne Parameter oder Parameterblöcke nacheinander ab, der tatsächliche Schritttyp variiert jedoch stark, je nachdem, was am besten funktioniert.
Tristan
2
Fast immer, wenn Sie Gibbs implementieren können, können Sie auch Metropolis-Hastings-Alternativen implementieren. Eine höhere Effizienz ergibt sich aus dem Mischen beider Ansätze.
Xi'an,
Dies sollte imho die akzeptierte Antwort sein.
NoBackingDown