周艷青, 薛河儒, 姜新華, 王思宇, 王 靜
(內蒙古農業大學 計算機與信息工程學院,呼和浩特 010018)
錫林河流域屬于典型性草原型流域,地處內蒙古高原中部,流域總面積約為10 800 km2. 是錫林郭勒草原上的主要河流,因此對它展開研究具有重要的意義[1].IPCC第四次評估報告指出,近50年來全球地表增溫速度明顯加快,若氣候變化超出生態系統的彈性閾值,將嚴重破壞生態系統的結構和功能,后果不堪設想[2].而氣象站的設定可以獲得有關氣候變化的氣象數據.但是氣象數據是以時間序列而采集,通常以分鐘為單位,采集的密度濃且指標多. 隨著時間的累積將獲得大量監測的氣象數據,增加了數據的復雜性. 而數據融合技術則是大數據處理中處理數據的一種方式. 通常的數據融合算法針對多個傳感器在同一時間不同空間的特征數據的融合. 而在實際應用中,一個氣象站節點上不止一類傳感器,況且每種傳感器都用有自己的特性,例如溫度傳感器所采集的溫度變化緩慢,如果按照固定的采樣頻率,將會產生大量的重復冗余的數據,并增加網絡的傳輸量,所以數據融合的研究成為人們關注的焦點[3]. 例如,劉衛萍等人將數據融合技術應用于環境測量中,對多傳感器監測的環境數據進行轉換、相關性分析、融合,降低數據的規模[4]. 張鵬鵬等對礦井安全監測數據實施融合,提高數據采集的準確性[5].
數據融合是充分利用不同時間與空間的多傳感器數據資源,采用計算機技術按時間序列獲得傳感器的觀測數據,在一定準則下進行分析. 當前,主要的數據融合方法有加權平均、卡爾曼濾波法、貝葉斯估計法、證據推理等. 其中貝葉斯估計法和證據推理是在靜態環境適用于高層的數據融合; 加權平均和卡爾曼濾波法適用于動態環境的低層數據的融合. 卡爾曼濾波是目前應用最廣泛的濾波方法. 劉超云等人提出卡爾曼濾波算法對多個滑坡體位移監測數據進行濾波融合,從而對其穩定狀態和變化趨勢做出預測[6]. 鄒波等人提出基于EKF的改進非線性定姿估計方法,通過多傳感器互補,利用儀器的進行誤差修正,得到準確的姿態角[7]. Ou等人通過多傳感器互補,采用連續EKF進行姿態估計,提高姿態角估計的動態和穩態性能[8]. 龍慧提出基于Consensus濾波的分布式卡爾曼融合算法,引入一致濾波算法用于計算節點平均觀測數據和平均你協方差,從而獲得各節點的分布式狀態估計[9].Subhro等人提出一種單一時間尺度的分布式卡爾曼濾波算法,獲得不穩定系統的有節MSE的無偏估計[10].Lvanjko等通過采用擴展卡爾曼濾波和無跡卡爾曼濾波的融合實現移動機器人姿態的跟蹤[11]. 吳勇等提出一種收縮無跡卡爾曼濾波器,并應用于SLAM問題中,通過設置收縮參數降低計算復雜度[12].
卡爾曼濾波是線性無偏最小方差估計,EKF是將非線性系統線性化,然后進行卡爾曼濾波,但是線性化處理時需要用雅克比矩陣,其繁瑣的計算過程導致該方法實現相對困難. UKF是針對非線性系統,但是計算量大. 與EKF相比較,它有更高的估計精度和更強的魯棒性及穩定性,但當周圍環境發生較大變化,其精度和穩定性都會大大降低[13].
已提出的各種不同卡爾曼濾波算法,在融合的精度上和計算的復雜性有所提高,但是都是針對不同空間的多個傳感器的數據融合算法,屬于橫向融合. 而實際采集的氣象數據僅來源于相距較遠的兩個氣象站,采集數據密度密,所以將上述算法應用于縱向基于時間序列數據的融合,計算復雜性相對高. 因此,本文將卡爾曼濾波算法應用于縱向基于時間序列數據的融合.因此本文以典型草原流域錫林河流域為研究對象,引入分布圖法,利用傳統的卡爾曼濾波算法對氣象數據中變化緩慢的空氣溫度指標進行同一空間不同時間序列的融合,以減少數據的傳輸量,提高數據的準確性與科學性,同時方便以后的計算. 通常探測數據采用平均值作為瞬時值,如果測量的數據出現不完整性或者存在異常,將會導致最終結果的不準確. 所以處理異?;蛘呷笔祿M行融合將是本研究的重點.
卡爾曼濾波算法采用遞歸方法來解決線性濾波問題,主要用于動態環境中冗余信息的融合,根據上一狀態的估計值和當前狀態的觀測值推出當前狀態的估計的濾波方法[14,15]. 首先引入一個離散控制過程的系統和系統的測量值,用公式(1)和(2)描述:

其中,Xk是k時刻對系統狀態變量,Uk是k時刻對系統的控制量,A和B是系統的參數,Zk是k時刻的測量值,H為測量系統的參數,Wk和Vk是過程和測量噪聲,假設其均為高斯白噪聲,噪聲協方差分別用q,r表示.
由公式(1)和(2),可得出卡爾曼濾波器的時間更新方程,包含時間遞推狀態變量計算和向前推算誤差協方差的計算:

基于現在時刻的觀測值和前一時刻的估計值,可得卡爾曼濾波器的狀態更新方程,包含觀測量的更新估計、卡爾曼增益計算和更新誤差協方差:

卡爾曼濾波算法通過不斷的預測和校正獲得最終的準確的測量值.
在實際濾波時,需要根據測量數據的實際情況設置初值X0,初始誤差協方差P0(P0≠0),過程噪聲協方差Q,和測量噪聲協方差R,使得濾波收斂速度和效果最佳. 由于卡爾曼濾波算法是一個最優化自回歸的算法,所以X0可以取0或者測量的初始值. 通常P0越小表示初始的估計較好. 如果測量的環境相對穩定,Q可設置為一個確定的值,Q的取值越接近0,融合的曲線越光滑,但不宜特別小.R與測量儀器的精度有關,R取值與Q相類似,R越小,濾波效果好,收斂快[16].
對于一個相對穩定的環境,傳統的卡爾曼濾波算法可以獲得較好的融合結果. 當是當數據出現異常或者缺失,傳統的卡爾曼濾波算法的融合結果將會出現波動. 針對該問題,對傳統的卡爾曼濾波算法實施改進,引入了分布圖法[17],對測量數據進行處理,在利用卡爾曼濾波算法融合,得到可靠的融合結果. 分布圖法通過計算判斷區間[ρ1,ρ2]來排除50%的離異值干擾. 而且中位值和四分位離散度的選擇與極值點的大小無關,僅取決于數據的分布位置,有效區間的獲得與疏失數據的關系不大,而且利用分布圖法獲得的數據不受數據分布的限制[18]. 所以分布圖法消除疏失數據具有運算量小、魯棒性強、實時性好的優點[19]. 為了保證數據的維數不變,將采用估計值來代替疏失數據,這樣可以減少維數的判斷,提高計算的效率.
首先引入分布圖法的參數,將測量的氣象溫度數據按從小到大的順序排列,設為T1,T2,…,TN,則中位數Tm按公式(8)的定義,中位數將數據序列分為上四分位FU和下四分位FL,四分位離散度dF為FU和FL的差值. 如果氣象溫度數據與中位數的距離大于βdF,則稱該數據為無效數據,β為常數.

假設有效數據的判斷區間為[ρ1,ρ2],則不包含在這個區間內的數據認為異常數據. 其中,

當判斷出異常數據,為了使得數據維數保持一致,則通過對中間溫度數據求平均值,來代替當前時刻的估計值,如表1.

表1 中間數據的平均值計算
改進的卡爾曼濾波算法的具體步驟如下:
1)讀入融合的測量數據,并對數據進行排序,利用分布圖法確定異?;蚴枋祿?并用平均值來代替測量數據中的異常數據;
2)初始化卡爾曼濾波算法的參數,包括參數A,B,H,以及P0和X0的初始值,并計算過程和測量的噪聲的協方差q,r;
3)利用卡爾曼濾波算法中的公式,通過循環迭代計算,對測量數據實施融合.
選取錫林河流域內石門景區氣象站2016年1月1日每隔5分鐘所采集的空氣溫度數據,所以1小時之內可以采集到12個空氣溫室數據,24小時,共288個采用數據,部分數據如表2所示,利用改進的卡爾曼濾波算法按照小時對數據實施融合,將融合為12個數據.
由于空氣溫度傳感器采集過程相對穩定,且采集的數據與溫度是直接對應的,所以采用一維線性的離散系統,將變量A和H均設置為1. 噪聲的來源主要源于環境和采集儀器,所以Wk和Vk且均為零均值的獨立的高斯白噪聲,方差分別為q=0.04和r=0.2.
1)原始數據的融合
表2中的空氣溫度數據如圖1所示. 可以明顯的看出一天溫度變化趨勢,中午兩點空氣溫度已經達到了極值,將其使用平均值、卡爾曼濾波和改進的卡爾曼濾波融合后的結果如圖1(b)所示.
從圖1結果對比中可以看出,三種方法的融合趨勢大致相同. 在上午6點,卡爾曼濾波算法的融合值存在微小的突變; 凌晨2點到3點,平均值算法的融合結果也存在突變,所以與平均值算法和卡爾曼濾波算法相比,改進的卡爾曼濾波算法的融合曲線更光滑,符合空氣溫度的緩慢變化規律

表 2 空氣溫度采樣數據 (單位:°C)

圖1 原始數據及融合結果
2)添加擾動數據和突變數據
為了驗證改進的算法的性能,在原始的空氣數據中設置了四個擾動數據和兩個突變數據,其中突變數據是將原始數據設置為最大或者是0,0點和9點設置減小的擾動數據,13點和22點設置增大的擾動數據.設置的位置如表3所示.

表3 添加的擾動和突變的數據(℃)
由于設置了6個疏失數據,利用分布圖法判斷該數據,并賦予估計值,如表4所示.
從表中可知,估計值與原始數據值相差較小,誤差介于-0.4~0.28.

表4 疏失數據的估計值(℃)
對擾動數據和突變數據分別用平均值、卡爾曼濾波和改進的卡爾波濾波算法融合,其融合結果顯示在圖2中,相應的改變的值顯示在表5和表6中.
依據圖2(a)和表5可知,在0點設置的擾動數據,平均值法融合結果顯然從-12.74℃下降到-13.76℃,不能避免擾動數據的干擾. 卡爾曼濾波算法的融合結果僅在-0.33到0.02的小范圍內波動. 而改進的算法的融合結果的波動范圍更小,為-0.1到0.09. 同時,與卡爾曼濾波算法,改進方法的融合結果與設置擾動數據的增減性一致. 因此,改進的算法不受擾動數據的影響.

圖2 設置異常數據的融合結果

表5 三種方法對擾動數據的融合結果對比(℃)

表6 三種方法對突變數據的融合結果對比(℃)
從圖2(b)和表6可知,平均值法對突變數據的融合結果影響大于其他兩種方法的融合結果. 對于改進的融合算法在16點時,添加突變數據和原始數據的融合結果是一樣的,是由于改進的融合算法將突變數據剔除,用表1中計算的平均值代替突變數據. 因此改進的方法能避免突變數據. 綜上所述,利用分布圖法判斷疏失數據,并用估計值來代替疏失數據,在利用卡爾曼濾波算法進行融合,能夠獲得光滑的融合結果,具有較強的穩定性、健壯性.
對于時間跨度比較的大的溫度數據,可以利用本文的算法對數據進行融合,從而了解溫度的變化趨勢.選擇2016年1月1日到10日的數據,每隔五分鐘采集,則共有2880條記錄. 按小時融合后的數據共240條,顯示在圖3中; 按天進行融合的數據共10條,如圖4所示. 從中可以清楚的看到,溫度在1月6日和1月7日出現極值點,且1月7日的溫度最低.

圖3 按小時的融合結果

圖4 按天的融合結果
因為氣象數據中的空氣溫度變化緩慢,并且受到噪聲干擾小,提出了一種線性模型的改進的卡爾曼濾波融合算法. 它根據數據緩慢變化趨勢,利用上一時刻的估計值和當前時刻的觀測值推出當前狀態進行融合.通過仿真實驗,改進的算法能夠避免擾動數據和突變數據的干擾,為同一空間的時間序列數據融合提供新的方法,為下一步的氣象數據的研究奠定基礎.
1 張雪峰,牛建明,張慶,等. 內蒙古錫林河流域草地生態系統土壤保持功能及其空間分布. 草業學報,2015,24(1):12-20. [doi:10.11686/cyxb20150103]
2 宋小園,朱仲元,張圣微,等. 錫林河流域氣候變化特征診斷分析. 干旱區資源與環境,2016,30(4):151-158.
3 李翀,王沁,李磊,等. 一種基于時間序列的節點級數據融合方法. 計算機科學,2008,35(11A):307-311.
4 劉衛萍,王寧,周曉磊,等. 數據融合技術在環境監測領域的應用. 計算機系統應用,2016,25(6):88-93.
5 張鵬鵬,俞阿龍,孫詩裕,等. 多傳感器數據融合在礦井安全監測中的應用. 工礦自動化,2015,41(12):5-8.
6 劉超云,尹小波,張彬. 基于Kalman濾波數據融合技術的滑坡變形分析與預測. 中國地質災害與防治學報,2015,26(4):30-35,42.
7 鄒波,張華,姜軍. 多傳感信息融合的改進擴展卡爾曼濾波定姿. 計算機應用研究,2014,31(4):1035-1038,1042.
8 Ou Y,Xia YQ,Fu MY. A modified method of nonlinear attitude estimation based on EKF. Proceedings of the 12th International Conference on Control Automation Robotics &Vision (ICARCV). Guangzhou,China. 2012. 901-906.
9 龍慧. 基于Consensus濾波的分布式卡爾曼信息融合方法.物聯網技術,2011,(3):61-64.
10 Das S,Moura JMF. Distributed Kalman filtering with dynamic observations consensus. IEEE Transactions on Signal Processing,2015,63(17):4458-4473. [doi:10.1109/TSP.2015.2424205]
11 Ivanjko E,Vasak M,Petrovic I. Kalman filter theory based mobile robot pose tracking using occupancy grid maps.Proceedings of International Conference on Control and Automation. Budapest,Hungary. 2005,2. 869-874.
12 吳勇,關勝曉. 基于無跡卡爾曼濾波器的改進SLAM問題求 解 方 法. 計 算 機 系 統 應 用,2017,26(3):30-36. [doi:10.15888/j.cnki.csa.005674]
13 周衛東,喬相偉,吉宇人,等. 基于新息和殘差的自適應UKF 算法. 宇航學報,2010,31(7):1798-1804.
14 蔡小慶,魯小利,張偉娟,等. 基于卡爾曼濾波數據融合的溫室監控系統. 電子測試,2016,(6):59-60.
15 Chen YK,Si XC,Li ZG. Research on Kalman-filter based multisensor data fusion. Journal of Systems Engineering and Electronics,2007,18(3):497-502. [doi:10.1016/S1004-4132(07)60119-4]
16 Wang J,Xue HR,Jiang XH. Application of Kalman filtering algorithm in greenhouse environment monitoring.Proceedings of the 2013 2nd International Symposium on Instrumentation and Measurement,Sensor Network and Automation (IMSNA). Toronto,ON,Canada. 2013.539-544.
17 范滿紅,馬勝前,陳彥,等. 基于多傳感器數據融合的溫濕度監測系統. 壓電與聲光,2012,34(3):459-462,465. [doi:10.11977/j.issn.1004-2474.2012.03.037]
18 夏卓君. 分布圖法在疏失誤差處理中的應用. 實用測試技術,2002,28(2):33-34,8.
19 滕召勝. 基于多傳感器數據融合的熱處理爐溫度測量方法. 計量學報,2000,21(2):148-152.