Bayesianische Aktualisierung mit neuen Daten

17

Wie berechnen wir einen Posterior mit einem vorherigen N ~ (a, b), nachdem wir n Datenpunkte beobachtet haben? Ich gehe davon aus, dass wir den Stichprobenmittelwert und die Varianz der Datenpunkte berechnen und eine Art Berechnung durchführen müssen, die den hinteren mit dem vorherigen kombiniert, aber ich bin nicht ganz sicher, wie die Kombinationsformel aussieht.

staatsstudent
quelle

Antworten:

22

Die Grundidee der Bayes'schen Aktualisierung besteht darin, dass Sie bei bestimmten Daten und einem Vorrang vor dem interessierenden Parameter θ , bei denen die Beziehung zwischen Daten und Parameter unter Verwendung der Likelihood- Funktion beschrieben wird, den Bayes'schen Satz verwenden, um den posterioren Wert zu erhaltenXθ

p(θX)p(Xθ)p(θ)

Dies kann nacheinander erfolgen, wobei nach dem Aktualisieren des ersten Datenpunkts vor θ auf posterior θ ' der zweite Datenpunkt x 2 genommen und der vor θ ' erhaltene posterior als Prior verwendet werden kann, um ihn erneut zu aktualisieren usw.x1 θ θx2θ

Lassen Sie mich Ihnen ein Beispiel geben. Stellen Sie sich vor, Sie möchten den Mittelwert der Normalverteilung schätzen, und σ 2 ist Ihnen bekannt. In diesem Fall können wir das Normal-Normal-Modell verwenden. Wir nehmen für μ normale Prioritäten mit den Hyperparametern μ 0 , σ 2 0 an :μσ2μμ0,σ02:

XμNormal(μ, σ2)μNormal(μ0, σ02)

Da die Normalverteilung ein konjugierter Prior für der Normalverteilung ist, haben wir eine geschlossene Lösung, um den Prior zu aktualisierenμ

E(μx)=σ2μ+σ02xσ2+σ02Var(μx)=σ2σ02σ2+σ02

Leider sind solche einfachen Lösungen in geschlossener Form für komplexere Probleme nicht verfügbar, und Sie müssen sich auf Optimierungsalgorithmen (für Punktschätzungen unter Verwendung eines Maximum-Posteriori- Ansatzes) oder eine MCMC-Simulation verlassen.

Unten sehen Sie ein Datenbeispiel:

n <- 1000
set.seed(123)
x     <- rnorm(n, 1.4, 2.7)
mu    <- numeric(n)
sigma <- numeric(n)

mu[1]    <- (10000*x[i] + (2.7^2)*0)/(10000+2.7^2)
sigma[1] <- (10000*2.7^2)/(10000+2.7^2)
for (i in 2:n) {
  mu[i]    <- ( sigma[i-1]*x[i] + (2.7^2)*mu[i-1] )/(sigma[i-1]+2.7^2)
  sigma[i] <- ( sigma[i-1]*2.7^2                  )/(sigma[i-1]+2.7^2)
}

Wenn Sie die Ergebnisse grafisch darstellen, sehen Sie, wie sich der hintere Teil dem geschätzten Wert nähert (der wahre Wert ist durch eine rote Linie gekennzeichnet), wenn neue Daten akkumuliert werden.

Vorherige Aktualisierung in nachfolgenden Schritten im Normal-Normal-Modell

Weitere Informationen finden Sie in den Dias und der konjugierten Bayes'schen Analyse des Gaußschen Verteilungspapiers von Kevin P. Murphy. Überprüfen Sie auch Werden Bayesianische Priors bei großen Stichproben irrelevant? Sie können diese Notizen und diesen Blogeintrag auch überprüfen, um eine schrittweise Einführung in die Bayes'sche Folgerung zu erhalten.

Tim
quelle
Danke, das ist sehr hilfreich. Wie würden wir dieses einfache Beispiel lösen (unbekannte Varianz, im Gegensatz zu Ihrem Beispiel)? Angenommen, wir haben eine vorherige Verteilung von N ~ (5, 4) und beobachten dann 5 Datenpunkte (8, 9, 10, 8, 7). Was wäre der hintere Teil nach diesen Beobachtungen? Danke im Voraus. Sehr geschätzt.
statstudent
@ Kelly Sie können Beispiele für Fälle finden, in denen entweder die Varianz unbekannt und der Mittelwert bekannt ist oder beide im Wikipedia-Eintrag über konjugierte Prioritäten und den Links, die ich am Ende meiner Antwort angegeben habe, unbekannt sind. Wenn sowohl der Mittelwert als auch die Varianz unbekannt sind, wird dies etwas komplizierter.
Tim
@ Kelly Übrigens, Sie können hier zum Beispiel überprüfen, ob sowohl als auch σ 2 geschätzt wurdenμσ2 .
Tim
4

Wenn Sie ein vorheriges P(θ) und eine Wahrscheinlichkeitsfunktion , können Sie den Seitenzahn berechnen mit:P(xθ)

P(θx)=θP(xθ)P(θ)P(x)

Da nur eine Normalisierungskonstante ist, um die Wahrscheinlichkeiten zu Eins zu addieren, können Sie schreiben:P(x)

P(θx)θP(xθ)P(θ)

Wobei bedeutet "ist proportional zu".

Der Fall von konjugierten Priors (wo man oft schöne geschlossene Formeln bekommt)

Dieser Wikipedia-Artikel über konjugierte Prioren kann informativ sein. Sei ein Vektor Ihrer Parameter. Sei P ( θ ) vor Ihren Parametern. Sei P ( xθ ) die Wahrscheinlichkeitsfunktion, die Wahrscheinlichkeit der Daten, denen die Parameter gegeben sind. Der Prior ist ein konjugierter Prior für die Wahrscheinlichkeitsfunktion, wenn der Prior P ( & thgr; ) und der Posterior P sindθP(θ)P(xθ)P(θ) P(θx)

Die Tabelle der konjugierten Verteilungen kann dabei helfen, eine gewisse Intuition aufzubauen (und gibt auch einige lehrreiche Beispiele, um sich selbst durchzuarbeiten).

Matthew Gunn
quelle
1

Dies ist das zentrale Berechnungsproblem für die Bayes'sche Datenanalyse. Es kommt wirklich auf die Daten und Distributionen an. Für einfache Fälle, in denen alles in geschlossener Form ausgedrückt werden kann (z. B. mit konjugierten Priors), können Sie den Satz von Bayes direkt verwenden. Die beliebteste Familie von Techniken für komplexere Fälle ist die Markov-Kette Monte Carlo. Einzelheiten finden Sie in einem einführenden Lehrbuch zur Bayes'schen Datenanalyse.

Kodiologist
quelle
Ich danke dir sehr! Es tut uns leid, wenn dies eine wirklich dumme Folgefrage ist, aber wie genau würden wir in den von Ihnen erwähnten einfachen Fällen den Satz von Bayes direkt anwenden? Wäre die Verteilung, die durch den Stichprobenmittelwert und die Varianz der Datenpunkte erzeugt wird, die Wahrscheinlichkeitsfunktion? Vielen Dank.
statstudent
@ Kelly Auch hier kommt es auf die Distribution an. Siehe zB en.wikipedia.org/wiki/Conjugate_prior#Example . (Wenn ich Ihre Frage beantwortet habe, vergessen Sie nicht, meine Antwort zu akzeptieren, indem Sie auf das Häkchen unter den Abstimmungspfeilen klicken.)
Kodiologist