唐新宇, 唐超塵, 劉 鑫
(. 廣東工商職業(yè)技術大學 計算機學院, 廣東 肇慶 526040;2. 西安電子科技大學 通信工程學院, 陜西 西安 710071;3. 桂林理工大學 信息科學與工程學院, 廣西 桂林 541004)
城市空氣質(zhì)量監(jiān)測與預測是城市環(huán)境管理的重要部分,通過物聯(lián)網(wǎng)方式實現(xiàn)城市空氣質(zhì)量的實時監(jiān)測,可以有效獲取城市各采集點的多樣化空氣質(zhì)量數(shù)據(jù),然后對采集獲得的海量空氣質(zhì)量數(shù)據(jù)進行挖掘分析,以便根據(jù)歷史空氣質(zhì)量數(shù)據(jù)對未來空氣質(zhì)量數(shù)據(jù)進行預測,根據(jù)預測結(jié)果采取相應的管控措施,以便能夠優(yōu)化城市產(chǎn)業(yè)結(jié)構(gòu)和對城市污染排放進行有的放矢的管控.
在對城市空氣質(zhì)量預測時,需要對城市空氣質(zhì)量監(jiān)測的海量數(shù)據(jù)進行分析[1],在對大數(shù)據(jù)進行數(shù)據(jù)挖掘時,采用深度學習算法通過大量數(shù)據(jù)樣本訓練獲得需要的結(jié)果.近年來,采用深度學習算法對城市空氣質(zhì)量分析的研究較多,盧彬等[2]采用主成分分析算法與貝葉斯網(wǎng)絡相結(jié)合的方法來實現(xiàn)空氣質(zhì)量預測,可以獲得穩(wěn)定的空氣質(zhì)量分級結(jié)果,但對空氣質(zhì)量指數(shù)(air quality index,AQI)具體值預測未作說明.林開春等[3]采用隨機森林的方法實現(xiàn)城市空氣質(zhì)量預測,通過一系列的決策樹能夠?qū)崿F(xiàn)空氣質(zhì)量等級情況準確預測,但其預測效率并不高,且AQI值預測精度不高.考慮到空氣質(zhì)量預測是根據(jù)歷史時間段的空氣監(jiān)測數(shù)據(jù)經(jīng)過算法訓練后獲得的結(jié)果,有較強的時間跟蹤性,為了獲得準確的空氣質(zhì)量預測結(jié)果,需要對當前時間前的若干時間段進行分析處理,因此本文選擇了擅長處理時間序列訓練的循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network,RNN)算法來完成城市空氣質(zhì)量的預測.
城市空氣質(zhì)量預測的前提是需要獲得該城市空氣質(zhì)量歷史數(shù)據(jù),獲得城市實時準確的空氣質(zhì)量數(shù)據(jù)是研究的起點.在空氣質(zhì)量數(shù)據(jù)獲取時對空氣質(zhì)量監(jiān)測傳感器采用ZigBee的組網(wǎng)模式,可以有效降低硬件投入,并且完成多點采集的數(shù)據(jù)自行組網(wǎng)傳輸.
ZigBee網(wǎng)絡在工作時能夠完成自組網(wǎng),且實現(xiàn)網(wǎng)絡內(nèi)的數(shù)據(jù)流暢傳輸,其主要網(wǎng)絡結(jié)構(gòu)如圖1所示[4].
圖1 ZigBee結(jié)構(gòu)Fig.1 ZigBee structure
終端節(jié)點主要集成了空氣質(zhì)量傳感器和RF模塊的節(jié)點,終端節(jié)點的數(shù)據(jù)需要經(jīng)過路由節(jié)點傳輸至網(wǎng)關節(jié)點,然后通過網(wǎng)關節(jié)點統(tǒng)一打包后傳送至服務器.在組網(wǎng)時,終端節(jié)點既可以和路由節(jié)點相連,也可以和網(wǎng)關節(jié)點直接相連,在實際組網(wǎng)中,根據(jù)終端節(jié)點與路由和網(wǎng)關節(jié)點的位置分布來選擇路由[5],為了防止因路由節(jié)點故障而導致與之所連的終端節(jié)點數(shù)據(jù)上傳不了的問題,將路由節(jié)點相連,保證終端節(jié)點的數(shù)據(jù)有多條路由可達[6],確保數(shù)據(jù)均能上傳至服務器.
在完成了城市空氣質(zhì)量監(jiān)測的ZigBee布網(wǎng)之后,采用物聯(lián)網(wǎng)方法對空氣質(zhì)量數(shù)據(jù)進行監(jiān)測.通過ZigBee網(wǎng)獲得空氣質(zhì)量數(shù)據(jù),將數(shù)據(jù)傳送至后臺,進行大數(shù)據(jù)分析,可以統(tǒng)計城市空氣質(zhì)量階段詳細數(shù)據(jù),完成各種污染物在不同時間的定量分析,同時也可以根據(jù)歷史數(shù)據(jù)預測分析未來空氣質(zhì)量,根據(jù)分析結(jié)果采取應對策略,提高城市空氣質(zhì)量管理水平.
采用ZigBee的城市空氣質(zhì)量監(jiān)測分析主要結(jié)構(gòu)圖如圖2所示.
圖2 ZigBee組網(wǎng)空氣質(zhì)量監(jiān)測結(jié)構(gòu)[7]Fig.2 Air quality monitoring structure based on ZigBee network
在圖2所示ZigBee組網(wǎng)空氣質(zhì)量監(jiān)測結(jié)構(gòu)中,后臺分析中的預測分析功能模塊是整個系統(tǒng)的關鍵和難點.為了提高該模塊的預測準確率,提出采用循環(huán)神經(jīng)網(wǎng)絡(RNN)算法來完成城市空氣質(zhì)量的預測.
在神經(jīng)元形成過程中會將各個觸點獲取的數(shù)據(jù)進行加權并賦予一定偏置,設有n個觸點xi(i=1,2,…,n),神經(jīng)元形成的主要表示方式為
(1)
其中,wi(i=1,2,…,n)為各個觸點權重,b為常數(shù).
當神經(jīng)元經(jīng)過激勵后,其數(shù)學表達式為
(2)
在式(1)和式(2)的基礎上,RNN網(wǎng)絡隱藏層t時刻的輸出不僅取決于t時刻的輸入,還取決于t時刻前若干時刻的隱藏層輸出,令x和o分別為RNN的輸入與輸出,s為隱藏層激勵后的結(jié)果,其循環(huán)結(jié)構(gòu)如圖3所示.
圖3 RNN結(jié)構(gòu)Fig.3 RNN structure
圖3中U、V和W表示各層神經(jīng)元的連接權重矩陣,設樣本xt經(jīng)過隱藏層之后,結(jié)合前一時刻的隱藏層輸出,經(jīng)過激勵后為[8]
st=f(|U|xt+|W|st-1+ht).
(3)
式中f(·)和ht分別為隱藏層激勵和偏置.
s(t)經(jīng)過輸出層的g(·)激勵后,得到
ot=g(|V|st+bo).
(4)
式中偏置bo為偏置常量.
RNN的核心操作就是隱藏層輸出不斷循環(huán),通過這種循環(huán),利用歷史時間序列訓練當前數(shù)據(jù)樣本,ot的輸出與t時刻前的多個輸入有關[9].
設第k個節(jié)點的訓練輸出和實際標簽分別為yk和dk,則誤差項δk為[10]
δk=(dk-yk)yk(1-yk).
(5)
隱藏層節(jié)點j的誤差為
(6)
式中:hj表示輸出;Wjk為節(jié)點j到輸出層節(jié)點k的權重;K為輸出神經(jīng)元個數(shù).權重更新為
(7)
式中η為學習率.
偏置Δbk(n)的更新方式為
(8)
式中,α為偏置更新步長,一般α=1.調(diào)整后的權重為
wjk(n+1)=wjk(n)+Δwjk(n).
(9)
調(diào)整后的閾值為
bk(n+1)=bk(n)+Δbk(n).
(10)
通過式(11)~式(15)可以確定V和bo,按照此法繼續(xù)反向求解U,W表示當前時間序列對當前時刻的權重影響,可靈活設置,本文設置為參與計算的時間序列的倒數(shù).
所有節(jié)點的誤差E為
(11)
當E滿足設定的閾值,迭代停止,獲得穩(wěn)定的RNN模型.
在建立RNN的城市空氣質(zhì)量預測模型之前,需要對空氣質(zhì)量預測指標及參數(shù)進行分析,空氣質(zhì)量監(jiān)測對象主要為SO2、NO2、CO、O3、PM10和PM2.5,而空氣質(zhì)量標準一般用AQI表示,AQI的值與6種污染物的最大值有關,AQI的分級如表1所示.
表1 空氣質(zhì)量等級Table 1 Air quality grades
根據(jù)傳感器獲得的空氣質(zhì)量數(shù)據(jù),輸入至RNN網(wǎng)絡模型進行訓練,對獲得的訓練結(jié)果進行空氣質(zhì)量預測.
從ZigBee網(wǎng)絡中獲取城市空氣質(zhì)量組成各要素,數(shù)據(jù)初始化后傳送至RNN進行訓練,訓練過程中選取參與循環(huán)的時間序列個數(shù)為T,各時間序列的權重為1/T,設定AQI預測準確度閾值,當達到設定條件,獲得預測結(jié)果見圖4.
圖4 空氣質(zhì)量預測流程Fig.4 Air quality prediction process
為了驗證ZigBee和RNN深度學習在城市空氣質(zhì)量預測中的性能,選擇某市2019年10個監(jiān)測點ZigBee網(wǎng)絡搜集的共計1 891條空氣質(zhì)量數(shù)據(jù)作為仿真數(shù)據(jù)源,RNN訓練與測試樣本分別為1 791和100個.首先采用RNN對城市空氣質(zhì)量AQI進行仿真,其次采用常用空氣質(zhì)量預測算法和本文算法分別對數(shù)據(jù)樣本進行仿真,對比其預測性能.
先對1 791個樣本進行RNN訓練,根據(jù)訓練結(jié)束時獲得的穩(wěn)定RNN模型對100個測試樣本進行空氣質(zhì)量AQI值預測,其預測結(jié)果如圖5所示.
圖5 測試樣本實際AQI與預測對比Fig.5 Comparison of actual and predicted value of AQI of test samples
從圖5可以看出,100個測試樣本的實際AQI和預測AQI值大部分擬合效果好,只有個別樣本出現(xiàn)了較大偏差,編號為20、21和72的樣本AQI偏移較大,其他樣本AQI值差異較小.為了更加直觀地顯示預測AQI和實際AQI的差別,統(tǒng)計所有測試樣本的絕對誤差,結(jié)果如圖6所示.
圖6 測試樣本的預測絕對誤差Fig.6 Prediction absolute error of test sample
從圖6得,測試樣本的AQI最大絕對誤差為11;最小絕對誤差為0.其中AQI偏差為1的樣本數(shù)量最多,表明RNN算法對該城市大部分樣本的空氣質(zhì)量預測準確率高.從圖中可得AQI偏差達到10的樣本僅有3個,AQI的預測性能較穩(wěn)定.
應用BP神經(jīng)網(wǎng)絡[11]、深度置信網(wǎng)絡(dynamic bayesian network,DBN)[12]、卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)[13]等常用的空氣質(zhì)量預測算法和本文算法分別對該城市AQI預測準確率進行仿真,仿真結(jié)果如圖7和表2所示.
圖7 不同算法的AQI預測準確率Fig.7 AQI prediction accuracy of different algorithms
表2 不同算法的AQI預測誤差性能
由圖7可見,在AQI預測準確率方面,RNN性能最優(yōu),CNN算法次之,兩者的AQI預測準確率均超過了90%,BP神經(jīng)網(wǎng)絡算法最差;從AQI的預測時間來看,BP神經(jīng)網(wǎng)絡性能最優(yōu),65 s完成了收斂,RNN和DBN次之,CNN最差,大約需要75 s.
從表2可以看出,在平均絕對誤差(mean absolute error, MAE)和均方誤差(root mean square error, RMSE)性能方面,RNN最優(yōu),其次是CNN,RNN和CNN算法在預測誤差性能方面差異不大,BP神經(jīng)網(wǎng)絡算法表現(xiàn)最差.綜合對比可知,本文算法在AQI的預測性能方面適應度更高,綜合性能更優(yōu).
通過ZigBee組網(wǎng)采集的城市空氣質(zhì)量數(shù)據(jù)實現(xiàn)方式靈活簡單,通過ZigBee網(wǎng)絡獲得的城市空氣質(zhì)量數(shù)據(jù)樣本經(jīng)過RNN網(wǎng)絡訓練,獲得了較高的AQI預測準確率,預測誤差性能優(yōu).因此,RNN深度學習算法對城市空氣質(zhì)量預測適用度高,有一定推廣價值,后續(xù)研究將重點進行RNN網(wǎng)絡調(diào)參,以便進一步提高空氣質(zhì)量預測的穩(wěn)定性.