登錄

卡爾曼濾波

百科 > 決策預(yù)測 > 卡爾曼濾波

1.什么是卡爾曼濾波

最佳線性濾波理論起源于40年代美國科學(xué)家Wiener和前蘇聯(lián)科學(xué)家Kолмогоров等人的研究工作,后人統(tǒng)稱為維納濾波理論。從理論上說,維納濾波的最大缺點(diǎn)是必須用到無限過去的數(shù)據(jù),不適用于實(shí)時處理。為了克服這一缺點(diǎn),60年代Kalman把狀態(tài)空間模型引入濾波理論,并導(dǎo)出了一套遞推估計(jì)算法,后人稱之為卡爾曼濾波理論??柭鼮V波是以最小均方誤差為估計(jì)的最佳準(zhǔn)則,來尋求一套遞推估計(jì)的算法,其基本思想是:采用信號與噪聲的狀態(tài)空間模型,利用前一時刻地估計(jì)值和現(xiàn)時刻的觀測值來更新對狀態(tài)變量的估計(jì),求出現(xiàn)時刻的估計(jì)值。它適合于實(shí)時處理和計(jì)算機(jī)運(yùn)算。

卡爾曼濾波的實(shí)質(zhì)是由量測值重構(gòu)系統(tǒng)的狀態(tài)向量。它以“預(yù)測—實(shí)測—修正”的順序遞推,根據(jù)系統(tǒng)的量測值來消除隨機(jī)干擾,再現(xiàn)系統(tǒng)的狀態(tài),或根據(jù)系統(tǒng)的量測值從被污染的系統(tǒng)中恢復(fù)系統(tǒng)的本來面目。

2.卡爾曼濾波的形式

  1、模型要求

  卡爾曼濾波要求模型已知。即模型的結(jié)構(gòu)與參數(shù)已知,且隨機(jī)向量的統(tǒng)計(jì)特征已知。

  2、卡爾曼濾波分類

  記Yj的向量函數(shù):

  hat{X}(k/j)=E[X(k)/Y^j]

  為狀態(tài)X(k)的估計(jì)量,分三種情況:

  • 當(dāng)k>j時,稱為預(yù)測;

  • 當(dāng)k=j時,稱為濾波;

  • 當(dāng)k<j時,稱為平滑。

3.卡爾曼濾波特點(diǎn)

卡爾曼濾波是解決狀態(tài)空間模型估計(jì)與預(yù)測的有力工具之一,它不需存儲歷史數(shù)據(jù),且可以同過計(jì)算機(jī)程序到達(dá)對狀態(tài)空間模型的優(yōu)化擬合。

4.卡爾曼濾波案例分析

案例一:基于卡爾曼濾波方法的時用水量預(yù)測[1]

  一、基于卡爾曼濾波方法的時用水量預(yù)測

  在20世紀(jì)60年代以后,數(shù)學(xué)家卡爾曼提出了用一個狀態(tài)方程和一個量測方程來完整描述線性動態(tài)過程,從而形成了一種遞推濾波算法,卡爾曼濾波不要求保留使用過的觀測數(shù)據(jù),當(dāng)測得新的使用數(shù)據(jù),可按照一套遞推公式算出新的估計(jì)量,不必重新計(jì)算,此外,他還打破了對平穩(wěn)過程的限制,可用于對時變隨機(jī)信號的濾波,卡爾曼濾波是一套基本的公式,可用于預(yù)測修正的評估,在最小化協(xié)方差估計(jì)誤差方面表現(xiàn)出眾。

  一個動態(tài)系統(tǒng)的狀態(tài)變化,在沒有外部干擾時,系統(tǒng)的未來狀態(tài)可以根據(jù)現(xiàn)時狀態(tài)從已知的運(yùn)動方程中確定出來,但是,遺憾的是總是存在各種外部干擾,同時人們對運(yùn)動方程的描述不可能十分精確,例如方程的建立過程中忽略影響小的量或者將非線性形式簡化為線性形式,變參數(shù)近似表示成常參數(shù)等等[2]。當(dāng)線性方程的描述在人們所需范圍內(nèi)足夠準(zhǔn)確時,可以認(rèn)為該線性系統(tǒng)的行為看作兩部分組成。一部分是由已知的運(yùn)動方程正確的預(yù)測出來,另一部分是可以看作均值為零的隨機(jī)分量[3] [4]。

  設(shè)每小時用水量為x(k)。對于不同時間值k,均有一值x(k)與之對應(yīng),當(dāng)取樣時刻變化時,就得到一時用水量序列{x(k)},用水量預(yù)測序列{x(k)}為白噪聲序列{x(k)}驅(qū)動的一階遞歸模型,狀態(tài)方程如下:

  x(k) = φ(k)x(k ? 1) + ω(k ? 1)  (1)

  西(_|})為七一1時刻和居時刻時用水量之間的相關(guān)系數(shù),本文中采用了時變模型,認(rèn)為F是一個隨時間變化的系數(shù)塒為表示過程噪聲。

  測量方程如下:y(k)=Hx(k)+v(k)  (2)

  y(k)為k時刻用水量的量測值;

  日為量測參數(shù),它由測量系統(tǒng)和測量方法所確定。不隨時間變化的一個常量,取為1;v(k)為量測噪聲。

  均方估計(jì)誤差為p(k) = E[x(k) ? x(k)]2,在均方估計(jì)誤差為最小的準(zhǔn)則下加以推導(dǎo),可以得出一套遞推公式如下:

  預(yù)測估計(jì)方程:

  x(k + 1 | k) = F(k)x(k | k ? 1) + b(k)[y(k) ? Hx(k | k ? 1)]  (3)

  預(yù)測增益方程:

  b(k)=frac{F(k)Hp(k|k-1)}{H^2p(k|k-1)+R}  (4)

  均方預(yù)測誤差方程:

  p(k | k + 1) = F(k)2p(k | k ? 1) ? F(k)Hb(k)p(k | k ? 1) + Q

  式中: x(k+1|k)于后時刻的k+1時刻時用水量基礎(chǔ)的估計(jì)值;R為量測噪聲的方差,S^2_V;Q為過程噪聲的方差,S^2_W。

  卡爾曼濾波是以預(yù)測加修正來實(shí)現(xiàn)其濾波遞推的,卡爾曼濾波的這個性質(zhì)使得我們很容易用計(jì)算機(jī)來實(shí)現(xiàn),從而完成我們對時用水量的預(yù)測。

  二、基于卡爾曼濾波方法的季節(jié)預(yù)測模型

  為了提高預(yù)測精度,引進(jìn)了2個參數(shù)的預(yù)測采用如下狀態(tài)方程和量測方程:

  x(k) = φ1(k)x(k ? 1) + φ2(k)x(k ? 2) + ω(k)x(k ? 1)

  y(k)=Hx(k)+v(k)  (6)

  以矩陣的形式表示如下:。

  x(k)=[phi_1(k)phi_2(k)]begin{bmatrix}x(k-1)x(k-2)end{bmatrix}+omega(k-1)begin{bmatrix}(k)(k-1)end{bmatrix}=Hbegin{bmatrix}(k)(k-1)end{bmatrix}+begin{bmatrix}(k)(k-1)end{bmatrix}  (7)

  在最小均方差準(zhǔn)則[5](即p(k|k+1)=E[x(k+1)-x(k+1|k)]^2為最小)下得如下遞推公式。

  預(yù)測估計(jì)方程:

  x(k+1|k)=Ax(k|k-1)+G(k)[(k)-CX(k|k-1)]  (8)

  預(yù)測增益方程:

  G(k) = AP(k | k ? 1)HT[HP(k | k ? 1)HT + R(k)1  (9)

  預(yù)測協(xié)方差方程

  P(k+1|k)=[A-G(k)H]P(k|k-1)A^T+Q(k)  (10)

  其中A為[F(k)1F(k)2],X(K | k ? 1)為begin{bmatrix}(k|k-1)(k-1|k-2)end{bmatrix},Y(k)為begin{bmatrix}(k)(k-1)end{bmatrix}

  由于每天用水量呈現(xiàn)一定的周期 ,現(xiàn)以過去一天同一時刻的時用水量作為沖擊序列[6],對 k 時刻時用水量做出修正,因此在 2個參數(shù)的基礎(chǔ)上加入季節(jié)模型。

  狀態(tài)方程和量測方程如下:

  x(k) = φ1(k)x(k ? 1) + φ2(k)u(k) + w(k ? 1)

  y(k)=Hx(k)+v(k)

  其中u(k)=x(k-24)

  即將第2個參數(shù)x提前24h ,重新統(tǒng)計(jì)出由F1F2構(gòu)成的A矩陣 ,進(jìn)行相應(yīng)的卡爾曼濾波預(yù)測。重新構(gòu)建的模型稱為卡爾曼濾波季節(jié)預(yù)測模型。

  三、工程實(shí)例

  杭州位于錢塘江畔,是一個人口密集城市,其設(shè)計(jì)供水量能力為140萬t/d。本文以杭州市的時用水量為例,分別采用卡爾曼濾波模型以及卡爾曼濾波季節(jié)模型進(jìn)行預(yù)測,對結(jié)果進(jìn)行比較分析(見二圖),研究上述2種方法的利弊。

杭州市時用水量量測值圖

非季節(jié)模型與季節(jié)模型的預(yù)測誤差對比圖

  從圖中可以看出,對于1h預(yù)測,非季節(jié)模型誤差有較大波動,改進(jìn)后的模型,即卡爾曼濾波季節(jié)模型相對較為平穩(wěn)。

  總體來說季節(jié)模型預(yù)測精度相對較高。

  評價模型預(yù)測精度,還需查看其預(yù)測誤差分布特征[7]

  圖3為卡爾曼濾波常規(guī)模型與季節(jié)模型預(yù)測誤差分布比較,采用了1個月數(shù)據(jù),用2種方法進(jìn)行了預(yù)測,從圖中可以看出,2種方法誤差都主要集中在-0.1至0.1區(qū)域,呈對稱分布。從1個月所有數(shù)據(jù)來看,誤差大致呈正態(tài)分布,季節(jié)模型較常規(guī)模型趨勢圖更為尖銳,表明季節(jié)模型比常規(guī)模型預(yù)測效果更為理想。綜合上圖和下圖,比較得出,卡爾曼濾波季節(jié)模型具有更高的預(yù)測精度。

卡爾曼濾波常規(guī)模型與季節(jié)模型誤差分布比較圖

  采用基于卡爾曼濾波方法預(yù)測模型,進(jìn)行時用水量預(yù)測。鑒于城市時用水量具有周期性、趨勢性及隨機(jī)擾動性,引入季節(jié)因子,形成卡爾曼濾波方法季節(jié)模型。以杭州市實(shí)測數(shù)據(jù)為例,分別采用卡爾曼濾波模型和卡爾曼濾波季節(jié)模型分別對該市時用水量進(jìn)行預(yù)測,預(yù)測結(jié)果表明,卡爾曼濾波方法季節(jié)預(yù)測模型精度相對較高。從計(jì)算模型看,季節(jié)預(yù)測模型要求低,但預(yù)測精度較高,具有一定實(shí)用性,能夠滿足供水系統(tǒng)優(yōu)化調(diào)度的要求。

評論  |   0條評論