在贝叶斯线性回归中,为什么我们假设参数先验的均值为零?

机器算法验证 回归 贝叶斯
2022-03-31 18:46:51

贝叶斯线性回归

f(x)=xTw
y=f(x)+ϵ

w: 是参数的向量(w1,w2,..,wp)
f: 函数值
y: 观察值
ϵN(0,σ2)

先验分布是wN(0,Σp). 为什么在这里可以设置零均值?我认为这是错误的!

这表示xTw均值为零,所以f(x)为零。为什么你想要一个均值为零的模型?你想预测y

除非我们假设数据y平均值为零,否则,这对我来说没有意义。

具体例子
这里1:http ://www.gaussianprocess.org/gpml/chapters/RW2.pdf见第9页
这里2:https ://www.youtube.com/watch?v=dtkGq9tdYcI

有人可以解释一下这里发生了什么吗?

4个回答

对数据的假设进行编码并不是贝叶斯模型中先验分布的作用。

先验不反映对数据的任何假设:它在数学上捕获分析师在观察数据之前对模型参数所做的任何假设。后验分布反映了先前和观察到的数据。

从你的问题中引用这句话:

这表示xTw均值为零,所以f(x)为零。为什么你想要一个均值为零的模型?你想预测y

除非我们假设数据y平均值为零,否则,这对我来说没有意义。

f(x)=0仅使用先验分布为真w. 如果将后验分布用于w.

零均值先验是否准确地编码了您的假设是另一回事;但它确实捕获的任何假设都不适用于数据。

您可以使用任何您想要的先验。它不一定是正常的,它可以有不同的平均值,或者它可以没有平均值(柯西)......这是你在看到数据之前做出的主观选择。

回想一下,后验概率是先验概率

P(θ|D)posteriorP(D|θ)likelihood×P(θ)prior

正如其他人所提到的,prior 向您展示了对您的模型的初始、数据外、信念,然后使用观察到的数据进行更新。因此,您可以将之前的平均值设置为零,并且如果观察到的数据提供了足够的信息以便将其移动到另一个值,则后验将不同于零。这个想法实际上经常用于目的,例如 Spiegelhalter (2004) 描述为不同的先验可能有助于针对数据测试不同的假设并促进决策,其中零均值先验可以用作“怀疑”先验。

由于一张图片(有时)值一千字,您可以自己检查并运行JavaScript 库bayes.js中的一个示例,用于 MCMC 采样。该示例说明了用于估计的简单模型μσ对于正态分布(即,如果您更喜欢这样考虑,则仅截距回归),其中模型定义如下:

xiNormal(μ,σ)
μNormal(0,100)
σUniform(0,100)

您可以运行该示例来说服自己不需要太多的 MCMC 迭代来使算法收敛并且使后验均值从先前的零更新到大约185. 先验均值不是我们想要的后验均值,而是我们在查看数据之前对我们的模型的看法,所以通常这是一个合理的选择。


Spiegelhalter,DJ(2004 年)。将贝叶斯思想纳入医疗保健评估。 统计科学, 156-174。

@ user13985 IDK 你所说的没有预测是什么意思。在您的特定模型中,如果您使用正态先验,您可以得出后验分布。

如果yN(Xβ,R)βN(a,B)那么后面是β|yN(μ,Σ)在哪里

μ=Σ(XR1y+B1a)andΣ=(XR1X+B1)1

可以看到后验均值是观察数据的组合y和先验均值a. 使用零均值更加强调数据y,使用非零均值移动后验均值。所以我不明白你所说的“破坏模型”是什么意思。先验基本上是您对变量的先验信念,如果您对变量一无所知,请使用零均值先验让数据自己说话。

也许有助于激发这一点的一种方法是选择均值为 0 的正态先验等效于岭回归(即在您的估计系数上添加 L2 惩罚)。岭回归已被证明有助于回归,因此添加均值为 0 的正态先验也应该有帮助。