兩個高斯分佈乘積的理論推導


本文主要推導高斯分佈(正態分佈)的乘積,以便能更清楚的明白Kalman濾波的最後矯正公式。

Kalman濾波主要分爲兩大步驟:
1.系統狀態轉移估計,2.系統測量矯正;
在第2步中的主要理論依據就是兩個獨立高斯分佈的乘積如何計算的問題,即如何融合 估計值觀測值 得到系統狀態的最優估計。

高斯分佈的概率密度函數:
f(x)=12πδe(xu)22δ2(1) f(x) = \frac{1}{\sqrt{2\pi}\delta}{e^{-\frac{(x-u)^2}{2\delta^2}}} \tag{1}
其本質問題可抽象爲:已知兩個獨立高斯分佈 N1(u1,δ12)N_1∼(u_1, \delta_1^2), N2(u2,δ22)N_2∼(u_2, \delta_2^2),求新的概率分佈 N=N1×N2(?,?)N =N_1\times N_2∼(?,?)

在進行理論推導之前,我們先通過Matlab數值計算看看兩獨立概率分佈的乘積情況:
在這裏插入圖片描述如圖所示綠色和紅色分別代表兩個獨立的高斯分佈函數,藍色爲兩個分佈的乘積,從藍色形狀可以粗略的看出乘積結果可能爲一個幅值被壓縮的高斯分佈,其期望在[u1,u2][u_1,u_2]之間,但是真實是否如此還需理論推導。

N1N_1 的概率分佈函數爲f1(x)f_1(x), N2N_2 的概率分佈函數爲f2(x)f_2(x), 則:
f1(x)f2(x)=12πδ1e(xu1)22δ1212πδ2e(xu2)22δ22=12πδ1δ2e((xu1)22δ12+(xu2)22δ22)(2) \begin{aligned} f_1(x)f_2(x) &=\frac{1}{\sqrt{2\pi}\delta_1}{e^{-\frac{(x-u_1)^2}{2\delta_1^2}}}\cdot\frac{1}{\sqrt{2\pi}\delta_2}{e^{-\frac{(x-u_2)^2}{2\delta_2^2}}}\\\\ &=\frac{1}{2\pi \delta_1\delta_2}{e^{-\bigg(\frac{(x-u_1)^2}{2\delta_1^2}+\frac{(x-u_2)^2}{2\delta_2^2}\bigg)}} \end{aligned} \tag{2}
可以直接先單獨分析指數部分,設:
β=(xu1)22δ12+(xu2)22δ22=(δ12+δ22)x22(u2δ12+u1δ22)x+(u12δ22+u22δ12)2δ12δ22=x22u2δ12+u1δ22δ12+δ22x+u12δ22+u22δ12δ12+δ222δ12δ22δ12+δ22構造新的正態分佈=(xu2δ12+u1δ22δ12+δ22)2+u12δ22+u22δ12δ12+δ22(u2δ12+u1δ22δ12+δ22)22δ12δ22δ12+δ22=(xu2δ12+u1δ22δ12+δ22)22δ12δ22δ12+δ22γ+u12δ22+u22δ12δ12+δ22(u2δ12+u1δ22δ12+δ22)22δ12δ22δ12+δ22λ(3) \begin{aligned} \beta &=\frac{(x-u_1)^2}{2\delta_1^2}+\frac{(x-u_2)^2}{2\delta_2^2}\\\\ &=\frac{(\delta_1^2+\delta_2^2)x^2-2(u_2\delta_1^2+u_1\delta_2^2)x+(u_1^2\delta_2^2+u_2^2\delta_1^2)}{2\delta_1^2\delta_2^2}\\\\ &=\frac{x^2-2\frac{u_2\delta_1^2+u_1\delta_2^2}{\delta_1^2+\delta_2^2}x+\frac{u_1^2\delta_2^2+u_2^2\delta_1^2}{\delta_1^2+\delta_2^2}}{\frac{2\delta_1^2\delta_2^2}{\delta_1^2+\delta_2^2}}\\\\ \text{構造新的正態分佈}&=\frac{\bigg(x-\frac{u_2\delta_1^2+u_1\delta_2^2}{\delta_1^2+\delta_2^2}\bigg)^2+\frac{u_1^2\delta_2^2+u_2^2\delta_1^2}{\delta_1^2+\delta_2^2}-\bigg(\frac{u_2\delta_1^2+u_1\delta_2^2}{\delta_1^2+\delta_2^2}\bigg)^2}{\frac{2\delta_1^2\delta_2^2}{\delta_1^2+\delta_2^2}}\\\\ &=\underbrace{\frac{\bigg(x-\frac{u_2\delta_1^2+u_1\delta_2^2}{\delta_1^2+\delta_2^2}\bigg)^2}{\frac{2\delta_1^2\delta_2^2}{\delta_1^2+\delta_2^2}}}_{\gamma}+\underbrace{\frac{\frac{u_1^2\delta_2^2+u_2^2\delta_1^2}{\delta_1^2+\delta_2^2}-\bigg(\frac{u_2\delta_1^2+u_1\delta_2^2}{\delta_1^2+\delta_2^2}\bigg)^2}{\frac{2\delta_1^2\delta_2^2}{\delta_1^2+\delta_2^2}}}_{\lambda} \end{aligned} \tag{3}
λ\lambda 如上所示,則 β=γ+λ\beta=\gamma+\lambda ,其中 γ\gamma 爲一個 N(u,δ2)N∼(u, \delta^2) 的正態分佈,λ\lambda 爲一個常數值。繼續簡化 λ\lambda ,如下:
λ=u12δ22+u22δ12δ12+δ22(u2δ12+u1δ22δ12+δ22)22δ12δ22δ12+δ22=(u12δ22+u22δ12)(δ12+δ22)(u2δ12+u1δ22)22δ12δ22(δ12+δ22)=(u12δ22δ12+u22δ14+u22δ22δ12+u12δ24)(u22δ14+2u1u2δ12δ22+u12δ24)2δ12δ22(δ12+δ22)=δ12δ22(u12+u222u1u2)2δ12δ22(δ12+δ22)=(u1u2)22(δ12+δ22)(4) \begin{aligned} \lambda &=\frac{\frac{u_1^2\delta_2^2+u_2^2\delta_1^2}{\delta_1^2+\delta_2^2}-\bigg(\frac{u_2\delta_1^2+u_1\delta_2^2}{\delta_1^2+\delta_2^2}\bigg)^2}{\frac{2\delta_1^2\delta_2^2}{\delta_1^2+\delta_2^2}}\\\\ &=\frac{(u_1^2\delta_2^2+u_2^2\delta_1^2)(\delta_1^2+\delta_2^2)-(u_2\delta_1^2+u_1\delta_2^2)^2}{2\delta_1^2\delta_2^2(\delta_1^2+\delta_2^2)}\\\\ &=\frac{(u_1^2\delta_2^2\delta_1^2+u_2^2\delta_1^4+u_2^2\delta_2^2\delta_1^2+u_1^2\delta_2^4)-(u_2^2\delta_1^4+2u_1u_2\delta_1^2\delta_2^2+u_1^2\delta_2^4)}{2\delta_1^2\delta_2^2(\delta_1^2+\delta_2^2)}\\\\ &=\frac{\delta_1^2\delta_2^2(u_1^2+u_2^2-2u_1u_2)}{2\delta_1^2\delta_2^2(\delta_1^2+\delta_2^2)}\\\\ &=\frac{(u_1-u_2)^2}{2(\delta_1^2+\delta_2^2)} \end{aligned} \tag{4}
則可得兩個高斯分佈相乘爲:
f1(x)f2(x)=12πδ1δ2eβ=12πδ1δ2e(γ+λ)=12πδ1δ2eγeλ=12πδ1δ2e(xu)22δ2e(u1u2)22(δ12+δ22)(5) \begin{aligned} f_1(x)f_2(x) &=\frac{1}{2\pi \delta_1\delta_2}{e^{-\beta}}=\frac{1}{2\pi \delta_1\delta_2}{e^{-(\gamma+\lambda)}}\\\\ &=\frac{1}{2\pi \delta_1\delta_2}{e^{-\gamma}\cdot e^{-\lambda}}\\\\ &=\frac{1}{2\pi \delta_1\delta_2}{e^{-\frac{(x-u)^2}{2\delta^2}}}\cdot e^{-\frac{(u_1-u_2)^2}{2(\delta_1^2+\delta_2^2)}} \end{aligned} \tag{5}
其中:
u=u2δ12+u1δ22δ12+δ22,      δ2=δ12δ22δ12+δ22(6) u=\frac{u_2\delta_1^2+u_1\delta_2^2}{\delta_1^2+\delta_2^2},\ \ \ \ \ \ \delta^2=\frac{\delta_1^2\delta_2^2}{\delta_1^2+\delta_2^2}\tag{6}
常數項綜合爲 SgS_g 可得其直觀表達方式:
f1(x)f2(x)=Sg12πδe(xu)22δ2(7) \begin{aligned} f_1(x)f_2(x) &=S_g\cdot\frac{1}{\sqrt{2\pi} \delta}{e^{-\frac{(x-u)^2}{2\delta^2}}} \end{aligned} \tag{7}
Sg=12π(δ12+δ22)e(u1u2)22(δ12+δ22)(8) S_g=\frac{1}{\sqrt{2\pi(\delta_1^2+\delta_2^2)}}e^{-\frac{(u_1-u_2)^2}{2(\delta_1^2+\delta_2^2)}}\tag{8}
到此,兩個高斯分佈相乘的分佈函數即推導出來,即相乘後的分佈函數爲一個被壓縮或者放大的高斯分佈SgS_g 爲縮放因子,相乘後的概率密度的積分不等於1,但其方差和均值性質不變,所以 N=N1×N2(u,δ2)N =N_1\times N_2∼(u,\delta^2),也就是我們常說兩個高斯分佈相乘同樣服從高斯分佈。

在Kalman濾波中的系統矯正環節中,實際是融合估計值和觀測值,使用Kalman濾波都是假設這兩者的分佈服從高斯分佈,各有各的期望和方差。計算Kalman的最優估計的本質就是在計算合成的 uu

這裏我們再研究一下縮放因子 SgS_g。可以看出,

  • ① 當 Sg<1S_g<1 時,概率分佈被壓縮
  • ② 當 Sg>1S_g>1 時,概率分佈被放大

平時我們大多數情況下會看到情況①,那什麼情況下才能出現情況②呢???
進行如下分部分析:
Sg=12π(δ12+δ22)e(u1u2)22(δ12+δ22)=p(x)q(x)(9) S_g=\frac{1}{\sqrt{2\pi(\delta_1^2+\delta_2^2)}}e^{-\frac{(u_1-u_2)^2}{2(\delta_1^2+\delta_2^2)}}=\frac{p(x)}{q(x)}\tag{9}

其中:
p(x)=exp((u1u2)22(δ12+δ22)),   q(x)=2π(δ12+δ22)(10) p(x)=exp\bigg(-\frac{(u_1-u_2)^2}{2(\delta_1^2+\delta_2^2)}\bigg),\ \ \ q(x)=\sqrt{2\pi(\delta_1^2+\delta_2^2)}\tag{10}

可以很容易的得到 p(x)>0p(x)>0 , q(x)>0q(x)>0 ,當 Sg<1S_g<1 時, p(x)<q(x)p(x)<q(x) , 當 Sg>1S_g>1 時, p(x)>q(x)p(x)>q(x) , 因此這裏問題轉化爲判斷 p(x),q(x)p(x),q(x) 的大小。

設自變量 x=δ12+δ22x=\delta_1^2+\delta_2^2N=(u1u2)2N=(u_1-u_2)^2 ,則 x>x>N>0N>0
p(x)=exp(N2x),   q(x)=2πx(11) p(x)=exp\bigg(-\frac{N}{2x}\bigg),\ \ \ q(x)=\sqrt{2\pi x}\tag{11}

如下是仿真計算 :q(x)q(x) 是條固定的曲線,p(x)p(x) 是根據N移動的曲線蔟,大多數情況會出現 p(x)<q(x)p(x)<q(x)(情況①)
在這裏插入圖片描述可以看出當 p(x),q(x)p(x),q(x) 只有一個交點時,即是一個情況②可能出現的臨界,(這個臨界 NkN_k我沒有計算出來,但仿真差不多在0.06附近,暫且就這樣認爲吧),NN 越小曲線越靠右,就會出現局部 p(x)>q(x)p(x)>q(x) 的情況。

可以得出如下結論:

  • N>0.06N>0.06 時,不可能出現情況②
  • 0<N<0.060<N<0.06 時,且a<x<ba<x<b(其中aba,b爲兩交點,a>0,b<12πa>0,b<\frac{1}{2\pi}),出現情況②
    我們手動仿真了一些情況,如下
    在這裏插入圖片描述

當可以通過 SgS_g 來判斷當前的融合概率是否是被增強還是削弱時,我們是否也可以同時用來判斷融合的有效性。在機器人定位中,利用Kalman融合後,可以利用 SgS_g 判斷定位融合是否有效。

  • 預測和測量相差很遠時SgS_g 就變小,融合分佈概率分散,真實位置概率變小
  • 預測和測量相差很近時,且方差很小時,融合分佈概率更集中,真實位置概率變大

    如此我們可以設置一個閾值來判斷當前融合的有效性
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章