無跡卡爾曼到底是什麼東西?
求大神簡單詳盡的解釋一下,然後用到的ut變換也順便說一下唄~
是要做姿態解算嗎?別用ukf了,這個低維狀態模擬效果超好,實際生產過程中的高維狀態使用ukf非常不穩定。所以大把發論文,但做出東西的沒幾個。
首先你要明白卡爾曼濾波是啥,就是我手頭有兩個隨機變數,我能知道其均值和方差,而且均值相同,那麼我希望找到一個權重,使得把這兩個隨機變數組合起來,均值不變,方差減小,從線條上看當然變得平穩了一些,於是被搞工程的人成為濾波。
問題是權重如何找呢?簡化一下問題,把這兩個隨機變數都視作服從正態分布的隨機變數,這樣通過計算可知,權重與它們的方差有關。
下一個問題是,往往手頭只有一個濾波器,怎麼辦?可以給系統建模,根據歷史信息計算出一個額外的數值來,為了簡化問題,認為系統是線性的,那麼輸入數學模型給出的數值任然服從某個正態分布,均值和方差都可以從模型中導出。然後就可以開開心心地濾波了。---齊次要理解粒子濾波。接上,然而問題接踵而至,系統的模型往往都不是線性的啊!輸入個正態分布的量,有的連解析式都寫不出來,根本不知道輸出的是個啥啊!於是想了個辦法,我們不用均值和方差來表示隨機變數,我們用數量居多的採樣點來表示!!!把每個採樣帶進模型去計算,統統算完就得到了下一次的隨機變數的採樣點,當需要計算權重的時候再把方差給算出來。在計算力十分十分強大的模擬平台上,這方法還能說得過去。因為一般要用到的採樣點很多,所以也被稱作粒子云濾波。
---現在可以理解無跡卡爾曼濾波了,在一般情況下,應用粒子濾波困難重重,因為那些粒子云經過多次迭代,很容易發生聚集,這樣就無法精準的描述隨機變數了,所以一般要擇機向粒子云里稀疏的地方添加粒子,在太過稠密的地方減去粒子,不過誰能保證這麼操作不會帶來均值與方差的偏差?此外為了達到精度要求,粒子的數量需要很大,這很難算的過來啊。此時相信你已經體會到了,如何更准更快的計算某個隨機變數經過某個函數變成了怎樣的隨機變數才是卡爾曼濾波器的關鍵所在。無跡變換是嘗試解決這個問題的一個方案,通過某種規則去採樣,在粒子數量盡量小的情況下,去保證採樣點雲的均值和方差不變。不過我沒做過無跡卡爾曼的模擬,對ut的理解不深入。---粒子云濾波家族的最大問題在於維度詛咒,粒子云的規模隨著維度的增加而爆炸式增加,要麼精度換時間,要麼時間換精度,目前沒有好的方法來解決這個問題。
首先你需要知道卡爾曼濾波,卡爾曼濾波適用於線性系統,針對於非線性系統很好推廣應用。EKF利用線性化的方式,讓狀態和協方差在線性化方程中傳播,但是面對強非線性,這種方式誤差較大,因為高斯分布的雜訊經過非線性系統的分布並不是高斯分布。UKF利用5個採樣點(無跡變換)在非線性系統中傳播,降低了隨機變數經過非線性系統傳播的誤差,效果強於EKF。針對P矩陣出現非正定的情況,其實有很多處理方式的。
ukf是一個卡爾曼濾波的變種,一個我個人認為不是很成功的變種。本質上是通過線性插值的方法,完成對非線性模型的高精度變換。
此方法在非線性程度小的時候,可以削弱非線性的影響。
此方法的弱點是當非線性程度強的時候,協方差的更新容易出現負定矩陣的情況。推薦閱讀:
※在給定可接受的第一、二類錯誤概率的情況下,是否可以互換原假設和備擇假設形成一個新的假設檢驗?
※怎樣理解隨機過程中鞅的停時?
※如何理解隨機變數序列?X和x有什麼區別?
※Logistic 回歸和費米分布有什麼聯繫嗎?
※如何理解並記憶大數定律?
TAG:統計 | 控制理論 | 卡爾曼濾波KalmanFilter |