王 健,宋 穎,吳 濤
(1.安徽大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,安徽 合肥 230031;2.安徽大學(xué) 計(jì)算智能與信號(hào)處理教育部重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230039)
PM2.5作為大氣中的一種細(xì)小顆粒物,具有粒徑小、面積大、毒性強(qiáng)的特點(diǎn),嚴(yán)重威脅著人們的健康。近年來(lái),國(guó)家不斷加大各項(xiàng)環(huán)境治理措施,PM2.5治理已取得很好的效果,霧霾天氣已少有發(fā)生,但未來(lái)PM2.5的治理仍任重而道遠(yuǎn)。因此,對(duì)未來(lái)PM2.5的變化進(jìn)行預(yù)測(cè)與模擬尤為重要。
當(dāng)前,空氣質(zhì)量預(yù)測(cè)模型主要有兩種類型,一種是基于大氣動(dòng)力學(xué)的數(shù)值預(yù)報(bào)模型,即基于大氣內(nèi)部運(yùn)動(dòng)的物理規(guī)律,通過(guò)污染源、化學(xué)動(dòng)力學(xué)等相關(guān)知識(shí),建立起空氣污染濃度預(yù)測(cè)的動(dòng)態(tài)模型,對(duì)大氣情況進(jìn)行模擬預(yù)測(cè)[1-2]。
另一種則是基于統(tǒng)計(jì)學(xué)、機(jī)器學(xué)習(xí)等方法,利用已有的數(shù)據(jù),從數(shù)據(jù)中挖掘其中所蘊(yùn)含的數(shù)理規(guī)律,建立預(yù)測(cè)模型,實(shí)現(xiàn)對(duì)未來(lái)情況的預(yù)測(cè)。常用的統(tǒng)計(jì)方法與機(jī)器學(xué)習(xí)方法有多元線性回歸[3]、ARIMA[4]、支持向量回歸[5]等等。而隨著深度學(xué)習(xí)的快速發(fā)展,神經(jīng)網(wǎng)絡(luò)得到了各個(gè)行業(yè)的關(guān)注。由于神經(jīng)網(wǎng)絡(luò)在擬合非線性關(guān)系上的優(yōu)越性,也被廣泛應(yīng)用于空氣質(zhì)量預(yù)測(cè)當(dāng)中。常見(jiàn)的網(wǎng)絡(luò)結(jié)構(gòu)有BP神經(jīng)網(wǎng)絡(luò)[6]、卷積神經(jīng)網(wǎng)絡(luò)[7]、循環(huán)神經(jīng)網(wǎng)絡(luò)[8]及其相關(guān)變種LSTM[9-10]等,并通過(guò)神經(jīng)網(wǎng)絡(luò),建立了相應(yīng)霧霾預(yù)警系統(tǒng)[11]。在污染物預(yù)測(cè)建模過(guò)程中,通過(guò)歷史污染物數(shù)據(jù),對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,建立相應(yīng)的網(wǎng)絡(luò)預(yù)測(cè)模型,取得了不錯(cuò)的效果。
同時(shí),為了進(jìn)一步提高預(yù)測(cè)的準(zhǔn)確率,很多學(xué)者通過(guò)時(shí)空變化的規(guī)律進(jìn)行分析建模,提高原有預(yù)測(cè)模型精度。例如:空間方面,李燚航[12]通過(guò)引入歷史風(fēng)場(chǎng)數(shù)據(jù),將離散的PM2.5插值成網(wǎng)格圖的形式,然后使用U-net網(wǎng)絡(luò)對(duì)未來(lái)時(shí)刻進(jìn)行預(yù)測(cè),提高了對(duì)PM2.5的突變情況的預(yù)測(cè)能力;宋飛揚(yáng)[13]通過(guò)KNN算法為所需預(yù)測(cè)的站點(diǎn)選取與其相關(guān)的空間相鄰站點(diǎn),得到其空間特征,再對(duì)目標(biāo)站點(diǎn)建立LSTM預(yù)測(cè)模型,以達(dá)到對(duì)空間影響因素的利用。
時(shí)間方面,張怡文[14]通過(guò)對(duì)不同的季節(jié)分別進(jìn)行建模的方式,通過(guò)季節(jié)性預(yù)測(cè)方法提高了預(yù)測(cè)準(zhǔn)確率;蔣洪迅等人[15]通過(guò)序列分解的思路,分解為若干子序列,提取出不同時(shí)間尺度的周期序列,再利用LSTM網(wǎng)絡(luò)對(duì)各子序列進(jìn)行預(yù)測(cè)得到預(yù)測(cè)值,使得預(yù)測(cè)精度得到了提升;Wang等人[16]采用的基于區(qū)間值的二元分解與最優(yōu)組合集成的學(xué)習(xí)方法,將日均值濃度轉(zhuǎn)變?yōu)閰^(qū)間數(shù),并將不同年份的同季節(jié)數(shù)據(jù)進(jìn)行重構(gòu),采用二元經(jīng)驗(yàn)分解對(duì)序列進(jìn)行分解,再利用區(qū)間多層感知機(jī)進(jìn)行預(yù)測(cè),使得預(yù)測(cè)精度有所上升。
該文主要從時(shí)間方面入手,首先選擇了對(duì)序列數(shù)據(jù)預(yù)測(cè)表現(xiàn)較好的長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(LSTM)作為初步預(yù)測(cè)模型,完成多因素影響下PM2.5的初步預(yù)測(cè)。然后利用PM2.5濃度變化所具有的季節(jié)性與周期性,探索相鄰年份歷史預(yù)測(cè)誤差分布特點(diǎn)。通過(guò)模糊聚類的方法,分析比較當(dāng)前數(shù)據(jù)與歷史數(shù)據(jù)的相似性,對(duì)當(dāng)前預(yù)測(cè)數(shù)據(jù)的預(yù)測(cè)誤差進(jìn)行估計(jì),并做出相應(yīng)的誤差補(bǔ)償,以提高當(dāng)前預(yù)測(cè)結(jié)果的準(zhǔn)確性。
LSTM神經(jīng)網(wǎng)絡(luò)[17]大體結(jié)構(gòu)與傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)相同,主要為了解決長(zhǎng)時(shí)間序列問(wèn)題中的梯度爆炸和梯度消失的問(wèn)題,在神經(jīng)網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)中引入了“記憶細(xì)胞(cell state)”這一概念。LSTM單元中存在三個(gè)門控單元,即遺忘門、輸入門、輸出門。這三種門控單元均為非線性單元,其中遺忘門決定了從上一個(gè)狀態(tài)中舍棄什么信息,即遺忘階段;輸入門決定了當(dāng)前狀態(tài)保存什么信息,即選擇記憶階段;而輸出門決定了從記憶細(xì)胞中輸出什么信息,即輸出階段。相關(guān)計(jì)算公式與網(wǎng)絡(luò)結(jié)構(gòu)(見(jiàn)圖1)如下:
圖1 LSTM網(wǎng)絡(luò)結(jié)構(gòu)
遺忘門:
ft=σ(Wf·[ht-1,xt]+bf)
(1)
輸入門:
it=σ(Wi·[ht-1,xt]+bi)
(2)
Ct=tanh(WC·[ht-1,xt]+bC)
(3)
(4)
輸出門:
ot=σ(W0[ht-1,xt]+b0)
(5)
ht=ot*tanh(Ct)
(6)
傳統(tǒng)的聚類分析是一種硬劃分,即劃分事物即是非此即彼的特性,而模糊聚類則采用的是一種軟劃分的方式,通過(guò)賦予每個(gè)樣本點(diǎn)隸屬度的方式,來(lái)衡量每個(gè)樣本對(duì)每個(gè)類的影響,可以更好地衡量數(shù)據(jù)對(duì)所在類的影響?,F(xiàn)假定有一個(gè)數(shù)據(jù)集,若把這些數(shù)據(jù)劃分為c類,那么對(duì)應(yīng)的就有c個(gè)聚類中心Ci(i=1,2,…,N),每個(gè)樣本屬于某一類的隸屬度為uij,定義一個(gè)FCM目標(biāo)函數(shù)(7)及約束條件(8)。
(7)
(8)
式中,uij∈(0,1),表示第j個(gè)數(shù)據(jù)對(duì)第i個(gè)類的隸屬度。通過(guò)不斷迭代,使式(7)取得最小值,從而確定聚類中心Ci和每個(gè)樣本點(diǎn)對(duì)應(yīng)聚類中心的隸屬度uij:
(9)
(10)
下面對(duì)該文所使用的算法進(jìn)行介紹,具體流程如下:
步驟1:將收集的數(shù)據(jù)集T的數(shù)據(jù)進(jìn)行max-min歸一化。對(duì)完整年度將數(shù)據(jù)集進(jìn)行分割,分割成三個(gè)部分,用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練的歷史訓(xùn)練數(shù)據(jù)T1;用于模糊聚類實(shí)驗(yàn)的測(cè)試集T2;用于誤差補(bǔ)償后驗(yàn)證效果的驗(yàn)證集T3。并設(shè)置輸入LSTM網(wǎng)絡(luò)的數(shù)據(jù)窗口寬度為w。
步驟3:將測(cè)試集T2與誤差數(shù)據(jù)e組成新的數(shù)據(jù)集(T2,e),并對(duì)數(shù)據(jù)集(T2,e)進(jìn)行FCM模糊聚類。確定聚類中心L1(i)={c1,c2,…,ck},其中ci=(xi1,xi2,…,xim,ei)。
具體算法流程如圖2所示。
圖2 基于LSTM網(wǎng)絡(luò)和FCM誤差補(bǔ)償?shù)腜M2.5預(yù)測(cè)模型
該文所使用的數(shù)據(jù)集為2017年1月1日至2021年12月31日安徽省合肥市的PM2.5、PM10、SO2、CO、NO2、O3這六種空氣污染物日均值濃度數(shù)據(jù)(其中CO數(shù)據(jù)單位mg/m3,其余數(shù)據(jù)單位均為μg/m3),共收集數(shù)據(jù)1 825條。為充分利用PM2.5變化的周期性,分割數(shù)據(jù)集時(shí),將前三年共計(jì)1 095條數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的歷史訓(xùn)練集T1,用于訓(xùn)練神經(jīng)網(wǎng)絡(luò);將數(shù)據(jù)集的第四年,即第1 096條至1 461條共計(jì)365條作為測(cè)試集T2,用于歷史預(yù)測(cè)誤差的模糊聚類實(shí)驗(yàn);數(shù)據(jù)集的第五年,即第1 462條數(shù)據(jù)到1 825條數(shù)據(jù)T3作為經(jīng)過(guò)誤差補(bǔ)償后的驗(yàn)證集,驗(yàn)證該方法的效果與可行性。
通過(guò)繪制PM2.5的濃度時(shí)序變化圖(見(jiàn)圖3),可以看出PM2.5的變化具有周期性,存在“秋冬高,春夏低”的現(xiàn)象,并且相鄰兩年之間PM2.5濃度的分布具有相似性。此外還可以看出五年的PM2.5濃度變化總體有一定的下降趨勢(shì),并且單日PM2.5含量激增的情況也大大減少,猜測(cè)應(yīng)該與國(guó)家環(huán)境相關(guān)治理有關(guān),城市整體空氣質(zhì)量正在逐年提高。
圖3 PM2.5濃度時(shí)序變化
對(duì)該文所使用數(shù)據(jù)集的五種與PM2.5相關(guān)的污染因子進(jìn)行Pearson相關(guān)因子檢驗(yàn),檢驗(yàn)結(jié)果表明,PM2.5與PM10、CO有較強(qiáng)的正相關(guān)性,與NO2、SO2存在相關(guān)性,而與O3呈現(xiàn)一定的負(fù)相關(guān)性,說(shuō)明了所選PM2.5影響因子的合理性。具體分析結(jié)果如表1所示。
表1 Pearson相關(guān)因子分析
(1)缺失數(shù)據(jù)填補(bǔ)。
由于收集的數(shù)據(jù)存在少量缺失值,且污染物的變化存在一定的趨勢(shì)性,而線性插值可以對(duì)趨勢(shì)性的數(shù)據(jù)進(jìn)行很好的補(bǔ)充,故采用線性插值的方式對(duì)缺失的數(shù)據(jù)值進(jìn)行合理填補(bǔ)。
(2)數(shù)據(jù)歸一化。
為了提高神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中的收斂速度和模型準(zhǔn)確率,以及各污染物由于量綱不同對(duì)數(shù)據(jù)聚類所產(chǎn)生的影響,而max-min歸一化處理可以有效解決這些問(wèn)題,故對(duì)數(shù)據(jù)進(jìn)行max-min歸一化處理,使得數(shù)據(jù)范圍為[0,1]。
(3)數(shù)據(jù)滑動(dòng)窗口化處理。
在使用LSTM神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)時(shí),需要將時(shí)序型數(shù)據(jù)轉(zhuǎn)化為監(jiān)督型數(shù)據(jù),建立一個(gè)輸入X、輸出Y的映射關(guān)系,而神經(jīng)網(wǎng)絡(luò)則是學(xué)習(xí)X到Y(jié)的模式,故需將數(shù)據(jù)處理為適合網(wǎng)絡(luò)的輸入形式。所以采用滑動(dòng)窗口的方式建立這種映射關(guān)系,具體處理方式如下:
其中,yp,q為待預(yù)測(cè)第p天的PM2.5真實(shí)值。
該文基于深度學(xué)習(xí)keras框架,搭建LSTM神經(jīng)網(wǎng)絡(luò)作為初步預(yù)測(cè)模型。在神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練之前,需要對(duì)神經(jīng)網(wǎng)絡(luò)的超參數(shù)進(jìn)行設(shè)置,所使用的LSTM網(wǎng)絡(luò)超參數(shù)具體設(shè)置如下:兩層LSTM,節(jié)點(diǎn)數(shù)分別為128和64;一層全連接層,節(jié)點(diǎn)數(shù)為32;訓(xùn)練所使用的損失函數(shù)為MSE(均方誤差),優(yōu)化器采用Adam優(yōu)化器,batchsize設(shè)置為64。為了防止網(wǎng)絡(luò)過(guò)擬合,在每個(gè)LSTM層后,設(shè)置丟棄率dropout為0.2。
在滑動(dòng)窗口處理的過(guò)程中,不同的窗口大小會(huì)對(duì)實(shí)驗(yàn)結(jié)果造成影響。經(jīng)多次實(shí)驗(yàn),確定了最佳窗口大小,窗口大小為3。
評(píng)估指標(biāo)選用均方根誤差(RMSE)、平均絕對(duì)誤差(MAE),具體公式如下:
2.5.1 LSTM初步預(yù)測(cè)結(jié)果分析
使用LSTM網(wǎng)絡(luò)對(duì)測(cè)試集數(shù)據(jù)進(jìn)行預(yù)測(cè),對(duì)一年中不同的時(shí)間段的誤差進(jìn)行誤差統(tǒng)計(jì),并繪制相鄰年間的誤差時(shí)序變化圖,具體結(jié)果如表2所示。
表2 一年不同時(shí)間段誤差統(tǒng)計(jì)
通過(guò)表2,可知一年間不同時(shí)間段的誤差分布不均勻,表現(xiàn)為年初和年末誤差較大,年中誤差較小,這個(gè)特點(diǎn)也可以在圖4中得到體現(xiàn)。由圖4可知,相鄰年間誤差分布具有相似性,且PM2.5變化具有季節(jié)性,故推斷,相似數(shù)據(jù)的誤差分布是相似的。
圖4 相鄰年份預(yù)測(cè)誤差變化
2.5.2 預(yù)測(cè)結(jié)果與誤差
由2.5.1節(jié)的結(jié)論,對(duì)測(cè)試集及對(duì)應(yīng)誤差組成的數(shù)據(jù)集進(jìn)行FCM模糊聚類。利用聚類中心,對(duì)驗(yàn)證集數(shù)據(jù)進(jìn)行分類。根據(jù)分類結(jié)果,對(duì)屬于不同類的預(yù)測(cè)數(shù)據(jù)進(jìn)行相應(yīng)的誤差補(bǔ)償,得到最終預(yù)測(cè)結(jié)果。并與其他的實(shí)驗(yàn)方法進(jìn)行對(duì)比,結(jié)果如表3所示。
表3 實(shí)驗(yàn)預(yù)測(cè)誤差結(jié)果
由表3可知,經(jīng)過(guò)誤差修正后的預(yù)測(cè)結(jié)果相較于其他對(duì)比的實(shí)驗(yàn)方法,效果最佳,從而驗(yàn)證了該方法的有效性。相關(guān)預(yù)測(cè)結(jié)果如圖5所示。
圖5 全年P(guān)M2.5預(yù)測(cè)結(jié)果
使用合肥2017年1月1日至2021年12月31日的空氣質(zhì)量六因子的日均值數(shù)據(jù)進(jìn)行了PM2.5的濃度預(yù)測(cè)。實(shí)驗(yàn)過(guò)程中,首先對(duì)少量缺失數(shù)據(jù)進(jìn)行了線性插值填補(bǔ),并進(jìn)行歸一化處理。歸一化后,對(duì)數(shù)據(jù)集進(jìn)行滑動(dòng)窗口化處理,處理成適合LSTM神經(jīng)網(wǎng)絡(luò)輸入的滑動(dòng)窗口數(shù)據(jù),并完成LSTM網(wǎng)絡(luò)的訓(xùn)練以及初步預(yù)測(cè)。通過(guò)實(shí)驗(yàn),發(fā)現(xiàn)PM2.5預(yù)測(cè)誤差存在相鄰年份誤差分布相似,但整年誤差分布不均勻,呈現(xiàn)出年初、年末誤差較大,而年中誤差較小。
根據(jù)此特點(diǎn),采用了FCM對(duì)測(cè)試集數(shù)據(jù)進(jìn)行聚類。根據(jù)聚類結(jié)果對(duì)驗(yàn)證集分類,并根據(jù)聚類中心做出相應(yīng)的誤差補(bǔ)償。最終實(shí)驗(yàn)結(jié)果表明,均方根誤差(RMSE)與絕對(duì)平均誤差(MAE)均得到了降低,總體取得了不錯(cuò)的效果。
但仍存在很多不足。在研究初期,僅對(duì)污染因子進(jìn)行了相關(guān)性分析,驗(yàn)證了所選特征之間所具有相關(guān)性,并未對(duì)諸如風(fēng)速、風(fēng)壓等氣象因子進(jìn)行分析和考慮。
在模糊聚類方面,通過(guò)模糊聚類確定當(dāng)前數(shù)據(jù)與歷史預(yù)測(cè)數(shù)據(jù)相似的部分,利用對(duì)應(yīng)類的聚類中心作為誤差補(bǔ)償值,可以對(duì)LSTM初步預(yù)測(cè)結(jié)果進(jìn)行很好的補(bǔ)償。但由于誤差存在正負(fù),聚類并不能很好區(qū)分誤差的正負(fù),可以在接下來(lái)的研究中考慮如何確定誤差的方向,以進(jìn)一步提高預(yù)測(cè)精度。
時(shí)間因素方面,本次實(shí)驗(yàn)采用的為城市的日均值數(shù)據(jù),而天氣情況具有實(shí)時(shí)性,若將數(shù)據(jù)更換為以小時(shí)為單位的數(shù)據(jù),則模型的預(yù)測(cè)精度應(yīng)該會(huì)更好,并更具有實(shí)際意義。在后續(xù)的研究中,可以針對(duì)以上問(wèn)題進(jìn)行一定的改進(jìn),取得更好的預(yù)測(cè)效果。