王 健,宋 穎,吳 濤
(1.安徽大學 數學科學學院,安徽 合肥 230031;2.安徽大學 計算智能與信號處理教育部重點實驗室,安徽 合肥 230039)
PM2.5作為大氣中的一種細小顆粒物,具有粒徑小、面積大、毒性強的特點,嚴重威脅著人們的健康。近年來,國家不斷加大各項環境治理措施,PM2.5治理已取得很好的效果,霧霾天氣已少有發生,但未來PM2.5的治理仍任重而道遠。因此,對未來PM2.5的變化進行預測與模擬尤為重要。
當前,空氣質量預測模型主要有兩種類型,一種是基于大氣動力學的數值預報模型,即基于大氣內部運動的物理規律,通過污染源、化學動力學等相關知識,建立起空氣污染濃度預測的動態模型,對大氣情況進行模擬預測[1-2]。
另一種則是基于統計學、機器學習等方法,利用已有的數據,從數據中挖掘其中所蘊含的數理規律,建立預測模型,實現對未來情況的預測。常用的統計方法與機器學習方法有多元線性回歸[3]、ARIMA[4]、支持向量回歸[5]等等。而隨著深度學習的快速發展,神經網絡得到了各個行業的關注。由于神經網絡在擬合非線性關系上的優越性,也被廣泛應用于空氣質量預測當中。常見的網絡結構有BP神經網絡[6]、卷積神經網絡[7]、循環神經網絡[8]及其相關變種LSTM[9-10]等,并通過神經網絡,建立了相應霧霾預警系統[11]。在污染物預測建模過程中,通過歷史污染物數據,對網絡進行訓練,建立相應的網絡預測模型,取得了不錯的效果。
同時,為了進一步提高預測的準確率,很多學者通過時空變化的規律進行分析建模,提高原有預測模型精度。例如:空間方面,李燚航[12]通過引入歷史風場數據,將離散的PM2.5插值成網格圖的形式,然后使用U-net網絡對未來時刻進行預測,提高了對PM2.5的突變情況的預測能力;宋飛揚[13]通過KNN算法為所需預測的站點選取與其相關的空間相鄰站點,得到其空間特征,再對目標站點建立LSTM預測模型,以達到對空間影響因素的利用。
時間方面,張怡文[14]通過對不同的季節分別進行建模的方式,通過季節性預測方法提高了預測準確率;蔣洪迅等人[15]通過序列分解的思路,分解為若干子序列,提取出不同時間尺度的周期序列,再利用LSTM網絡對各子序列進行預測得到預測值,使得預測精度得到了提升;Wang等人[16]采用的基于區間值的二元分解與最優組合集成的學習方法,將日均值濃度轉變為區間數,并將不同年份的同季節數據進行重構,采用二元經驗分解對序列進行分解,再利用區間多層感知機進行預測,使得預測精度有所上升。
該文主要從時間方面入手,首先選擇了對序列數據預測表現較好的長短時記憶網絡(LSTM)作為初步預測模型,完成多因素影響下PM2.5的初步預測。然后利用PM2.5濃度變化所具有的季節性與周期性,探索相鄰年份歷史預測誤差分布特點。通過模糊聚類的方法,分析比較當前數據與歷史數據的相似性,對當前預測數據的預測誤差進行估計,并做出相應的誤差補償,以提高當前預測結果的準確性。
LSTM神經網絡[17]大體結構與傳統循環神經網絡結構相同,主要為了解決長時間序列問題中的梯度爆炸和梯度消失的問題,在神經網絡內部結構中引入了“記憶細胞(cell state)”這一概念。LSTM單元中存在三個門控單元,即遺忘門、輸入門、輸出門。這三種門控單元均為非線性單元,其中遺忘門決定了從上一個狀態中舍棄什么信息,即遺忘階段;輸入門決定了當前狀態保存什么信息,即選擇記憶階段;而輸出門決定了從記憶細胞中輸出什么信息,即輸出階段。相關計算公式與網絡結構(見圖1)如下:

圖1 LSTM網絡結構
遺忘門:
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)


傳統的聚類分析是一種硬劃分,即劃分事物即是非此即彼的特性,而模糊聚類則采用的是一種軟劃分的方式,通過賦予每個樣本點隸屬度的方式,來衡量每個樣本對每個類的影響,可以更好地衡量數據對所在類的影響。現假定有一個數據集,若把這些數據劃分為c類,那么對應的就有c個聚類中心Ci(i=1,2,…,N),每個樣本屬于某一類的隸屬度為uij,定義一個FCM目標函數(7)及約束條件(8)。
(7)
(8)
式中,uij∈(0,1),表示第j個數據對第i個類的隸屬度。通過不斷迭代,使式(7)取得最小值,從而確定聚類中心Ci和每個樣本點對應聚類中心的隸屬度uij:
(9)
(10)
下面對該文所使用的算法進行介紹,具體流程如下:
步驟1:將收集的數據集T的數據進行max-min歸一化。對完整年度將數據集進行分割,分割成三個部分,用于神經網絡訓練的歷史訓練數據T1;用于模糊聚類實驗的測試集T2;用于誤差補償后驗證效果的驗證集T3。并設置輸入LSTM網絡的數據窗口寬度為w。

步驟3:將測試集T2與誤差數據e組成新的數據集(T2,e),并對數據集(T2,e)進行FCM模糊聚類。確定聚類中心L1(i)={c1,c2,…,ck},其中ci=(xi1,xi2,…,xim,ei)。



具體算法流程如圖2所示。

圖2 基于LSTM網絡和FCM誤差補償的PM2.5預測模型
該文所使用的數據集為2017年1月1日至2021年12月31日安徽省合肥市的PM2.5、PM10、SO2、CO、NO2、O3這六種空氣污染物日均值濃度數據(其中CO數據單位mg/m3,其余數據單位均為μg/m3),共收集數據1 825條。為充分利用PM2.5變化的周期性,分割數據集時,將前三年共計1 095條數據作為神經網絡的歷史訓練集T1,用于訓練神經網絡;將數據集的第四年,即第1 096條至1 461條共計365條作為測試集T2,用于歷史預測誤差的模糊聚類實驗;數據集的第五年,即第1 462條數據到1 825條數據T3作為經過誤差補償后的驗證集,驗證該方法的效果與可行性。
通過繪制PM2.5的濃度時序變化圖(見圖3),可以看出PM2.5的變化具有周期性,存在“秋冬高,春夏低”的現象,并且相鄰兩年之間PM2.5濃度的分布具有相似性。此外還可以看出五年的PM2.5濃度變化總體有一定的下降趨勢,并且單日PM2.5含量激增的情況也大大減少,猜測應該與國家環境相關治理有關,城市整體空氣質量正在逐年提高。

圖3 PM2.5濃度時序變化
對該文所使用數據集的五種與PM2.5相關的污染因子進行Pearson相關因子檢驗,檢驗結果表明,PM2.5與PM10、CO有較強的正相關性,與NO2、SO2存在相關性,而與O3呈現一定的負相關性,說明了所選PM2.5影響因子的合理性。具體分析結果如表1所示。

表1 Pearson相關因子分析
(1)缺失數據填補。
由于收集的數據存在少量缺失值,且污染物的變化存在一定的趨勢性,而線性插值可以對趨勢性的數據進行很好的補充,故采用線性插值的方式對缺失的數據值進行合理填補。
(2)數據歸一化。
為了提高神經網絡在訓練過程中的收斂速度和模型準確率,以及各污染物由于量綱不同對數據聚類所產生的影響,而max-min歸一化處理可以有效解決這些問題,故對數據進行max-min歸一化處理,使得數據范圍為[0,1]。
(3)數據滑動窗口化處理。
在使用LSTM神經網絡進行預測時,需要將時序型數據轉化為監督型數據,建立一個輸入X、輸出Y的映射關系,而神經網絡則是學習X到Y的模式,故需將數據處理為適合網絡的輸入形式。所以采用滑動窗口的方式建立這種映射關系,具體處理方式如下:
其中,yp,q為待預測第p天的PM2.5真實值。
該文基于深度學習keras框架,搭建LSTM神經網絡作為初步預測模型。在神經網絡進行訓練之前,需要對神經網絡的超參數進行設置,所使用的LSTM網絡超參數具體設置如下:兩層LSTM,節點數分別為128和64;一層全連接層,節點數為32;訓練所使用的損失函數為MSE(均方誤差),優化器采用Adam優化器,batchsize設置為64。為了防止網絡過擬合,在每個LSTM層后,設置丟棄率dropout為0.2。
在滑動窗口處理的過程中,不同的窗口大小會對實驗結果造成影響。經多次實驗,確定了最佳窗口大小,窗口大小為3。
評估指標選用均方根誤差(RMSE)、平均絕對誤差(MAE),具體公式如下:

2.5.1 LSTM初步預測結果分析
使用LSTM網絡對測試集數據進行預測,對一年中不同的時間段的誤差進行誤差統計,并繪制相鄰年間的誤差時序變化圖,具體結果如表2所示。

表2 一年不同時間段誤差統計
通過表2,可知一年間不同時間段的誤差分布不均勻,表現為年初和年末誤差較大,年中誤差較小,這個特點也可以在圖4中得到體現。由圖4可知,相鄰年間誤差分布具有相似性,且PM2.5變化具有季節性,故推斷,相似數據的誤差分布是相似的。

圖4 相鄰年份預測誤差變化
2.5.2 預測結果與誤差
由2.5.1節的結論,對測試集及對應誤差組成的數據集進行FCM模糊聚類。利用聚類中心,對驗證集數據進行分類。根據分類結果,對屬于不同類的預測數據進行相應的誤差補償,得到最終預測結果。并與其他的實驗方法進行對比,結果如表3所示。

表3 實驗預測誤差結果
由表3可知,經過誤差修正后的預測結果相較于其他對比的實驗方法,效果最佳,從而驗證了該方法的有效性。相關預測結果如圖5所示。

圖5 全年PM2.5預測結果
使用合肥2017年1月1日至2021年12月31日的空氣質量六因子的日均值數據進行了PM2.5的濃度預測。實驗過程中,首先對少量缺失數據進行了線性插值填補,并進行歸一化處理。歸一化后,對數據集進行滑動窗口化處理,處理成適合LSTM神經網絡輸入的滑動窗口數據,并完成LSTM網絡的訓練以及初步預測。通過實驗,發現PM2.5預測誤差存在相鄰年份誤差分布相似,但整年誤差分布不均勻,呈現出年初、年末誤差較大,而年中誤差較小。
根據此特點,采用了FCM對測試集數據進行聚類。根據聚類結果對驗證集分類,并根據聚類中心做出相應的誤差補償。最終實驗結果表明,均方根誤差(RMSE)與絕對平均誤差(MAE)均得到了降低,總體取得了不錯的效果。
但仍存在很多不足。在研究初期,僅對污染因子進行了相關性分析,驗證了所選特征之間所具有相關性,并未對諸如風速、風壓等氣象因子進行分析和考慮。
在模糊聚類方面,通過模糊聚類確定當前數據與歷史預測數據相似的部分,利用對應類的聚類中心作為誤差補償值,可以對LSTM初步預測結果進行很好的補償。但由于誤差存在正負,聚類并不能很好區分誤差的正負,可以在接下來的研究中考慮如何確定誤差的方向,以進一步提高預測精度。
時間因素方面,本次實驗采用的為城市的日均值數據,而天氣情況具有實時性,若將數據更換為以小時為單位的數據,則模型的預測精度應該會更好,并更具有實際意義。在后續的研究中,可以針對以上問題進行一定的改進,取得更好的預測效果。