郭昆鵬,祁柏林,劉首正,馮曉宇
1(中國(guó)科學(xué)院大學(xué),北京 100049) 2(中國(guó)科學(xué)院 沈陽(yáng)計(jì)算技術(shù)研究所,沈陽(yáng) 110168) 3(遼寧省環(huán)境監(jiān)測(cè)協(xié)會(huì),沈陽(yáng) 110161) 4(遼寧省沈陽(yáng)生態(tài)環(huán)境監(jiān)測(cè)中心,沈陽(yáng) 110000)
近年來(lái),我國(guó)對(duì)于環(huán)境污染治理的重視程度在逐年提高,一些地區(qū)已經(jīng)開(kāi)始采用空氣質(zhì)量網(wǎng)格化監(jiān)測(cè)技術(shù)來(lái)加強(qiáng)對(duì)當(dāng)?shù)氐目諝赓|(zhì)量的污染管控.空氣質(zhì)量網(wǎng)格化監(jiān)測(cè)與傳統(tǒng)的監(jiān)測(cè)手段相比,最大的優(yōu)勢(shì)在于:網(wǎng)格化監(jiān)測(cè)技術(shù)可以擺脫傳統(tǒng)監(jiān)測(cè)方案中的監(jiān)測(cè)點(diǎn)位固定的限制,在監(jiān)測(cè)區(qū)域內(nèi)對(duì)空氣質(zhì)量進(jìn)行更細(xì)粒度的監(jiān)測(cè)[1].由于網(wǎng)格化監(jiān)測(cè)的監(jiān)測(cè)粒度更小,所以相比于傳統(tǒng)的監(jiān)測(cè)手段,網(wǎng)格化監(jiān)測(cè)也能獲取更多的數(shù)據(jù),但是由于網(wǎng)格化監(jiān)測(cè)采用的是便攜的傳感器式微型監(jiān)測(cè)站,而這種便攜的微型監(jiān)測(cè)站對(duì)于突發(fā)環(huán)境因素的抵抗能力要相比于傳統(tǒng)的定點(diǎn)標(biāo)準(zhǔn)監(jiān)測(cè)站要弱,所以一些突發(fā)的因素會(huì)導(dǎo)致一段時(shí)間內(nèi)的監(jiān)測(cè)數(shù)據(jù)缺失,而這種數(shù)據(jù)缺失無(wú)疑會(huì)對(duì)相關(guān)研究人員在進(jìn)行空氣質(zhì)量的監(jiān)測(cè)數(shù)據(jù)的數(shù)據(jù)挖掘和分析時(shí)造成一定的阻礙.
原始數(shù)據(jù)缺失是一種在數(shù)據(jù)挖掘和數(shù)據(jù)分析中常見(jiàn)且難以避免的問(wèn)題,而且大多數(shù)數(shù)據(jù)缺失問(wèn)題都會(huì)影響到數(shù)據(jù)分析的最終結(jié)果[2,3].所以,研究人員在進(jìn)行數(shù)據(jù)分析相關(guān)的研究時(shí),缺失數(shù)據(jù)的處理也是一個(gè)不可避免的過(guò)程,常見(jiàn)的缺失數(shù)據(jù)處理手段分為兩種,一種是直接將原始數(shù)據(jù)中標(biāo)記為數(shù)據(jù)缺失的記錄刪除,但這種刪除缺失值的方法只適用于具備大量原始數(shù)據(jù)而且缺失數(shù)據(jù)在原始數(shù)據(jù)中的占比很小的情況.另一種缺失數(shù)據(jù)的處理手段是通過(guò)對(duì)缺失數(shù)據(jù)進(jìn)行估算從而對(duì)缺失數(shù)據(jù)進(jìn)行填補(bǔ)[4-6].
近年來(lái),隨著在缺失數(shù)據(jù)處理方面的研究不斷深入,一些在缺失數(shù)據(jù)處理方面表現(xiàn)良好的方案不斷的被提出.針對(duì)于在缺失數(shù)據(jù)填補(bǔ)的傳統(tǒng)方法KNN算法中所暴露出的易受噪聲影響的問(wèn)題,解小東等人提出了基于KNN-DBSCAN的數(shù)據(jù)填補(bǔ)方案.KNN-DBSCAN算法可以在進(jìn)行聚類前盡量的消除數(shù)據(jù)噪聲因素的影響,從而達(dá)到一個(gè)更好的填補(bǔ)效果[7].為了解決具備混合屬性的缺失數(shù)據(jù)填補(bǔ)問(wèn)題,劉思謙等人提出了一種混雜的多核估計(jì)數(shù)據(jù)填補(bǔ)算法,算法采用了具備修正線性單元的深度置信網(wǎng)絡(luò)來(lái)提取缺失數(shù)據(jù)的特征,進(jìn)而構(gòu)建了一個(gè)估計(jì)器來(lái)對(duì)缺失數(shù)據(jù)進(jìn)行估計(jì)填補(bǔ).來(lái)自大連海事大學(xué)的賈世康同學(xué)在分析了公交客流缺失數(shù)據(jù)的特征后提出了一種基于NN-DSAE(鄰域-降噪堆疊自編碼器)組合模型的缺失數(shù)據(jù)填補(bǔ)方法,NN-DSAE算法通過(guò)對(duì)公交客流數(shù)據(jù)的分析縮小了缺失值的鄰域范圍,然后利用改進(jìn)后的鄰域范圍和自編碼器得到更加精準(zhǔn)有效的填補(bǔ)值[8].張穎等人受到生成對(duì)抗網(wǎng)絡(luò)(GAN)在圖像生成方面的良好表現(xiàn)的啟發(fā),基于GAN網(wǎng)絡(luò)提出了一種表現(xiàn)良好的端到端的缺失數(shù)據(jù)估計(jì)模型[9].
然而以往對(duì)于缺失數(shù)據(jù)填補(bǔ)方面的研究大致可以分為兩種填補(bǔ)思想,一種是分析缺失數(shù)據(jù)鄰域數(shù)據(jù)的統(tǒng)計(jì)特征,然后采用可以表示這種特征的數(shù)據(jù)進(jìn)行填補(bǔ).使用均值,眾數(shù),和聚類進(jìn)行填補(bǔ)的算法都是采用了這種缺失數(shù)據(jù)填補(bǔ)的思想.另一種缺失數(shù)據(jù)的填補(bǔ)方式是分析數(shù)據(jù)的整體變化特征,例如使用LSTM網(wǎng)絡(luò)來(lái)對(duì)缺失數(shù)據(jù)進(jìn)行填補(bǔ),使用這種填補(bǔ)方案的數(shù)據(jù)大多具有時(shí)序特征.本文為了能夠得到在網(wǎng)格化監(jiān)測(cè)中微型監(jiān)測(cè)站的空氣質(zhì)量監(jiān)測(cè)數(shù)據(jù)出現(xiàn)缺失時(shí)更好的數(shù)據(jù)填補(bǔ)效果,在單向分析數(shù)據(jù)整體變化特征從而進(jìn)行數(shù)據(jù)填補(bǔ)的思想的基礎(chǔ)上提出了一種利用改進(jìn)GRU并且基于空氣質(zhì)量監(jiān)測(cè)數(shù)據(jù)的雙向特征的空氣質(zhì)量缺失數(shù)據(jù)的填補(bǔ)算法.并且在沈陽(yáng)市的3個(gè)空氣質(zhì)量監(jiān)測(cè)微站的多種空氣污染物濃度數(shù)據(jù)上進(jìn)行實(shí)驗(yàn)驗(yàn)證.
門控循環(huán)單元(Gated Recurrent Unit,GRU)是長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(Long short-term memory,LSTM)的一種高效率的簡(jiǎn)化變種,是由Junyoung Chung等人在2015年的國(guó)際機(jī)器學(xué)習(xí)大會(huì)上首次提出[10].GRU將LSTM的結(jié)構(gòu)進(jìn)行精簡(jiǎn),將LSTM原來(lái)的3種門結(jié)構(gòu)改變?yōu)閺?fù)位門和更新門的結(jié)構(gòu),這在保留LSTM的特性的同時(shí),大大的提高了網(wǎng)絡(luò)的訓(xùn)練速度.
GRU的輸入輸出結(jié)構(gòu)與RNN類似,但是GRU的內(nèi)部結(jié)構(gòu)與傳統(tǒng)的RNN具備很大的不同,GRU的具體結(jié)構(gòu)如圖1所示.
圖1 GRU結(jié)構(gòu)Fig.1 GRU structure
rt=σ(Wr[ht-1,Xt]+br)
(1)
(2)
zt=σ(Wz[ht-1,Xt]+bz)
(3)
(4)
本文要解決的空氣質(zhì)量數(shù)據(jù)缺失補(bǔ)充問(wèn)題可以描述為:使用當(dāng)前缺失的m組數(shù)據(jù)[Xk…Xk+m-1]的前n組空氣質(zhì)量數(shù)據(jù)[Xk-n…Xk-1]和后n組空氣質(zhì)量數(shù)據(jù)[Xk+m+1…Xk+m+n]來(lái)對(duì)當(dāng)前的缺失的m組數(shù)據(jù)進(jìn)行補(bǔ)充.計(jì)算公式如式(5)所示.
(5)
公式(5)中的F表示本文提出的基于雙向GRU的空氣質(zhì)量數(shù)據(jù)缺失補(bǔ)充模型.
為提高缺失數(shù)據(jù)補(bǔ)充模型的補(bǔ)充效果和縮短訓(xùn)練時(shí)的所需的時(shí)長(zhǎng),在將實(shí)驗(yàn)數(shù)據(jù)輸入到缺失數(shù)據(jù)補(bǔ)充模型之前,首先需要對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行預(yù)處理.其中數(shù)據(jù)預(yù)處理主要分為3步:首先對(duì)不同監(jiān)測(cè)站點(diǎn)的不同空氣污染物濃度數(shù)據(jù)按照公式(6)進(jìn)行歸一化處理,將原始數(shù)據(jù)映射到[0,1]的區(qū)間之中;然后使用算法1數(shù)據(jù)集劃分算法所描述的方式將歸一化后的數(shù)據(jù)按照訓(xùn)練集:驗(yàn)證集:測(cè)試集7∶1∶2的比例進(jìn)行數(shù)據(jù)集劃分,最后將數(shù)據(jù)集按照訓(xùn)練所需的batch大小隨機(jī)抽取為可以輸入到缺失數(shù)據(jù)補(bǔ)充模型的數(shù)據(jù)塊.
(6)
算法1.數(shù)據(jù)集劃分算法
輸入:原始的空氣污染物濃度數(shù)據(jù)P∈RN×N,待補(bǔ)充的缺失數(shù)據(jù)的長(zhǎng)度s,正向GRU的時(shí)序數(shù)t1,反向GRU的時(shí)序數(shù)t2,訓(xùn)練集的占比r1,驗(yàn)證集的占比r2,測(cè)試集的占比r3,(r1+r2+r3=1)
輸出:劃分完成的訓(xùn)練集train,驗(yàn)證集valid和測(cè)試集test
1. 將空氣中污染物的原始數(shù)據(jù)P按照不同的監(jiān)測(cè)站,不同的空氣中污染物種類劃分為P1,P2,…Pw
/*w=h×j,其中h表示有h個(gè)微型監(jiān)測(cè)站點(diǎn),j表示每個(gè)監(jiān)測(cè)站點(diǎn)有j種需要進(jìn)行缺失數(shù)據(jù)填補(bǔ)的空氣污染物*/
2. 對(duì)P1,P2,…Pw使用公式(6)進(jìn)行歸一化處理
3. for i≤w do
4. for[xt-t1…xt-1,xt…xt+s-1,xt+s…xt+s+t2-1]∈Pi
5. Xp←[xt-t1…xt-1]
6. Xr←[xt+s+t2-1…xt+s]
8. t←t+1
9. end
10. i←i+1
11. end
12. 按照r1∶r2∶r3的比例將數(shù)據(jù)集D1…Dw劃分為訓(xùn)練集train,驗(yàn)證集valid和測(cè)試集test
13. 返回劃分完成的數(shù)據(jù)集
融合雙向GRU的缺失數(shù)據(jù)補(bǔ)充模型的具體結(jié)構(gòu)如圖2所示.
圖2 融合雙向GRU的缺失數(shù)據(jù)補(bǔ)充模型Fig.2 Missing data supplement model fusing bidirectional GRU
圖2中的模型結(jié)構(gòu)主要包括3個(gè)部分,分別是:正向GRU網(wǎng)絡(luò),反向GRU網(wǎng)絡(luò)和線性回歸網(wǎng)絡(luò).其中的正向GRU網(wǎng)絡(luò)和反向GRU網(wǎng)絡(luò)具備相同的結(jié)構(gòu),正向GRU網(wǎng)絡(luò)是用來(lái)學(xué)習(xí)缺失數(shù)據(jù)之前時(shí)序的空氣質(zhì)量數(shù)據(jù)的變化規(guī)律,然后通過(guò)缺失的m組數(shù)據(jù)之前的n組數(shù)據(jù)來(lái)產(chǎn)生缺失數(shù)據(jù)的候選補(bǔ)充結(jié)果;反向GRU是通過(guò)學(xué)習(xí)缺失數(shù)據(jù)之后時(shí)序的空氣質(zhì)量數(shù)據(jù)的退化規(guī)律,然后通過(guò)n組缺失數(shù)據(jù)之后時(shí)序的數(shù)據(jù)來(lái)產(chǎn)生當(dāng)前缺失數(shù)據(jù)的候選補(bǔ)充結(jié)果.數(shù)據(jù)補(bǔ)充模型最后使用一個(gè)線性回歸網(wǎng)絡(luò)來(lái)綜合正向GRU和反向GRU的候選結(jié)果并產(chǎn)生最終的缺失數(shù)據(jù)補(bǔ)充結(jié)果.
為驗(yàn)證本文提出的空氣質(zhì)量數(shù)據(jù)缺失補(bǔ)充模型的效果,實(shí)驗(yàn)選取了沈陽(yáng)市渾南區(qū)的第三熱源廠微型監(jiān)測(cè)站,金陽(yáng)大街微型監(jiān)測(cè)站和白塔河二路微型監(jiān)測(cè)站這3個(gè)不同區(qū)域的空氣質(zhì)量監(jiān)測(cè)站一個(gè)月的NO2,O3和SO2這3種空氣中常見(jiàn)的空氣污染物濃度作為實(shí)驗(yàn)數(shù)據(jù).實(shí)驗(yàn)中選取的3個(gè)監(jiān)測(cè)站點(diǎn)的位置如圖3所示.
圖3 監(jiān)測(cè)站點(diǎn)位置Fig.3 Location of monitoring station
本文實(shí)驗(yàn)所采用的硬件配置為:Intel(R) Core(TM) i5-1035G1 CPU@1.0GHz的處理器,內(nèi)存DDR4(16G);軟件環(huán)境為:編輯器Pycharm2019.3.2,Python3.7,Pytorch1.5.
為驗(yàn)證本文提出的基于雙向GRU的數(shù)據(jù)缺失補(bǔ)充模型對(duì)于缺失數(shù)據(jù)的補(bǔ)充效果,實(shí)驗(yàn)采用3個(gè)評(píng)價(jià)指標(biāo)來(lái)對(duì)模型進(jìn)行評(píng)價(jià).實(shí)驗(yàn)中所用的3種評(píng)價(jià)指標(biāo)分別是:均方根誤差(Root Mean Square Error,RMSE),平均絕對(duì)誤差(Mean Absolute Error,MAE)和相關(guān)系數(shù)R2.其中RMSE和MAE用于評(píng)價(jià)缺失數(shù)據(jù)的補(bǔ)充誤差,RMSE和MAE的值越小代表誤差越小,缺失數(shù)據(jù)補(bǔ)充效果越好;R2用來(lái)評(píng)價(jià)數(shù)據(jù)缺失的補(bǔ)充值代表真實(shí)缺失數(shù)據(jù)的能力,R2的值越大,代表模型的補(bǔ)充效果越好.RMSE,MAE和R2的計(jì)算公式如式(7-9)所示.
(7)
(8)
(9)
為了進(jìn)一步驗(yàn)證本文提出的模型對(duì)于空氣質(zhì)量數(shù)據(jù)缺失的補(bǔ)充效果,實(shí)驗(yàn)中將本文提出的數(shù)據(jù)缺失補(bǔ)充模型與基于正向GRU的空氣質(zhì)量數(shù)據(jù)缺失補(bǔ)充模型,基于逆向GRU的空氣質(zhì)量數(shù)據(jù)缺失補(bǔ)充模型和以往在空氣質(zhì)量數(shù)據(jù)缺失情況下常用的均值補(bǔ)插法,這3種數(shù)據(jù)缺失補(bǔ)充方法進(jìn)行對(duì)比.
不同模型對(duì)于空氣質(zhì)量數(shù)據(jù)缺失的補(bǔ)充效果對(duì)比如表1和圖4所示.表1是4種模型關(guān)于本文使用的3種評(píng)價(jià)指標(biāo)的對(duì)比,從表1中可以看出在大多數(shù)的情況下本文提出的融合雙向GRU的空氣質(zhì)量數(shù)據(jù)缺失補(bǔ)充模型(BiGRU)都可以取得優(yōu)于其他3種模型的補(bǔ)充效果,在RMSE上BiGRU相比于正向GRU模型(PGRU),逆向GRU模型(RGRU)和均值插補(bǔ)法分別下降3.99,3.99和6.76;在MAE上BiGRU相比于PBRU,RGRU和均值插補(bǔ)法下降2.71,2.72和5.28;在相關(guān)系數(shù)R2上BiGRU相比于PGRU,RGRU和均值插補(bǔ)法提高了0.14,0.15和0.28.由以上分析可以得出本文提出的BiGRU模型在空氣質(zhì)量數(shù)據(jù)缺失的補(bǔ)充效果上,相比于其他3種模型表現(xiàn)更優(yōu).
表1 不同模型下缺失數(shù)據(jù)填補(bǔ)實(shí)驗(yàn)結(jié)果對(duì)比Table 1 Comparison of missing data to fill experimental results under different models
圖4 不同模型的數(shù)據(jù)缺失補(bǔ)充效果對(duì)比Fig.4 Comparison of supplementing effects of missing data in different models
圖4也進(jìn)一步表明了BiGRU模型在微型監(jiān)測(cè)站的空氣質(zhì)量數(shù)據(jù)缺失中的填補(bǔ)效果更好的結(jié)果,在圖4中顯示了3個(gè)不同空氣質(zhì)量監(jiān)測(cè)站在3種不同的空氣污染物濃度方面由不同的缺失數(shù)據(jù)補(bǔ)充模型產(chǎn)生的補(bǔ)充結(jié)果與實(shí)際監(jiān)測(cè)值的對(duì)比曲線.其中圖4(a)是第三熱源場(chǎng)微型監(jiān)測(cè)站4種缺失數(shù)據(jù)補(bǔ)充算法在O3上的擬合結(jié)果,圖4(b)是4種算法在金陽(yáng)大街微型監(jiān)測(cè)站的NO2上擬合結(jié)果,圖4(c)是不同算法在白塔河二路微型監(jiān)測(cè)站的SO2上的擬合曲線.從圖4的3組擬合曲線中可以看出BiGRU在空氣質(zhì)量數(shù)據(jù)缺失的補(bǔ)充效果要優(yōu)于實(shí)驗(yàn)中其他3種的缺失數(shù)據(jù)補(bǔ)充算法.
本文針對(duì)如何在空氣質(zhì)量的監(jiān)測(cè)數(shù)據(jù)發(fā)生缺失的情況下補(bǔ)充缺失的監(jiān)測(cè)數(shù)據(jù)提出了一種融合雙向GRU的空氣質(zhì)量缺失補(bǔ)充算法.通過(guò)雙向的3層GRU網(wǎng)絡(luò)考慮了空氣質(zhì)量的監(jiān)測(cè)數(shù)據(jù)中缺失數(shù)據(jù)之前和之后的時(shí)序因素,來(lái)得到更加精準(zhǔn)的補(bǔ)充數(shù)據(jù).最后通過(guò)實(shí)驗(yàn)驗(yàn)證了算法的可行性,并且將BiGRU模型與基于正向GRU的PGRU模型,基于逆向GRU的RGRU模型還有以往經(jīng)常使用的均值插補(bǔ)法進(jìn)行對(duì)比,進(jìn)一步表明了文章中提出的模型在空氣質(zhì)量數(shù)據(jù)缺失補(bǔ)充方面效果更好.在未來(lái)的工作中將進(jìn)一步對(duì)BiGRU模型進(jìn)行優(yōu)化,探索更好的模型結(jié)構(gòu)來(lái)進(jìn)一步提高模型在數(shù)據(jù)缺失方面的補(bǔ)充效果.