MCMC verstehen: Was wäre die Alternative?

13

Bayesianische Statistiken zum ersten Mal lernen; Als ein Winkel zum Verständnis von MCMC fragte ich mich: Ist es etwas, was grundsätzlich nicht anders zu machen ist, oder ist es einfach viel effizienter als die Alternativen?

Nehmen wir zur Veranschaulichung an, wir versuchen, die Wahrscheinlichkeit unserer Parameter zu berechnen, wenn die Daten gegeben sind und ein Modell vorliegt, das das Gegenteil von berechnet . Um dies zu berechnen direkt mit Bayes-Theorem müssen wir den Nenner wie erwähnt hier . Aber können wir das durch Integration wie folgt berechnen:P ( D | x , y , z ) P ( D )P(x,y,z|D)P(D|x,y,z)P(D)

p_d = 0.
for x in range(xmin,xmax,dx):
    for y in range(ymin,ymax,dy):
        for z in range(zmin,zmax,dz):
            p_d_given_x_y_z = cdf(model(x,y,z),d)
            p_d += p_d_given_x_y_z * dx * dy * dz

Würde das funktionieren (wenn auch sehr ineffizient bei einer höheren Anzahl von Variablen) oder gibt es etwas anderes, das dazu führen würde, dass dieser Ansatz fehlschlägt?

Nebenschau Bob
quelle
4
Integration würde in vielen Fällen funktionieren, aber es würde zu lange dauern (dh es ist ineffizient). MCMC ist eine Möglichkeit, den Posterior effizient abzuschätzen.
Mark White
3
Für die Frage nicht relevant, aber ich denke, Sie haben in Ihrem Integral keine Prioritäten über x, y, z (es erscheint im Zähler der Bayes-Formel)
alberto

Antworten:

17

Sie beschreiben eine Gitterannäherung an den posterioren, und das ist ein gültiger Ansatz, auch wenn er nicht der beliebteste ist. Es gibt einige Fälle, in denen die hintere Verteilung analytisch berechnet werden kann. Monte-Carlo-Markov-Ketten oder andere ungefähre Methoden sind Methoden, um Proben der posterioren Verteilung zu erhalten, die manchmal funktionieren, wenn die analytische Lösung nicht gefunden werden kann.

Die analytischen Lösungen, die gefunden werden können, sind typischerweise Fälle von "konjugierten" Familien, und Sie können mehr darüber finden, indem Sie googeln, siehe zum Beispiel https://en.wikipedia.org/wiki/Conjugate_prior .

Als erstes Beispiel, wenn Ihre Prioritäten peinheitlich sind [0, 1], wo pein Erfolgsparameter in einem einfachen Binomialversuch ist, ist der Posterior gleich einer Beta-Verteilung. Die Integration oder Summierung kann in diesem Fall explizit erfolgen.

Wenn Sie endlich viele Parameter zur Auswahl haben oder eine Gitterannäherung wie in Ihrem Beispiel verwenden, ist möglicherweise nur eine einfache Summierung erforderlich. Die Anzahl der Berechnungen kann jedoch schnell explodieren, wenn Sie mehrere Variablen haben und ein dichtes Gitter verwenden möchten.

Es gibt verschiedene Algorithmen zum Abtasten vom posterioren. Hamiltonian Monte Carlo, speziell der NUTS-Sampler, ist mittlerweile beliebt und wird in stanund verwendet PyMC3. Metropolis Hastings ist der Klassiker. Variational Inference ist ein relativer Neuling, eigentlich keine Stichprobenmethode, sondern eine andere Methode, um eine Annäherung zu erhalten. Im Moment ist keine der Methoden, einschließlich analytischer Lösungen, die beste, sie funktionieren alle in bestimmten Fällen gut.

Gijs
quelle
Gute Antwort, aber Ihr letzter Absatz scheint zu implizieren, dass Variationsinferenz eine Stichprobenmethode ist, die es nicht ist. Sie könnten erwägen, das zu korrigieren.
Ruben van Bergen
7

Die Berechnung des Nenners hilft nicht, die Art der hinteren Verteilung (oder einer Verteilung) zu verstehen. Wie in einer diskutiert letzten Frage , zu wissen , dass die Dichte eines d-dimensionalen Vektors ist sagt mir nicht, wo die Regionen von Interesse für diese posteriore Verteilung sind.θ

π(θ|x)exp{||θx||2||θ+x||4||θ2x||6},x,θd,
Xi'an
quelle
6

Monte-Carlo-Methoden sind Techniken, die Zufallszahlen verwenden. Das Ziel ist es, Stichproben zu finden , die gemäß und es wird angenommen, dass komplex ist. Dies bedeutet, dass wir es nicht direkt auswerten können. Wenn dies nicht der Fall ist, können Sie es einfach analytisch berechnen. Wie in Ihrem Beispiel wäre dies .xP(x)P(x)P(D)

xyxy

ciP(D)

hh32
quelle