匡 亮,施 珮,季云峰,平震宇,陳北京
(1. 江蘇信息職業技術學院物聯網工程學院,無錫 214153;2. 南京信息工程大學計算機與軟件學院,南京 210044;3. 中國水產科學研究院淡水漁業研究中心,農業部淡水漁業和種質資源利用重點實驗室,無錫 214081;4. 江南大學物聯網工程學院,無錫 214122)
無線傳感器網絡(Wireless Sensor Networks,WSN)以其靈活的部署、低成本,小體積等優勢被廣泛應用于軍事偵察、工業監測、農業監測和醫療監控等各個領域[1-7]。在水質監測中,通過部署傳感器節點來收集水質數據,實現監測區域內水質參數的實時監控。然而,當監測區域較大時,由于監測區域中水質參數值分布不均勻的問題,使得單一位置的監測數據不能很好的體現整個監測區域的真實情況[8]。同時,傳感器網絡中數據的丟失、異常情況時有發生[9],而水下環境的復雜性增加了異常情況處理的難度。為了實現水質的準確監測,保障數據的準確性和可靠性,正確評估水體實際情況,需要利用數據融合技術對不同位置的傳感器數據進行融合,從而提高水質監測系統的魯棒性。
數據融合可以有效地減少數據冗余、提高數據質量[10-12]。基于不同理論的數據融合方法在使用過程中會呈現各自的局限性[13-14]。目前較為常用的數據融合方法包括統計型算法、人工智能型算法和信息論型算法等。以貝葉斯理論為代表的統計類算法需要在融合多傳感器數據之前獲取先驗知識和概率分布來計算傳感器的可靠性[15]。以人工神經網絡(Artificial Neural Networks,ANN)為代表的人工智能型算法可以處理不清楚、不確定的非線性系統的問題,但復雜的結構和隨機參數會導致融合結果不穩定[16]。基于支持度函數的融合算法是典型的信息論型算法,該方法能夠獲得數據間的關系,避免不可信數據對融合結果產生的不良影響[17]。國內外學者已經對支持度函數的數據融合算法展開了深入地研究。Luo等[18]提出一種支持度函數,它利用置信概率距離來表征數據間支持度值,從而構建數據的關聯矩陣完成數據融合。然而這種支持度函數需要進行積分運算,函數計算量較大。羅本成等[19]基于肖維涅統計思想構建的支持度函數,依據設置好的傳感器數據偏差的閾值來計算傳感器一致性矩陣。該支持度函數在計算時依賴于人為設置的閾值,數據融合誤差不穩定。Yager[20]利用指數衰減型支持度函數獲取傳感數據間的支持度矩陣,再通過冪均方加權計算數據融合結果。該方法能夠有效地避免支持度函數非1 即0 的絕對性問題,但指數衰減型支持度函數在參數的設置和計算復雜度上還有待改進。熊迎軍等[21]運用灰色系統接近度思想提出了一種改進指數衰減型支持度函數。該算法不能對時間序列型數據進行分析,數據融合過程忽略了數據在時間上的特征。段青玲等[22]對指數衰減型支持度函數進行了改進,然而該算法在實際應用中的融合精度有待提高。
針對上述支持度函數融合算法存在的問題,本研究提出一種基于改進的動態時間彎曲距離支持度函數(Improved Dynamic Time Warping Distance Optimized Support Function,IDTW-SF)的加權融合算法。利用灰關聯分析理論改進傳統指數衰減型支持度函數中的指數運算,降低指數運算復雜度。同時,改變單一時刻點支持度的計算為時間段內支持度的計算,并利用動態時間彎曲距離(Dynamic Time Warping Distance,DTW)算法度量時間段內互支持度值。再通過時間分割策略來降低算法復雜度,從而實現WSN 水質數據的融合。
由于同類傳感器不同位置感知數據在時間和空間上的相關性,本研究在無線傳感網絡水質監測系統中,采用數據融合機制來提高數據質量,其主要步驟包括:
1)通過數據的一致性檢測操作對感知的原始數據進行檢測,在檢測離群值的基礎上對丟失數據進行重新構建,獲得新的數據集。
2)當無線傳感網絡中某個傳感器發生故障時,利用基于IDTW-SF 支持度函數的數據融合算法對故障傳感器的異常數據進行融合校正。其融合過程如圖 1 所示,N個傳感器節點采集的數據經過一致性檢測后構成數據集X={X1,X2, …,XN}。若傳感器1 為故障傳感器,則系統利用融合機制將傳感器節點X2= {x21,x22,…,x2t},X3= {x31,x32,…,x3t}和XN= {xN1,xN2,…,xNt}進行處理,并獲取融合數據X1’,其中t為采集時刻。
3)基于融合機制的水質監測系統使用融合結果X1’來替換故障傳感器1 中的數據X1,從而提高數據質量,為后續的數據分析和監測提供更可靠的信息。

圖1 水質監測系統數據融合流程Fig.1 Process of data fusion in water quality monitoring
在水質監測中,傳感器在水下受到的影響因素遠比在空氣中多。復雜的影響因素使得傳感器更易發生故障和傳輸錯誤。對于傳輸中丟失的數據,采用線性插值法[23]對這些數據進行修補。同時,利用自滑動移動平均模型( Model Average Moving Integrated Autoregressive ,ARIMA)[24]實現感知數據的一致性檢測,其主要步驟包括:
1)首先對水質參數時間序列數據間的相關性進行分析,測試各感知數據Xi的穩定性,本研究以水體溶解氧濃度為例。
2)確定ARIMA 模型的自回歸階數p和移動平均階數q,基于設定的參數構建最優ARIMA 模型。
3)利用確定的ARIMA 模型獲取判定數據異常的置信區間PI,如式(1)所示

式中oi(t)為t時刻的傳感器感知數據,xi(t)為 ARIMA 模型的預測值,C為代價函數[25]。式(2)為預測值x的PI預測區間。

式中n是樣本大小,s為標準偏差,t分布為遵循自由度為(n-1)的分布函數。
1.2.1 支持度函數
基于支持度函數(Support Function,SF)的融合算法是一種使用較為廣泛的數據融合算法。它能夠有效地獲取數據間的潛在關系,進而獲得數據間的支持度。支持度函數即sup(a,b),用于表征兩元素a和b之間的接近程度[26]。當進行數據融合時,可信度高的數據擁有高的權值,可信度低的數據則擁有低的權值。
目前,較為常用的支持度函數為高斯型支持度函數(Gaussian support function,G),也可稱作為指數衰減型支持度函數[20,27],如式(3)所示

式中K為函數的振幅,β為函數的衰減系數。當兩元素間接近程度越高時,函數的支持度值也越高。當a=b時,sup(a,b)= K。即,a、b間差距越大,則sup(a,b)越趨近于0。
由于該支持度函數具有對稱性,且運算過程是基于指數運算,故sup(a,b)的計算也相對復雜和耗時。劉思峰等[28]利用灰色關聯分析理論表達兩元素間的接近程度,即支持度。本研究在這種思想的基礎上提出一種支持度函數,對高斯型支持度函數進行改進,從而降低函數的計算復雜度,其函數表達式如式(4)所示

水質監測中,同一深度的溶解氧濃度的數據差異<2 mg/L,即(a–b)∈[–2, 2]。則本研究所提出的支持度函數 SF(a,b,K,β)其特性曲線如圖 2 所示。(a–b)為不同溶解氧傳感器感知數據的差值。為了更有效地獲取數值間偏差影響,體現各信息權重對支持度的影響,本研究中確定參數K=1,β=3。
圖 2 顯示,G(a,b,1,3)、D(a,b,1,3)[21]、SN(a,b,1,3)[22]和 SF(a,b,1,3)分別表示各支持度函數的特性曲線,且當(a–b)∈[–1, 1]時,SF(a,b,1,3)能夠更好的接近G(a,b,1,3)。事實上,在水質監測中,溶解氧濃度的差異值大多數集中在[?1,1]。在水質監測中使用本研究提出的支持度函數SF(a,b,1,3)能夠較好地反映傳感網絡數據之間的關系。

圖2 不同支持度函數特性曲線Fig.2 Characteristic curve of different support functions
1.2.2 動態彎曲距離改進支持度函數
在高斯型支持度函數中,t時刻2 個元素間的接近程度為sup(a,b),其表達式如式(3)所示。然而在處理時間序列數據時,會丟失數據前后之間的關聯信息。考慮到水質參數序列數據在時間上的連續性,本研究對 2 個時間序列U和V之間的接近程度進行分析,完成時間序列間接近程度sup(U,V)的度量,從而提出基于時間序列的動態彎曲距離改進的支持度函數(DTW-SF)。DTW 是一種廣泛用于度量時間序列之間相似性的算法之一[29]。本研究選擇DTW 來度量2 個序列數據之間的接近程度,結合SF 支持度函數,從而獲得DTW-SF 支持度函數,其表達式如式(5)所示

式中 dist 表征時間序列U= {u1,u2, …,up, … ,um}(1≤p≤m)和序列V= {v1,v2, …,vq, …,vn} (1≤q≤n)的動態彎曲距離,m和n分別為序列的維數。S(U, V)表征2 個時間序列的相似度,即dist 距離,其表達式如式(6)所示

式中w= {w1,w2, ...,wk}為DTW 中的規整路徑,wk為w中的第k個元素;dpq=(up-vq)2。為了獲得最小路徑距離,定義dist 為累加距離,dist(U, V)為當前格點dpq距離的總和[30]。

1.2.3 優化的動態彎曲距離改進支持度函數
在傳統DTW 中,使用較為常見的歐氏距離來測量m維空間中兩點間距離。然而水質數據時間序列的相似度測量具有時間連續性,單純采用歐式距離度量各維度數據的相似性往往會忽視各維度之間的內在相關性,故本研究選擇馬氏距離替代歐式距離來改進DTW 算法。同時,DTW算法的復雜度較高,故引入時間序列分割策略[31],從而降低DTW 算法的時間復雜度,提高運算效率。通過該分割策略,將兩個時間序列劃分為若干子序列,完成時間序列的分割,并構建優化的動態彎曲距離改進的支持度函數(IDTW-SF)。
在IDTW-SF 支持度函數中,設置分割時間序列長度T=L。則在時間T內,由式(7)可得時間序列U(T) 和V(T)之間的支持度函數,其表述式如式(8)所示

在水質監測中,溶解氧傳感器的感知數據經過一致性檢測后構成Xi。在時間間隔T內,可得傳感器i和傳感器j的數據分別Xi(T)和Xj(T)(i,j∈{1,2,…,N}),傳感器間的相互支持度sij可表達為式(9)所示

由此可獲得各傳感器之間的相互支持度矩陣如式(10)所示

則在N個傳感器組成的傳感器組中,T時間間隔內的N-1 個傳感器對傳感器i的支持度之和如式(11)所示

利用加權融合算法,則傳感器i的融合估計值如式(12)所示

本研究以江蘇省無錫市南泉養殖基地試驗池塘水質監測系統采集的溶解氧數據為試驗對象,獲取2017 年5月 24 日至 2017 年 5 月 29 日 6 d 的溶解氧數據。圖 3a 所示試驗池塘長80 m,寬50 m。根據養殖專家的經驗分別在池塘的不同位置部署 5 個溶解氧傳感器和增氧機。它們的部署深度相同,均位于水下 0.6 m 處,其位置分布(圖 3)。其中,1 號傳感器數據控制1 號、2 號和3 號增氧機,2 號傳感器數據控制4 號增氧機,5 號傳感器數據控制 5 號增氧機。當某一傳感器發生故障時,系統則通過數據融合機制對其余傳感器的數據進行融合,獲取高質量的融合數據。各傳感器節點每10 min 采樣數據,共計 864 個數據點。所有數據經網關發送至上位機存儲,并供后臺數據處理軟件進行分析處理。

Fig.3 養殖池塘的水質監測設備部署圖Fig.3 Deployment diagram of water quality monitoring devices in the aquaculture pond
本研究使用ARIMA 完成864 個樣本數據的一致性檢測,其中異常數據共35 個,丟失數據16 個。通過仿真試驗對樣本數據進行測試,設置置信區間為 95%,獲得樣本數據的異常檢測率(Detection Rate,DR,%)為94.29%。其中,異常檢測率 DR=TP·100%/(TP+FN);正確率(True Positive,TP,%)為異常數據被正確檢測出的個數;準確率(False Negative,FN,%)為異常數據被錯誤檢測的個數。本研究中所有試驗程序均在MATLAB 2014a 環境下上運行和實現,計算機操作系統為Windows 10 (64 bit),運行內存為16 GB,CPU 頻率為2.7 GHz。
本研究選擇平均絕對誤差(Mean Absolute Error,MAE)和運行時間(Time,s)作為數據融合算法性能評估的指標。6 d 內基于IDTWS-SF 支持度函數的融合算法的性能結果(圖4)。
如圖4 所示,6 d 內IDTWS-SF 的融合精度MAE 值隨著分割長度的不斷增大無明顯變化,處于較穩定狀態。而運行時間參數隨著分割長度的不斷增大幾乎呈線性變化趨勢。由此可見,分割長度對融合精度MAE 值的影響較小,對算法運行時間有較大的影響。即分割長度越小,IDTWS-SF 支持度函數的綜合性能越好。綜上所述,本研究確定時間序列的分割長度L=2。
2.3.1 支持度函數性能分析
基于上述參數設置情況,使用基于 IDTWS-SF 支持度函數的加權融合算法對水質參數數據進行融合,本研究以溶解氧濃度為例進行試驗。6 d 內溶解氧濃度的融合輸出曲線如圖5 所示,IDTWS-SF 支持度函數融合輸出值能較好的擬合觀測值,6 d 內融合值曲線與觀測值曲線較為一致,無明顯的融合異常情況。圖6 為IDTWS-SF 支持度函數加權融合算法的融合誤差率,圖中所有測試樣本的融合誤差率均低于 0.25,且大部分樣本點的融合誤差率低于0.05。試驗結果證明,該算法有較好的融合效果,能有效地實現水質參數溶解氧濃度的多傳感器數據融合。

圖4 優化的動態彎曲距離改進支持度函數六天內不同分割長度融合性能對比圖Fig.4 Performance comparison of IDTWS-SF with different segment lengths in six days

圖5 優化的動態彎曲距離改進支持度函數加權融合結果Fig.5 Results of IDTWS-SF support degree function weighted fusion
為了有效地評估IDTW 算法對支持度函數SF 的改進效果,分別選擇SF 支持度函數、余弦夾角[32]改進SF 支持度函數(Cosine Angle Improved SF Function, Cos-SF)、傳統DTW 改進SF 支持度函數進行對比試驗。對6 d 內的水質參數溶解氧濃度的融合殘差值進行對比,融合殘差結果(圖7)。

圖6 優化的動態彎曲距離改進支持度函數融合誤差率Fig.6 Fusion error rate of IDTWS-SF
圖7 為不同的改進SF 支持度函數的加權融合算法的融合殘差結果對比圖。通過觀察這4 種支持度函數融合算法的殘差曲線的浮動范圍可以發現,6 d 內測試數據集中Cos-SF 支持度函數融合算法的殘差浮動范圍明顯大于其他3 個支持度函數。SF、DTW-SF 和IDTW-SF 3 種支持度函數的融合殘差浮動情況較為接近。為了更好地對4 種支持度算法的性能進行對比分析,對支持度函數融合精度指標MAE 和時間進行計算,各支持度函數融合結果(表1)。
表1 顯示IDTW-SF 支持度函數加權融合算法的性能明顯優于其他3 個支持度函數融合算法。就MAE 指標而言,IDTW-SF 的MAE 值相較于DTW-SF、Cos-SF 和SF分別降低了6.308 7%、54.214 5%和16.306 9%。由此可見,改進的DTW 方法能夠有效地提高支持度函數的融合精度。在運行時間上,IDTW-SF 比DTW-SF 快3.576 s,相較于Cos-SF 和SF 支持度函數融合算法僅慢0.001 1 s和0.003 5 s,運行速度相差很小。

圖7 不同的改進支持度函數SF 的融合殘差對比圖Fig.7 Comparison of different optimized SF support degree functions for fused residual

表1 不同的改進SF 支持度函數算法的融合結果Table 1 Weighted fusion results of different optimized support degree functions
DTW-SF 與Cos-SF、SF 支持度函數融合結果的對比試驗發現,DTW-SF 支持度函數有較高的MAE 值。這一結果表明,DTW 比余弦距離和歐式距離更適用于度量時間序列間的支持度,它與 SF 支持度函數的結合能夠有效的提高融合精度。而馬氏距離和時間分割策略改進的 DTW 算法,不僅提高算法的融合精度,而且保障了算法的運行效率。綜合融合精度和效率兩方面考慮,IDTW-SF 支持度函數更適用于水質監測數據的融合。
2.3.2 不同的支持度函數融合結果分析
為了深入評估本研究提出的IDTW-SF 支持度融合算法的效果,選擇高斯型支持度函數G函數[20]、改進支持度函數D函數[21]、改進支持度函數SN 函數[22]3 種支持度函數作為對比函數。將6 d 內4 種支持度函數的溶解氧融合結果殘差值進行對比分析(圖8)。
圖8 為4 種支持度函數的加權融合結果的殘差對比圖。通過觀察 4 種支持度函數融合算法的殘差曲線浮動范圍可以發現,盡管IDTW-SF 支持度函數的融合殘差值的浮動范圍比其他 3 個支持度函數大,但其殘差值更接近0。結果表明,該算法的融合值與實際值差異更小。其他 3 個支持度函數融合殘差浮動范圍則較為接近,無明顯的差異度。為了深入分析各支持度函數性能,將指標MAE 和運行時間作為評價指標,獲得如表2 所示的支持度函數融合性能結果。

圖8 4 種支持度函數融合殘差對比圖Fig.8 Comparison of four support degree functions for fused residual

表2 四種支持度函數的融合性能對比Table 2 Weighted fusion results of four support degree functions
由表2 可以清楚地發現,相較于其他3 種支持度函數,IDTWS-SF 的融合性能有明顯的優勢。就MAE 值而言,IDTWS-SF 相較于G函數、D函數和SN 函數分別降低了16.656 7%、22.637 9%和21.661 1%。在算法運行速度上,IDTWS-SF 比G函數、D函數和SN 函數分別多耗時0.000 5、0.002 1 和0.002 8 s,運行時間差異較小。D函數和 SN 函數均為高斯支持度函數改進后的支持度函數。2 種支持度函數的融合運行時間比高斯函數快0.001 6和0.002 3 s,在融合精度上差異較小。
上述結果表明,將改進的DTW 算法引入到SF 支持度函數中可以有效地提高加權融合算法的融合性能。基于型支持度函數 IDTWS-SF 的數據融合算法擁有較好的融合性能,更適用于實際的水質監測。
針對水質監測系統對多傳感器數據融合的高精度、快速響應要求,本研究提出一種采用IDTW-SF (Improved Dynamic Time Warping Distance Optimized Support Function)支持度函數的數據融合算法。該支持度函數在改進傳統指數衰減支持度函數的基礎上,對時間段內傳感數據間互支持度進行計算。IDTW-SF 無需自行設定閾值,能夠有效的避免傳統支持度函數非1 即0 的問題。在IDTW-SF 中,DTW 算法對SF 函數的改進能夠有效地獲取時間序列數據在時間上的關聯性。同時,引入的馬氏距離和時間序列分割策略能夠降低 DTW 算法的復雜度,提高算法的融合精度。基于IDTW-SF 支持度函數融合算法有較高的融合精度,其融合平均絕對誤差值為0.279 2%。算法的運算效率較高,運行時間僅0.021 2 s。本研究以江蘇省無錫市南泉養殖基地試驗池塘水質參數為試驗對象,對引起魚類異常死亡重要因素之一的溶解氧數據進行融合,結果表明IDTW-SF 支持度函數的融合效果相較于指數衰減型支持度函數和其他對比的支持度函數有較大程度的提高,能夠應用于無線傳感網絡水質監測系統中,對提高魚類存活效率,降低漁民養殖風險有重要意義。