贝叶斯与卡尔曼滤波(2)--连续随机变量的贝叶斯公式

贝叶斯与卡尔曼滤波(2)--连续随机变量的贝叶斯公式

离散型变量的贝叶斯公式:

P(X=x|Y=y)=P(Y=y|X=x)P(X=x)P(Y=y)

如果将其用于连续型的变量中:

P(X=<x|Y=y)=P(Y=y|X<x)P(X<x)P(Y=y)

可以看到,首先分母P(Y=y)就是0,其次,P(Y=y|X<x)是一个较为奇怪的概率,因此,这个公式是无法计算的。

贝叶斯公式无法直接运用于连续随机变量

连续型变量的贝叶斯公式计算,可以使用化积分为求和的方法。

X<xu=xX=u

因此:

(1)P(X<x|Y=y)=u=xP(X=u|Y=y)=u=xP(Y=y|X=u)P(X=u)P(Y=y)

推导至这一步,我们发现P(X=u),P(Y=y)还是0,不过其实,他们两个不是0,是无穷小。所以可以写成极限

(2)P(X<x|Y=y)=limϵ0u=xP(y<Y<y+ϵ|X=u)P(u<X<u+ϵ)P(y<Y<y+ϵ)=limϵ0u=xyy+ϵfY|X(y|u)dyxx+ϵfX(x)dxyy+ϵfY(y)dy

根据中值定理,可以继续改写为:

(3)P(X<x|Y=y)=limϵ0u=x(fY|X(ξ1|u)ϵ)(fX(ξ2)ϵ)fY(ξ3)ϵ

其中:

{ξ1(y,y+ϵ)ξ2(u,u+ϵ)ξ3(y,y+ϵ)

继续化简:

(4)P(X<x|Y=y)=limϵ0u=xfY|X(y|u)fX(u)fY(y)ϵ=xfY|X(y|u)fX(u)fY(y)du=xfY|X(y|x)fX(x)fY(y)dx

这样我们就得到了连续随机变量的贝叶斯公式

P(X<x|Y=y)=xfY|X(y|x)fX(x)fY(y)dx

对其改变一下形式,假设后验概率的概率密度是 fX|Y(x|y),那么可以得到如下公式:

xfX|Y(x|y)dx=xfY|X(y|x)fX(x)fY(y)dx

fX|Y(x|y)=fY|X(y|x)fX(x)fY(y)

这样我们就完成了连续随机变量的贝叶斯公式。其实与离散型的公式很类似,那么类似的,

能否将fY(y)写成一个常量得到下面这个公式呢?

fX|Y(x|y)=ηfY|X(y|x)fX(x)

答案是可以的。

根据联合概率密度与边缘概率密度的关系可以推导如下:

(5)fY(y)=+f(y,x)dx=+fY|X(y|x)f(x)dx=C

可以得到:

η=1+fY|X(y|x)fX(x)dx

似然概率与狄拉克函数

以一个例子说明。

例:测温度,给出先验概率密度:

fX(x)=12πe(x10)22

这时我们倾向于今天温度最后可能为10,我们随便给一个方差1,那就是今天的温度可能是9-11之间。给出观测值y=9,那么似然概率该怎么写呢?

似然概率fX|Y(x|y)应该是P(Y<y|X=x)的概率密度,按理说,只需要将概率分布写出来,然后对y求个导就能得到了。

我们已经知道了y=9了,这个时候如果按照对y求导,可以得到:

ddy(9fY|X(y|x)dy)=0

fY|X(y|x)是关于y的一个函数,对y积分,y就没了,所以求导为0。

我们可以使用一个小技巧:对似然概率密度乘以一个无穷小

fY|X(y|x)ϵ=P(y<Y<y+ϵ|X=x)

根据概率密度函数的定义,乘无穷小就是一个面积,即在y到y+无穷小的概率。所以:

fY|X(y|x)=limϵ0P(y<Y<y+ϵ|X=x)ϵ

这个时候,这个公式就有了明确的物理意义,他就代表传感器的精度。

举个例子,温度计精度为±0.2,当真实值为x,那么,

P(x0.2<Y<x+0.2|X=x)=0.9

继续推导,可以看到:(我们假设传感器测量值在±0.2内的概率为1)

y=x0.2y=x+0.2fY|X(y|x)dy=1

这个积分代表,真实值取x的时候,观测值在x±0.2的概率为1,但是具体到[x0.2,x+0.2]内,每一个观测值的概率值,很遗憾,我们无从得知。一般来说一个传感器只会提供精度范围,无法提供每一个取值的概率值。

这个时候我们只能使用似然概率模型去人为的假设。一般来说,有下列常用的似然概率模型

  1. 等可能型

    等可能型意味着概率密度函数是一个常数,即fY|X(y|x)=C,

    y=x0.2y=x+0.2fY|X(y|x)dy=1

    很容易可以得到:

    fY|X(y|x)={2.5|yx|0.20|yx|>0.2

  2. 阶梯型

    fY|X(y|x)={C1|yx|0.1C20.1<|yx|<0.20|yx|>0.2

    推广:直方图型:

    衍生出直方图滤波,它是非线性卡尔曼滤波的一种,与粒子滤波齐名

  3. 正态分布

    正态分布是使用最多的似然概率模型

    这是比较科学的一种概率分布模型

    它的概率密度函数为:

    fY|X(y|x)=12πσe(yx)22σ2

    期望E(Y|X)=x,方差D(Y|X)=σ2

    一般来说,σ取传感器的精度就可以了,比如它的精度为±0.2,那σ=0.2就可以了

    正态分布的另一个好处是均值和方差比较好控制

回到这个测温度的例子,我们可以假设这个先验概率的概率密度函数满足期望为10,方差为为1的正态分布:

fX(x)=12πe(x10)22

观测为y=9,那么似然概率密度函数为:

fY|X(y|x)=12π0.2e(x9)220.22

那么后验概率:

fX|Y(x|9)=η12π0.2e12[(x10)2+(x9)20.22]

η=(+12π0.2e12[(x10)2+(x9)20.22]dx)1

可以得到:

fY|X(x|9)=12π0.038e(x90.0385)22(0.038)2N(9.0385,0.0382)

先验概率N(10,1),似然概率N(9,0.22),后验概率N(9.0385,0.0382)

由此引申出一个重要定理:

若先验概率fX(x)N(μ1,σ12), 似然概率fY|X(y|x)N(μ2,σ22),那么后验概率有如下结论:

fX|Y(x|y)N(σ12σ12+σ22μ2+σ22σ12+σ22μ1,σ12σ22σ12+σ22)

σ12σ22,那么更倾向于观测

(6)fX|Y(x|y)N(11+σ22σ12μ2+σ22σ121+σ22σ12μ1,σ221+σ22σ12)N(μ2,σ22)

σ12σ22,那么更倾向于先验(也可以说预测值)

(7)fX|Y(x|y)N(μ1,σ12)

可以观察到,后验概率的方差比先验概率和似然概率都要小。观测和预测都是很不准的东西,但是最后却可以得到一个相对比较准确的结果,这就是贝叶斯滤波的强大之处。

狄拉克函数δ(x)

似然概率密度函数中fY|X(y|x)=12πσe(yx)22σ2,当σ0的时候:

fY|X(y|x)=δ(x)

δ(x)的分布如下:

δ(x)={0x0x=0

并且狄拉克函数有以下性质:

+δ(x)dx=1

引入狄拉克函数就是为了解决传感器无限精度的问题。想象一下,当传感器没有误差的时候,概率密度该怎么设呢?当传感器的误差无限接近于0的时候,他的概率密度函数就是狄拉克函数。

狄拉克函数还有一个非常重要的性质就是选择性:

+f(x)δ(x)dx=f(0)

δ(x)的本质是离散型的必然事件的概率密度函数。

设一个离散随机变量P(X=0)=1,那么:

P(X<x)={0x<01x0

这是一个单位阶跃函数。在x=0的时候,突变为1.

设:

H(x)={0x<01x0

那么:

δ(x)=ddxH(x)

证明+f(x)δ(x)dx=f(0).

(8)I=+f(x)dH(x)=f(x)H(x)|++f(x)H(x)dx=f(+)10(0+f(x)dx)=f(+)(f(+)f(0))=f(0)

推论:

  1. abδ(x)dx=1a<0<b

  2. abf(x)δ(x)dx=f(0)a<0<b

  3. dcf(x)δ(xa)dx=f(a)c<a<d

例:假设先验概率密度函数N(μ,σ2),观测y=10,似然概率密度函数:δ(10x)

那么后验概率密度函数:

fX|Y(x|y)=ηδ(10x)12πσe(xμ)22σ2

其中:

(9)η=(+δ(10x)12πσe(xμ)22σ2dx)1=(12πσe(10μ)22σ2)1

得到后验概率密度:

(10)fX|Y(x|y)=(12πσe(10μ)22σ2)1δ(10x)12πσe(xμ)22σ2=e(10μ)22σ2(xμ)22σ2δ(10x)

得到概率值

(11)P(X<x|Y=10)=xe(10μ)2(xμ)22σ2δ(10x)dx={0x<101x10

本质上,它是一个必然事件。

posted @   忠厚老实的陈同学  阅读(984)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示