Warum speichern wir bei der Approximation eines Posterior mit MCMC nicht die posterioren Wahrscheinlichkeiten, sondern verwenden anschließend die Parameterwertfrequenzen?


8

Ich schätze derzeit Parameter eines Modells, das durch mehrere gewöhnliche Differentialgleichungen (ODEs) definiert ist. Ich versuche dies mit einem Bayes'schen Ansatz, indem ich die posteriore Verteilung der Parameter anhand einiger Daten unter Verwendung der Markov-Kette Monte Carlo (MCMC) approximiere.

Ein MCMC-Sampler generiert eine Kette von Parameterwerten, wobei er die (nicht normalisierte) hintere Wahrscheinlichkeit eines bestimmten Parameterwerts verwendet, um (stochastisch) zu entscheiden, ob er diesen Wert zur Kette hinzufügt oder den vorherigen Wert erneut hinzufügt. Es scheint jedoch üblich zu sein, dass die tatsächlichen posterioren Wahrscheinlichkeiten nicht gespeichert werden müssen, sondern ein n-dimensionales Histogramm der resultierenden Parameterwerte generiert und zusammenfassende Statistiken wie Regionen mit der höchsten Dichte (HDRs) eines Parameters posterior verteilt werden aus diesem Histogramm. Zumindest habe ich das aus Kruschkes Tutorial-Buch über Bayes'sche Inferenz gelernt .

Meine Frage: Wäre es nicht einfacher, die posterioren Wahrscheinlichkeiten der abgetasteten Parameterwerte zusammen mit diesen zu speichern und die posteriore Verteilung aus diesen Werten und nicht aus den Häufigkeiten der Parameterwerte in der MCMC-Kette zu approximieren? Das Problem der Einbrennphase würde nicht auftreten, da der Probenehmer anfänglich immer noch Regionen mit geringer Wahrscheinlichkeit häufiger abtasten würde, als sie aufgrund ihrer hinteren Wahrscheinlichkeiten "verdienen" würden, aber es wäre nicht mehr das Problem, diesen übermäßig hohe Wahrscheinlichkeitswerte zu geben.


Wenn Sie die posterioren Wahrscheinlichkeiten ohne MCMC berechnen können (um sie zu speichern), warum möchten Sie sie dann verwenden?
Tim

Weil ich MCMC brauche, um effizienter zu werden. Wenn ich nur ein Gitter über den Parameterraum legen und nicht normalisierte hintere Wahrscheinlichkeiten für alle resultierenden Parameterwerte berechnen würde, würde ich viel Zeit mit Regionen mit geringer Wahrscheinlichkeit verschwenden. Die Möglichkeit, nicht normalisierte hintere Wahrscheinlichkeitswerte für einen bestimmten Parameterwert zu erhalten, ist eine Voraussetzung für die Verwendung von MCMC. Ich muss den Seitenzahn nicht analytisch lösen können. Ich könnte also alle gespeicherten Wahrscheinlichkeitswerte nehmen, sie durch ihre Summe dividieren und das Ergebnis wäre eine Annäherung an meinen Seitenzahn.
Akraf

1
@Tim: Er meint damit, dass Sie zur Berechnung der Akzeptanzwahrscheinlichkeit des vorgeschlagenen Zuges den Seitenzahn im aktuellen Zustand und im vorgeschlagenen Zustand bewerten. Wenn Sie diese posterioren Werte für jeden erreichten Zustand beibehalten, glaubt das OP, dass Sie den gesamten posterioren Wert ableiten können, aber das ist nicht der Fall, zumindest habe ich noch nie einen Satz gesehen, der dies beweist. Wenn man sich die Verteilung der erreichten Zustände ansieht, zeigt die Markov-Theorie, dass man eine Probe vom hinteren Ende

@fcop ja, ich verstehe das und ich denke, wir sagen dasselbe, aber mit anderen Worten :)
Tim

Antworten:


5

Dies ist eine interessante Frage mit verschiedenen Themen:

  1. MCMC-Algorithmen recyceln nicht immer die Berechnung der posterioren Dichte bei allen vorgeschlagenen Werten, aber einige Varianzreduktionstechniken wie die Rao-Blackwellisation tun dies. Zum Beispiel schlagen wir in einem Biometrika-Papier von 1996 mit George Casella vor, alle simulierten Werte , die akzeptiert werden oder nicht, indem Gewichte eingeführt werden , die den Durchschnitt drehen in einen fast unvoreingenommenen Schätzer. (Das liegt fast an der Normalisierung durch die Summe der Gewichte.) ( i = 1 , , T ) ω i T i = 1 ω i h ( θ i ) / T i = 1 ω iθi (i=1,,T)ωi
    i=1Tωih(θi)/i=1Tωi
  2. MCMC wird häufig bei Problemen mit großen (Parameter-) Dimensionen verwendet. Es ist eine ziemliche Herausforderung, eine Annäherung an den gesamten posterioren Bereich auf der Grundlage der beobachteten Dichtewerte bei einigen Parameterwerten vorzuschlagen, einschließlich des Problems der Normalisierungskonstante, die in Tims Antwort und Kommentaren erwähnt wird. Man kann sich einen Ansatz vorstellen, der eine Mischung aus nicht parametrischer Kernelschätzung (wie z. B. Krigging ) und Regression ist, aber die Experten, mit denen ich [vor einigen Jahren] über diese Lösung gesprochen habe, waren ziemlich skeptisch. Das Problem ist, dass der resultierende Schätzer nicht parametrisch bleibt und daher nicht parametrische Konvergenzgeschwindigkeiten "genießt", die langsamer als Monte-Carlo-Konvergenzgeschwindigkeiten sind, je schlechter die Dimension ist.
  3. Eine andere mögliche Verwendung der Verfügbarkeit der posterioren Werte besteht darin, jeden simulierten Wert mit dem zugehörigen posterioren Wert zu gewichten, wie in Leider erzeugt dies eine Verzerrung, da die simulierten Werte bereits vom posterioren simuliert werden: Auch ohne Normalisierungsproblem, Diese Simulationen sollten daher auf abzielen und ein Gewicht verwenden, das proportional zu1π(θ|D)/2π(θ|D)1/2π(θ)1/T
    1Tt=1Th(θt)π(θt|D)
    E[h(θt)π(θt|D)]=h(θ)h(θt)π(θt|D)2dθ
    π(θ|D)1/2π(θ|D)1/2Ich kenne jedoch keine Ergebnisse, die diesen Zielwechsel befürworten. Wie Sie in den Kommentaren erwähnt haben, hängt dies mit dem Tempern zusammen , da alle Simulationen, die innerhalb eines simulierten Temperierzyklus erstellt wurden, auf diese Weise für Monte-Carlo-Zwecke (Integration) recycelt werden können. Ein numerisches Problem besteht jedoch darin, mehrere wichtige Funktionen der Form mit fehlenden Normalisierungskonstanten zu behandeln.π(θ)1/T

2
Vielen Dank für Ihre ausführlichen Kommentare, bitte erlauben Sie mir einige klärende Fragen! Ich verstehe nicht, was Sie in Ihrem Punkt 1 unter "recyceln" verstehen und wie dies die Verwendung der nicht normalisierten hinteren Werte verhindert. Zu Punkt 2: Wenn die "Annäherung an den gesamten posterioren Bereich basierend auf den beobachteten Dichtewerten bei einigen Parameterwerten eine ziemliche Herausforderung darstellt", warum ist dies weniger der Fall, wenn nur die Frequenzen der Proben verwendet werden, die sich aus dem MCMC-Prozess ergeben?
Akraf

1
π(θ|D)1/TT>1Tπ(θ|D)π(θ|D)1/T

2

Wie Sie richtig bemerkt haben, sind die Wahrscheinlichkeiten, mit denen wir es zu tun haben, nicht normalisiert . Grundsätzlich verwenden wir MCMC, um den Normalisierungsfaktor im Bayes-Theorem zu berechnen. Wir können die Wahrscheinlichkeiten nicht verwenden, da sie nicht normalisiert sind. Das von Ihnen vorgeschlagene Verfahren: Die nicht normalisierten Wahrscheinlichkeiten zu speichern und sie dann durch ihre Summe zu teilen, ist falsch.

p=0.9

1 0 1 1 1 1 1 1 1 1

Sie haben auch entsprechende Wahrscheinlichkeiten:

0.9 0.1 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

In diesem Fall werden die Wahrscheinlichkeiten normalisiert, aber das Teilen durch ihre Summe (die durch Wahrscheinlichkeitsaxiome gleich Eins ist) sollte nichts ändern. Leider ändert sich bei Verwendung Ihres Verfahrens das Ergebnis in:

> f/sum(f)
 [1] 0.10975610 0.01219512 0.10975610 0.10975610 0.10975610 0.10975610 0.10975610 0.10975610 0.10975610 0.10975610

Warum ist das so? Die Antwort ist einfach: In Ihrer Stichprobe wird jede gespeicherte "Wahrscheinlichkeit" fmit Wahrscheinlichkeit angezeigt f, sodass Sie die Wahrscheinlichkeiten selbst gewichten!

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.