博主最近在看卡尔曼滤波算法,个人认为在卡尔曼滤波算法中最核心的部分莫过于高维高斯联合概率分布的性质,因此打算将这些性质整理成博客记录下来方便自己今后的学习,如果有哪里不对,欢迎各位读者指正。
一 引理
这里我引入一个定理,这个定理不在本博客证明,因为它很直观,便于理解。
假设随机变量
X
X
X服从均值为
μ
\mu
μ,协方差矩阵为
Σ
\Sigma
Σ的高斯分布(为了更具有一般性,这里的均值是一个向量,协方差是一个矩阵)。随机变量
Y
=
A
X
+
B
Y=AX+B
Y=AX+B(这里的矩阵
A
A
A和
B
B
B都是常值矩阵),则结论是
Y
Y
Y也服从于一个高维高斯分布,它的均值是
A
μ
+
B
A\mu+B
Aμ+B,协方差矩阵是
A
Σ
A
T
A\Sigma{A^{T}}
AΣAT。
二 推导
设
p
p
p维随机变量
X
=
(
x
1
,
x
2
,
…
,
x
p
)
T
X=(x_1,x_2,\dots,x_p)^{T}
X=(x1,x2,…,xp)T服从均值
μ
=
(
μ
1
,
μ
2
,
…
,
μ
p
)
T
\mu=(\mu_1,\mu_2,\dots,\mu_p)^{T}
μ=(μ1,μ2,…,μp)T,协方差矩阵为式(2-1)的高斯分布,现在我们将随机变量
X
X
X切分为两个随机变量,第一个随机变量取随机变量
X
X
X的前
m
m
m维记为
X
a
X_a
Xa,对应的均值为
μ
a
\mu_a
μa。第二个随机变量取随机变量
X
X
X的后
n
n
n维记为
X
b
X_b
Xb,对应的均值为
μ
b
\mu_b
μb,且满足(
m
+
n
=
p
m+n=p
m+n=p)。则随机变量
X
X
X可以写成
X
=
(
X
a
,
X
b
)
T
X=(X_a,X_b)^{T}
X=(Xa,Xb)T,均值可以写成
μ
=
(
μ
a
,
μ
b
)
T
\mu=(\mu_a,\mu_b)^{T}
μ=(μa,μb)T,协方差矩阵可写成式(2-2)。
Σ
=
{
σ
11
σ
12
…
σ
1
p
σ
21
σ
22
…
σ
2
p
⋮
⋮
…
σ
3
p
σ
p
1
σ
p
2
…
σ
p
p
}
(2-1)
\Sigma= \left\{ \begin{matrix} \sigma_{11} & \sigma_{12} & \dots & \sigma_{1p} \\ \sigma_{21} & \sigma_{22} & \dots & \sigma_{2p} \\ \vdots & \vdots & \dots & \sigma_{3p} \\ \sigma_{p1} & \sigma_{p2} & \dots & \sigma_{pp} \end{matrix} \right\} \tag{2-1}
Σ=⎩⎪⎪⎪⎨⎪⎪⎪⎧σ11σ21⋮σp1σ12σ22⋮σp2…………σ1pσ2pσ3pσpp⎭⎪⎪⎪⎬⎪⎪⎪⎫(2-1)
Σ = { Σ a a Σ a b Σ b a Σ b b } (2-2) \Sigma= \left\{ \begin{matrix} \Sigma_{aa}&\Sigma_{ab}\\ \Sigma_{ba}&\Sigma_{bb} \end{matrix} \right\} \tag{2-2} Σ={ΣaaΣbaΣabΣbb}(2-2)
现在的问题是随机变量
X
a
X_a
Xa以及在给定
X
a
X_a
Xa的条件下
X
b
X_b
Xb服从什么样参数的分布?
为了使用引入的定理,这里我们构造出
X
a
X_a
Xa与
X
X
X之间的关系,即
X
a
=
(
I
m
,
0
n
)
X
X_a=(I_m,0_n)X
Xa=(Im,0n)X。由此可以看出,
X
a
X_a
Xa可以由
X
X
X线性表出,则
X
a
X_a
Xa服从高斯分布,均值和协方差矩阵求解见式(2-3)。
E
[
X
a
]
=
(
I
m
,
0
)
μ
=
μ
a
V
a
r
[
X
a
]
=
(
I
m
0
)
(
Σ
a
a
Σ
a
b
Σ
b
a
Σ
b
b
)
(
I
m
T
0
)
=
(
Σ
a
a
Σ
a
b
)
(
I
m
0
)
=
Σ
a
a
(2-3)
E[X_a]=(I_m,0)\mu=\mu_a\\ Var[X_a]= \begin{pmatrix} I_m&0 \end{pmatrix} \begin{pmatrix} \Sigma_{aa}&\Sigma_{ab}\\ \Sigma_{ba}&\Sigma_{bb} \end{pmatrix} \begin{pmatrix} I_m^{T}\\ 0\\ \end{pmatrix}= \begin{pmatrix} \Sigma_{aa}&\Sigma_{ab} \end{pmatrix} \begin{pmatrix} I_m\\ 0 \end{pmatrix} =\Sigma_{aa} \tag{2-3}
E[Xa]=(Im,0)μ=μaVar[Xa]=(Im0)(ΣaaΣbaΣabΣbb)(ImT0)=(ΣaaΣab)(Im0)=Σaa(2-3)
所以
X
a
X_a
Xa服从于均值为
μ
a
\mu_a
μa,协方差为
Σ
a
a
\Sigma_{aa}
Σaa的高斯分布。
现在做一下变量替换,见式(2-4),这里的替换纯属是为了后面计算方便,读者不必纠结于此。
X
b
.
a
=
X
b
−
Σ
b
a
Σ
a
a
−
1
X
a
μ
b
.
a
=
μ
b
−
Σ
b
a
Σ
a
a
−
1
μ
a
Σ
b
b
.
a
=
Σ
b
a
−
Σ
a
a
−
1
Σ
a
b
(2-4)
X_{b.a}=X_b-\Sigma_{ba}\Sigma_{aa}^{-1}X_{a}\\ \mu_{b.a}=\mu_b-\Sigma_{ba}\Sigma_{aa}^{-1}\mu_a\\ \Sigma_{bb.a}=\Sigma_{ba}-\Sigma_{aa}^{-1}\Sigma_{ab} \tag{2-4}
Xb.a=Xb−ΣbaΣaa−1Xaμb.a=μb−ΣbaΣaa−1μaΣbb.a=Σba−Σaa−1Σab(2-4)
于是
X
b
.
a
X_{b.a}
Xb.a可以表示为
(
−
Σ
b
a
Σ
a
a
−
1
,
I
n
)
X
(-\Sigma_{ba}\Sigma_{aa}^{-1},I_n)X
(−ΣbaΣaa−1,In)X。并且可以验证,
X
b
.
a
X_{b.a}
Xb.a的期望为
μ
b
.
a
\mu_{b.a}
μb.a,协方差为
Σ
b
b
.
a
\Sigma_{bb.a}
Σbb.a。因此
X
b
=
X
b
.
a
+
Σ
b
a
Σ
a
a
−
1
X
a
X_b=X_{b.a}+\Sigma_{ba}\Sigma_{aa}^{-1}X_a
Xb=Xb.a+ΣbaΣaa−1Xa。所以在给定
X
a
X_a
Xa的前提下,
E
[
X
b
∣
X
a
]
=
μ
b
.
a
+
Σ
b
a
Σ
a
a
−
1
μ
a
E[X_{b}|X_a]=\mu_{b.a}+\Sigma_{ba}\Sigma_{aa}^{-1}\mu_a
E[Xb∣Xa]=μb.a+ΣbaΣaa−1μa,
V
a
r
[
X
b
∣
X
a
]
=
V
a
r
[
X
b
.
a
]
=
Σ
b
b
.
a
Var[X_b|X_a]=Var[X_{b.a}]=\Sigma_{bb.a}
Var[Xb∣Xa]=Var[Xb.a]=Σbb.a。