凌德森,王曉凱,朱 濤
(山西大學 物理電子工程學院,山西 太原 030006)
隨著城市化和工業化的快速發展,能源需求量不斷增加,大量的污染物被排放到大氣中,導致了嚴重的空氣污染問題[1]。空氣污染物濃度的超標可能會誘發呼吸系統病變等疾病,進而制約社會、經濟的發展[2]。因此,建立一個準確可靠的空氣污染物濃度預測模型對人們規避空氣污染危害和政府制定減排政策具有重要意義。
空氣污染物濃度預測是一個復雜的非線性問題,目前,其研究方法分為確定性模型、統計模型和神經網絡預測模型三類[3]。確定性模型是以空氣動力學理論和物理化學過程為基礎,通過模擬大氣的物理和化學環境對空氣污染物濃度進行預測[4]。最常使用的方法是高斯模型[5]和多尺度空氣質量模型[6]。然而,確定性模型需要關于污染物來源以及大氣的物理化學特征的可靠信息,數據不便收集,并且需要大量時間來完成預測[7]。相比較于確定性模型,統計模型更簡單、更快捷、更有效,常使用的方法有自回歸綜合移動平均模型[8](Autoregressive Integrated Moving Average Model,ARIMA)和多元線性回歸[9](Multiple Iinear Regression,MLR)。人工智能的發展為空氣污染物濃度預測研究提供了新的機會。當人工神經網絡(Artificial Neural Network,ANN)被證明在污染物濃度的預測上能夠取得良好的性能后[10],ANN被廣泛應用于空氣污染物濃度預測中[11]。然而,人工神經網絡存在難以提取時間序列和相關的時序特征問題[12]。隨后遞歸神經網絡(Recurrent Neural Network,RNN)的出現在一定程度上解決了該問題,并在時序問題的分析中表現出更強的適應性。長短期記憶(Long-Short Term Memory,LSTM)網絡是RNN的一種變體,具有特殊的門結構加強了數據間長期依賴關系的獲取,解決了RNN在訓練過程中的梯度消失問題以及無法獲取數據之間長期依賴關系[13]的問題。門控循環單元(Gated Recirculation Unit,GRU)神經網絡是LSTM網絡的進一步改進,在具有LSTM神經網絡相同效果的同時降低了網絡結構的復雜度。空氣污染物濃度序列是典型的非線性、非平穩時間序列,若將收集到的數據直接進行預測實驗,會使得模型預測精度不高。于是丁子昂等[14]采用補充總體經驗模態分解(Complementary Ensemble Empirical Mode Decomposition,CEEMD)方法將PM2.5濃度序列進行分解,并利用皮爾遜相關(Pearson)算法進行篩選,增強了數據中體現的時序特征,做到了快速、有效地預測PM2.5濃度。Jin等[15]提出一種混合深度學習模型,利用經驗模態分解(Empirical Mode Decomposition,EMD)算法和卷積神經網絡(Convolutional Neural Network,CNN)對PM2.5濃度數據進行分解和分類,實驗結果表明,經過數據處理,可以提高預測的準確性。
因此,為了提高模型預測精度,本文采用自適應完整集成經驗模態分解(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise,CEEMDAN)、排列熵(Permutation Entropy,PE),以及GRU神經網絡組合的空氣污染物濃度預測模型。CEEMDAN算法將空氣污染物濃度數據分解為不同尺度的子序列,利用PE算法計算分解后的子序列復雜度,按子序列復雜程度重新組合成新的子序列,降低模型的運算規模,最后利用GRU神經網絡對重新組合后的新序列進行預測,以提高模型對空氣污染物濃度的預測精度。
EMD是由Wu和Huang提出的一種用于處理非平穩、非線性序列的時空分析方法[16],可以在不知道的任何先驗知識的情況下,依據序列自身時間尺度特征來進行信號的自適應分解處理。EMD算法分解步驟如下。
① 在給定的時間序列x(t)中,找到其所有的極值點,分別擬合極大值點和極小值點的包絡線xmax(t)和xmin(t),并計算出極值點包絡線的平均值x(t),再用時間序列x(t)減去平均值m(t),即得到本征模態。
h(t)=x(t)-m(t)
(1)
② 判斷h(t)是否滿足極值點包絡平均值為零,局部極值點和過零點的數目相差在1以內,若滿足則h(t)即為序列的本征模態,否則,重復步驟①直到h(t)滿足條件為止。
③ 重復步驟①和步驟②,直到時間序列x(t)分解剩余的殘差分量r(t)為單調序列或常序列為止。這樣可得到經過EMD算法分解后的時間序列x(t)。
(2)
式中:N為分解得到的子模態數。
CEEMDAN算法是在EMD算法的基礎上改進得到的,不僅擁有對非線性信號的自適應分解特性,即能夠根據非線性序列自身的特征進行信號的自適應分解,而且解決了EMD 算法分解中存在的模態混疊問題。算法分解具體步驟如下。
① 在待分解的污染物濃度時間序列y(t)中,加入正負成對的高斯白噪聲(-1)qεwn(t)(q=1,2),得到新序列x(t)。
x(t)=y(t)+(-1)qεwn(t)
(3)
式中:ε為白噪聲的標準差;wn(t)為標準正態分布的高斯白噪聲。
(4)
③ 對得到的N個本征分量進行平均得到CEEMDAN分解后的第一個本征模態分量:
(5)
④ 計算去除第一個本征模態后的殘差序列為
(6)
(7)
⑥ 對步驟⑤中得到的本征模態進行平均得到CEEMDAN分解后的第2個本征模態分量:
(8)
⑦ 計算去除第二個本征模態后的殘余序列為
(9)
⑧ 同理,由上述步驟①~步驟⑦可以得到第k個殘差序列和第k+ 1個子模態。
(10)
(11)
⑨ 重復步驟①~步驟⑧,當殘差序列為單調函數時,無法再分解出新的子模態,算法結束,此時原始序列為
(12)
式中:K為最終得到的本征模態數量;R(t)為分解剩余殘差分量。
PE算法是一種通過比較時間序列中相鄰時間點的值,來檢測時間序列動態變化的方法,可以表征信號的復雜性以及度量信息的不確定性,適合處理非線性問題。PE值的大小代表時間序列的復雜性和隨機性,值越大說明時間序列的復雜性越大、隨機性越強;反之,時間序列隨機性越弱,復雜性越小。其基本算法如下:
① 對給定的N長時間序列{X(i),i=1,2,…,N}進行相空間重構,得到相空間矩陣為
(13)
式中:j=1,2,…,K;m為嵌入的維數;τ為延遲時間;K=N-(m-1)τ。
② 將重構得到的相空間矩陣中的第j個重構分量x(j),x(j+τ),…,x[j+(m-1)τ]按數值大小進行升序排列,j1,j2,…,jm為重構分量中各元素所在列的索引。即:
x[i+(j1-1)τ]≤x[i+(j2-1)τ]≤…≤x[i+(jm-1)τ]
(14)
上式中重構分量中存在相等的值,則按照j1,j2的排列順序進行大小排序,即當j1 ③ 時間序列X(i)經過相空間重構后所得的重構矩陣中的每一行都能得到一組符號序列。 S(k)=(j1,j2,…,jm) (15) 式中:k= 1,2,…,l,且k≤m!。 ⑤ 最后根據信息熵的定義,將時間序列X(i)的PE定義為 (16) 式中:0≤HPE≤ln(m!);當Pk=1/m!時,HPE達到最大值ln(m!)。 RNN是一種人工神經網絡,其中網絡節點之間的連接沿著序列形成有向圖,因此RNN改變了傳統神經網絡無法保存過去數據間的相互作用的缺點,并可以顯示隨時間序列變化的動態行為。但是隨著時間間隔的增大,RNN也變得易丟失遠處的數據單元信息,即產生梯度消失的問題。為了解決RNN處理時間序列的梯度消失問題,相繼提出LSTM和GRU等神經網絡結構來避免產生梯度消失問題。LSTM通過輸入門控制是否將數據寫入細胞狀態中,遺忘門控制記憶單元值的更新,輸出門決定是否將值輸出[17]。其中輸入門計算式為 it=σ(Wi·[ht-1,xt+bf]) (17) (18) (19) 式中:xt為輸入變量;Ct為細胞狀態;Wi和Wc為輸入偏置;σ和tanh為激活函數;σ為sigmoid函數。 遺忘門用來確定t-1時刻的隱藏狀態ht-1和t時刻有多少輸入的信息被保留,其公式為 ft=σ(Wf·[ht-1,xt]+bf) (20) 式中:Wf為遺忘門的權重矩陣;bf為遺忘門的偏置項。 輸出門用來控制輸出單元的隱藏狀態是否輸出,其公式為 ot=σ(Wo·[ht-1,xt]+bo) (21) ht=ot·tanh(Ct) (22) 式中:ot為輸出門的輸出;Wo為輸出門的權重;bo為輸出門的偏置項。 LSTM在3個門的相互作用下不僅能夠進行長期記憶,還解決了CNN的梯度消失問題。但由于LSTM結構較為復雜,在序列的預測中效率較低,GRU神經網絡是Chung等[18]在2014年提出的一種新的RNN變體,在保證與LSTM的相當精度的同時還提高了效率。GRU神經網絡單元結構如圖1所示。 圖1 GRU神經網絡單元結構 GRU擺脫了細胞狀態并使用隱藏狀態來傳輸信息,只包含兩個門,分別為重置門rt和更新門zt,更新門用于控制前一時刻有多少狀態信息傳入到當前時刻狀態,更新門的值越大,表明上一時刻狀態信息傳入到當前時刻的狀態信息越多;重置門用來篩選信息,決定前一時刻的狀態信息有多少被忽略,重置門的值越小,說明前一時刻的狀態信息傳入到當前時刻的狀態信息越少[19]。GRU網絡前向傳播公式為 rt=σ(Wr·[ht-1,xt]) (23) zt=σ(Wz·[ht-1,xt]) (24) (25) (26) 基于CEEMDAN、PE和GRU組合的空氣污染物濃度預測模型,在網絡結構的搭建中,經過反復實驗,最終得到空氣污染物濃度預測模型。該模型具體步驟如下。 ① 獲取空氣污染物濃度歷史數據,為了提高模型的預測精度、降低運算的復雜度,對原始數據進行歸一化處理,公式為 (27) 式中:yi為歸一化后的污染物濃度歷史實時數據;xi為原始數據;xmax、xmin分別為原始數據中的最大值、最小值。 ② 利用CEEMDAN分解算法將歸一化后的污染物濃度數據進行分解,獲得一組固有模態函數{IMF1,IMF2,…,IMFn}分量和一個殘余分量RES。 ③ 利用PE算法計算出②中得到的{IMF1,IMF2,…,IMFn}分量以及RES分量的PE值,并按照PE值的大小將各分量重新組合成新的子序列{NEW1,NEW2,…,NEWm}。 ⑤ 將各子序列預測結果疊加,并進行反歸一化處理得到最終的預測結果。 CEEMDAN-PE-GRU預測模型結構如圖2所示。 圖2 CEEMDAN-PE-GRU預測模型結構 本文的研究目的是能夠精確預測空氣污染物濃度的變化趨勢。為了能夠更好地衡量模型的預測效果,采用了3個評價指標來分析預測結果與真實值之間偏差[20]:平均絕對誤差(Mean Absolute Error,MAE)、均方根誤差(Root Mean Squared Error,RMSE)和決定系數(Coefficient of Determination)。一般來說RMSE和MAE值越小,決定系數的值越接近1,則預測結果與真實值之間的偏差越小,模型的擬合效果越好;反之,則偏差較大、模型的擬合效果越差。計算公式為 (28) (29) (30) 為了得到有效的預測精度,對不同的GRU網絡層數的模型進行了實驗,將污染物濃度序列作為驗證實驗對象,選擇單隱藏層、雙隱藏層和三隱藏層進行實驗,實驗結果如表1所示。由表1中的結果可知:隱藏層數的增加并不一定可以帶來更好的預測效果。因此,經過多次實驗,本文最終選擇使用單隱藏層神經網絡進行預測。 表1 不同層數網絡的實驗結果 網格搜索法是指定參數值的一種窮舉搜索方法,該方法將預測模型的參數通過交叉驗證方法進行優化,來獲取最優的學習算法。 為了減少模型預測過程中出現的過擬合或欠擬合問題,保證模型的最優化,使用網格搜索算法進行預測模型參數的選取;為了保證各模型實驗的公平性,所有實驗過程均在相同的硬件環境下,并利用MATLAB2019b和Python3.6仿真平臺搭建預測模型。綜上,預測模型以及對比模型主要參數如表2所示。 表2 預測模型及對比模型主要參數 本文選擇以某市2017年1月1日至2017年3月31日,每小時采樣一次的空氣污染物濃度數據為研究樣例。數據集收集于中國環境檢測總站的全國城市空氣質量實時發布平臺(https://air.cnemc.cn)和真氣網(https://www.aqistudy.cn/),其中包括PM10、PM2.5、SO2、NO2、O3和CO六項主要污染物濃度,共2160條數據。各污染物濃度時間序列如圖3所示。為了驗證模型對污染物濃度的預測性能,將各污染物數據的前1952條數據作為預測模型的訓練集,后208條數據作為測試數據集。 圖3 空氣污染物濃度時間序列 由于空氣污染物濃度序列具有典型的非平穩性、非線性特點,本文利用CEEMDAN算法對非線性序列的自適應分解特性,將歸一化后的原始空氣污染物濃度序列進行分解,各污染物濃度序列分解結果如圖4所示。 圖4 基于CEEMDAN的污染物濃度分解結果 若將分解后的分量分別進行預測,會增大預測模型的計算規模,因此為了降低模型的計算規模,以及更有效地對空氣污染物進行預測,采用PE算法對分解得到的各分量進行計算,以此評估各分量的復雜程度。各污染物濃度序列分量PE值如表3所示。 表3 各污染物濃度序列分量PE值 如圖4所示,污染物濃度序列IMF分量的波動性逐漸降低,深刻體現了污染物濃度在3個月內波動趨勢的變化,RES體現了空氣污染物濃度的變化趨勢。另外結合表3可以看出,IMF1、IMF2的復雜度最大,且隨機性較強,雖然兩者相鄰,但PE值相差較大,因此將IMF1、IMF2分別作為單獨序列;IMF3和IMF4的波動相似且具有一定的規律性,PE值在0.2~0.5之間,故將其合并成一個新的序列;IMF5~IMF7不僅數據變化平穩,而且具有相對較高的規律性,RES作為污染物的變化趨勢,其平穩性高、波動簡單,因此將IMF5~IMF7和RES合并為新序列。重組后的新序列如圖5所示。 圖5 重組后的新序列 為了驗證本文預測模型的優越性,在相同的計算環境下分別建立CEEMDAN-PE-GRU模型、BP模型、LSTM模型、GRU模型和經過徑向基函數(RBF)改進的SVR模型對PM2.5、PM10、NO2、O3、CO和SO2共6項污染物分別進行仿真分析。各模型對污染物的預測結果與真實數據對比如圖6所示,各模型預測性能對比指標結果如表4所示。 如圖6所示,BP模型、LSTM模型、GRU模型和RBF-SVR模型的預測結果與真實結果有著較大的誤差,總體結果存在較大的滯后性;而CEEMDAN-PE-GRU模型雖然在部分變化復雜的位置上也存在一定的誤差,但總體預測結果與真實值最接近、滯后性更低,能夠更準確地反映污染物的變化趨勢,較其他4種模型的預測結果來說效果更好。 圖6 各污染物預測結果 如表4所示,相比較BP模型、LSTM模型和RBF-SVR模型,GRU模型預測結果的平均絕對誤差、均方根誤差有著不同程度的降低,決定系數增加,表明GRU神經網絡能夠更好地對空氣污染物濃度時間序列進行預測。與RBF-SVR模型、BP模型、LSTM模型以及GRU模型相比較的結果來看,基于CEEMDAN-PE-GRU模型的平均絕對誤差、均方根誤差和決定系數都優于其他4種模型。以空氣污染物中SO2濃度的預測結果為例,就CEEMDAN-PE-GRU模型與其他4種模型的均方根誤差而言,分別下降了48.38%、49.07%、54.92%和47.96%,說明CEEMDAN-PE-GRU模型預測精度最高、誤差最小;另外與單一GRU模型比較可以得出,經過CEEMDAN-PE處理后的預測模型的精度明顯提高,其平均絕對誤差、均方根誤差分別下降了43.51%、47.96%,決定系數增加了50.84%,表明經過CEEMDAN-PE處理后的預測模型能夠更好地挖掘數據中的隱藏信息,實現更加精確的預測。 表4 不同模型預測性能比較結果 綜上所述,CEEMDAN-PE-GRU模型對空氣污染物濃度的預測具有更高的精度,優于RBF-SVR模型、BP模型、LSTM模型和GRU模型。 為了提高對空氣污染物濃度的預測精度,降低序列的非線性、非平穩波動特性的影響,基于CEEMDAN-PE-GRU模型,對6項空氣污染物濃度數據進行研究,結果表明利用CEEMDAN分解算法對空氣污染物濃度序列進行分解可以有效地挖掘數據中的變化規律和隱藏信息,其次使用PE算法將復雜度相近的子序列進行重構,達到挖掘隱藏信息的同時降低了組合預測方法的計算規模。通過與RBF-SVR模型、BP模型、LSTM模型和GRU模型相比,本文預測模型各項指標都優于其他模型,表明CEEMDAN-PE-GRU模型能夠更好地處理空氣污染物濃度序列,提高空氣污染物濃度的預測精度。1.3 GRU神經網絡
1.4 預測模型構建
1.5 預測模型的評價指標
1.6 模型參數的選取
2 實驗與結果分析
2.1 數據來源
2.2 數據分解與重組
2.3 預測結果與分析
3 結束語