贝叶斯更新新数据


17

在观察n个数据点后,如何计算具有先验N〜(a,b)的后验?我假设我们必须计算样本均值和数据点的方差,并进行某种组合后验和先验的计算,但是我不确定该组合公式是什么样子。

Answers:


22

贝叶斯更新的基本思想是,给定一些数据和感兴趣参数θ的先验值,其中数据和参数之间的关系使用似然函数来描述,您可以使用贝叶斯定理获得后验Xθ

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

这可以按顺序进行,在看到第一个数据点先验θ被更新为后验θ ',接下来您可以将第二个数据点x 2并以在θ '之前获得的后验作为您的后验,再次进行更新等。x1 θ θx2θ

让我给你举个例子。试想一下,你要估计均值正态分布和σ 2是众所周知的你。在这种情况下,我们可以使用正常-正常模型。我们假设正常之前为μ与超参数μ 0σ 2 0μσ2μμ0,σ02:

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

由于正态分布是现有共轭正态分布的,我们已经闭合形式解来更新现有μ

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

不幸的是,这种简单的闭式解决方案不适用于更复杂的问题,您必须依靠优化算法(使用最大后验方法进行点估计)或MCMC仿真。

在下面您可以看到数据示例:

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)
}

如果绘制结果图,您将看到随着新数据的积累,后验如何接近估计值(它的真实值用红线标记)。

正常-正常模型中的后续步骤中的先前更新

要了解更多信息,您可以查看那些幻灯片和凯文·P·墨菲对高斯分布论文的共轭贝叶斯分析。还检查贝叶斯先验是否与大样本量无关?您还可以检查这些注释此博客条目,以获取有关贝叶斯推理的逐步介绍。


谢谢,这是非常有帮助的。我们将如何解决这个简单的示例(未知方差,与您的示例不同)?假设我们有一个N〜(5,4)的先验分布,然后我们观察到5个数据点(8,9,10,8,7)。经过这些观察后,后视会怎样?先感谢您。非常感激。
statstudent

@Kelly,您可以在共轭先验和答案末尾提供的链接的Wikipedia条目中找到方差未知和均值已知或两者均未知的情况的示例。如果均值和方差均未知,它将变得稍微复杂一些。
蒂姆

顺便说一句@Kelly,可以检查在这里例如推定两者的σ 2μσ2
蒂姆

4

如果你有一个事先和一个似然函数P X | θ 就可以计算出与后:P(θ)P(xθ)

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

P(x)

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

共轭先验(通常会得到漂亮的封闭式公式)

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

共轭分布表可以帮助建立一些直觉(并给出一些指导性的例子,帮助您自己完成工作)。


1

这是贝叶斯数据分析的核心计算问题。这实际上取决于所涉及的数据和分布。对于所有事物都可以用闭合形式表示的简单情况(例如,使用共轭先验),可以直接使用贝叶斯定理。马尔可夫链蒙特卡洛是最复杂情况下最流行的技术系列。有关详细信息,请参见有关贝叶斯数据分析的任何入门教科书。


非常感谢!抱歉,这是一个非常愚蠢的后续问题,但是在您提到的简单情况下,我们将如何直接直接使用贝叶斯定理?由样本均值和数据点方差创建的分布会成为似然函数吗?非常感谢你。
statstudent

@Kelly同样,它取决于分布。参见例如en.wikipedia.org/wiki/Conjugate_prior#Example。(如果我回答了您的问题,请不要忘记单击投票箭头下的复选标记来接受我的回答。)
Kodiologist
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.