楊亞莉, 李智偉, 鐘衛(wèi)軍
(1.空軍工程大學基礎部, 西安, 710051; 2.宇航動力學國家重點實驗室, 西安, 710043)
隨著我國工業(yè)化和城鎮(zhèn)化的快速發(fā)展,大氣污染逐漸成為我們在發(fā)展過程中不可忽視的問題。作為衡量空氣質(zhì)量的重要指標,細顆粒物(PM2.5)顆粒小、活性強、空中停留時間長,易攜帶有毒有害物質(zhì),對人體和環(huán)境的危害更嚴重,導致老人、兒童等弱體質(zhì)人群易引發(fā)呼吸系統(tǒng)和心血管等疾病[1]。對PM2.5進行準確預測,有利于相關部門管理和治理空氣問題,并可為居民提供空氣污染預警,保障人民健康。
PM2.5的形成原因及影響其濃度的因素仍未有統(tǒng)一的認識,同時各類影響因素具有一定的隨機性,增加了預測PM2.5濃度的難度[2]。目前,預測方法主要有確定性模型和統(tǒng)計模型。確定性模型是一種理論模擬方法,充分描述大氣污染物擴散和稀釋過程中復雜的物理和化學變化。Shorshani等[3]利用改進的高斯模型模擬了公路旁PM2.5濃度的變化,Djalalova等[4]利用卡爾曼濾波法預測了PM2.5的濃度。統(tǒng)計模型是利用各類數(shù)值模擬技術對大量的空氣質(zhì)量數(shù)據(jù)與氣象數(shù)據(jù)進行分析,進而挖掘潛在規(guī)律的方法。彭巖等[5]提出了一種基于集成樹-梯度提升決策樹的PM2.5濃度預測模型;羅宏遠等[6]開展了基于二層分解技術和改進極限學習機模型的PM2.5濃度預測研究;張熙來等[7]基于單時間序列數(shù)據(jù)的動態(tài)調(diào)整模型來進行預測。此外,還有大量基于機器學習的PM2.5濃度預測模型,如支持向量機[8]、隨機森林[9]、Seq2seq模型[10]。
傳統(tǒng)的統(tǒng)計模型方法是使用向量自回歸模型[11]、ARMAX[12]、ARIMAX[13]等模型,但這些方法只能提取到相對簡單的線性特征,難以有效提取出較為復雜的非線性特征。隨著機器學習研究的深入,深度學習模型以其強大的非線性特征提取和分析能力逐漸受到研究人員的青睞,其中,循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)[14]憑借其特殊的結構,在時間序列預測任務中展現(xiàn)了比其他模型更優(yōu)越的性能。但標準的RNN網(wǎng)絡在長序列訓練過程中容易出現(xiàn)梯度消失和梯度爆炸的問題,為此,研究人員又提出了一類特殊的RNN網(wǎng)絡——長短期記憶神經(jīng)網(wǎng)絡(Long Short-Term Memory, LSTM)[15],進一步提升了模型對時序數(shù)據(jù)的特征提取能力。為了解決信息超載問題,研究人員通過注意力機制,將計算資源分配給更重要的任務。基于注意力機制的深度學習網(wǎng)絡往往能比其初始網(wǎng)絡表現(xiàn)出更強的性能。
在以上研究的基礎上,本文提出了二向注意力循環(huán)神經(jīng)網(wǎng)絡模型(Two-Direction Attention-Based Recurrent Neural Network, TDA-RNN)。
本文建模和評估使用的是北京地區(qū)的空氣質(zhì)量數(shù)據(jù)集,來自于UCI機器學習倉庫[16]。該數(shù)據(jù)集記錄了2010年1月1日到2014年12月31日每小時的北京空氣質(zhì)量,共計43 824組,包含8項不同的氣象條件數(shù)據(jù):PM2.5濃度、露點、溫度、大氣壓強、風向、風速、累積雪量和累積雨量。
由于不同變量采用了不同的單位來衡量,為使模型在訓練過程中能收斂,在建立模型前,需對原始數(shù)據(jù)進行無量綱化處理:
(1)

為提高模型對多變量時序預測的精度,Yao Q等[17]設計了基于雙階段注意力的循環(huán)神經(jīng)網(wǎng)絡。受該模型的啟發(fā),本文設計了二向注意力循環(huán)神經(jīng)網(wǎng)絡TDA-RNN。
TDA-RNN主要處理流程分為4步:①首先通過類別注意力模塊,對輸入的多變量數(shù)據(jù)的不同變量進行分析,從而獲取不同變量數(shù)據(jù)的類別注意力;②通過時序注意力模塊,對輸入的多變量數(shù)據(jù)的不同時間步進行分析,從而獲取數(shù)據(jù)的時序注意力;③將時序注意力與類別注意力進行融合,獲取每個輸入數(shù)據(jù)的注意力,更新輸入數(shù)據(jù)并對其進行特征編碼;④將編碼后的特征矩陣與PM2.5濃度的歷史數(shù)據(jù)進行融合,并將其輸入特征解碼器中進行解碼,獲取最終的預測值。TDA-RNN的網(wǎng)絡結構見圖1。

圖1 TDA-RNN模型結構
TDA-RNN是一個多輸入單輸出模型,需輸入目標序列的歷史數(shù)據(jù)Y′和多變量數(shù)據(jù)X,輸出為預測變量值Y,其中X=(x1,x2,…,xT)T=(x1,x2,…,xN),Y′=(y1,y2,…,yT),xt∈RN,xn∈RT,Y,yt∈R,N為影響目標序列的因素的數(shù)量,T為模型輸入的時間窗口長度。因此,模型TDA-RNN可表示為需要通過訓練獲得具體參數(shù)的非線性函數(shù)F:
Y=F(Y′,X)=F(y1,y2,…,yT,x1,x2,…,xN)
(2)
RNN是一類以序列數(shù)據(jù)為輸入的遞歸神經(jīng)網(wǎng)絡,其在序列的演進方向進行遞歸的特性使得RNN在語音識別、機器翻譯、時間序列預測等方面性能顯著[18]。使用RNN進行時間序列預測,模型獲取輸入序列數(shù)據(jù)(x1,x2,…,xT),其中xt∈Rn,n為與目標序列相關的因素的數(shù)量,并將通過訓練得到非線性函數(shù)f:
ht=f(ht-1,xt)
(3)
式中:ht∈Rm是RNN在t時刻的隱藏狀態(tài);m為隱藏狀態(tài)的序列長度。非線性函數(shù)f可以是標準RNN層、LSTM層或GRU層。
LSTM層不僅保留了標準RNN層的允許信息持久化的特性,還改善了RNN長期依賴問題。因此,使用LSTM層來為模型提取序列數(shù)據(jù)中的長期和短期依賴特征。每個LSTM單元通過忘記門ft、輸入門it和輸出門ot這3個門結構來存儲和更新模型在t時刻的細胞狀態(tài)st和隱藏狀態(tài)ht:
(4)
式中:[ht-1;xt]∈Rm+n是由t-1時刻的隱藏狀態(tài)ht-1與t時刻輸入的xt拼接而成;Wf,Wi,Wo,Ws∈Rm×(m+n)和bf,bi,bo;bs∈Rm是網(wǎng)絡需要通過訓練獲取的參數(shù);σ是sigmoid函數(shù),⊙是哈達瑪積運算。

(5)

(6)

(7)

(8)
(9)

利用新的LSTM層對更新后的多變量數(shù)據(jù)進行編碼,獲取LSTM單元在不同時刻t的隱藏狀態(tài)ht,并將其作為編碼后的特征矩陣:
ht=f1(ht-1,xt)
(10)
為了提高模型的預測精度,將目標序列的歷史數(shù)據(jù)與其他影響因素的歷史數(shù)據(jù)分別輸入模型中,并將特征編碼器獲得的特征矩陣與目標序列的歷史數(shù)據(jù)融合后進行初次解碼:
(11)

通過初次解碼獲得的yt-1可用于更新特征解碼器在時刻t的隱藏狀態(tài)Ht:
Ht=f2(Ht-1,yt-1)
(12)
使用LSTM單元作為非線性函數(shù)f2。Ht通過方程組(13)進行更新:
(13)

對于獲得更新后的Ht,進行最終解碼,獲得模型的預測值:
(14)
式中:w0∈Rm和b0∈R為網(wǎng)絡需要通過訓練獲得的參數(shù);Y為模型最終的預測值。
將數(shù)據(jù)集按0.722 5∶0.127 5∶0.15的比例劃分為訓練集、驗證集和測試集,設置損失函數(shù)為MSE,并使用Adam作為模型訓練的優(yōu)化器。同時,為了減少不必要的訓練時間,采用“早停法”,即當模型在驗證集上的損失函數(shù)在20個輪次的訓練中未發(fā)生下降時,模型停止訓練。
為了衡量模型的預測性能,本文選擇擬合優(yōu)度R2、均方根誤差(RMSE)、平均絕對誤差(MAE)和平均絕對百分比誤差(MAPE)作為評價指標。

(15)
(16)
(17)
(18)
在TDA-RNN網(wǎng)絡中,有2個主要的參數(shù),分別是時間窗口長度T和隱藏狀態(tài)的序列長度m。參數(shù)選擇的不同,會導致模型性能的差異。分別取T∈{3,6,12,18,24}和m∈{8,16,32,64}并進行訓練,實驗結果表明,當m=64、T=12時,TDA-RNN模型的預測精度最高。
為了充分評估模型的預測性能,使用前向型神經(jīng)網(wǎng)絡(Back Propagation Neural Network, BPNN)、門控循環(huán)單元(Gate Recurrent Unit, GRU)模型、LSTM和滑動平均模型(Moving Average Model, MA)4種模型作為對照模型。BPNN模型是目前應用最廣泛、構造過程最規(guī)范的一類神經(jīng)網(wǎng)絡;MA是模型參量法譜分析方法之一,也是現(xiàn)代譜估計中常用的模型;GRU和LSTM均為標準循環(huán)神經(jīng)網(wǎng)絡的改進結構,是目前性能較好的時間序列預測模型。
表1為不同模型的評估結果,從中可以看出,文中提出的TDA-RNN模型不僅擬合優(yōu)度R2最低,而且RMSE、MAE和MAPE均遠低于4個對照模型,說明其整體預測性能最優(yōu)。同時,由于該模型是在LSTM模型的基礎上構建且性能明顯提高,說明本文提出的二向注意力機制對模型產(chǎn)生了正向作用;BPNN、GRU和LSTM的評估結果接近,其中GRU的性能略強于BPNN和LSTM;MA模型除了在MAPE這一評估參數(shù)上優(yōu)于LSTM模型外,在4項評估參數(shù)上均表現(xiàn)最差,說明線性模型由于其非線性特征提取能力較差,已難以滿足PM2.5濃度預測的需要。

表1 不同模型評估結果
圖2為不同模型在測試集上預測結果的APE箱線圖。根據(jù)圖2可知,TDA-RNN模型在測試集上預測值的相對百分比誤差的平均值和上邊緣值均低于對照模型,且預測值誤差的分布更集中。圖2從誤差分布方面進一步說明了TDA-RNN在該數(shù)據(jù)集上有較高的預測性能。

圖2 不同模型預測結果的APE箱線圖
不同的參數(shù),可能導致深度學習模型的性能有較大的差異。本文對TDA-RNN模型的主要參數(shù)T和m進行了參數(shù)敏感性實驗。改變T或m時,保持其他參數(shù)不變并對模型進行訓練,結果見圖3。

圖3 不同參數(shù)的模型在測試集上的RMSE
當(T,m)=(3,32),(3,64),(6,64)時,TDA-RNN模型對任何輸入均有相同的輸出,此時模型的訓練出現(xiàn)梯度消失現(xiàn)象,導致模型無法對數(shù)據(jù)集進行有效的訓練。
從圖3(a)可知,TDA-RNN在測試集上的RMSE隨參數(shù)m的變化是沒有規(guī)律的,甚至當T=12和T=24時的規(guī)律幾乎是相反的。因此,m的選擇需要通過實驗來確定。
從圖3(b)可知,T的取值較大或較小,均會導致模型預測誤差的增大。這是因為當T取值較小時,模型獲取的信息不充分,導致模型對缺乏足夠的信息來進行預測;取值較大時,模型雖然獲取了更多的信息,但是過量的信息增加了模型對重要信息提取和分析的難度。
由于PM2.5形成原因復雜,在進行PM2.5濃度預測時使用的其他氣象數(shù)據(jù)不一定與PM2.5濃度變化有直接關系,此時,對網(wǎng)絡來說相當于引入了干擾因素。因此,檢測網(wǎng)絡的抗干擾性能是非常必要的。
首先隨機生成一列滿足正態(tài)分布的數(shù)據(jù),并將其作為一類氣象數(shù)據(jù)添加至模型的輸入X;然后在不調(diào)整模型參數(shù)和結構的情況下,對TDA-RNN和其他對照模型進行訓練。
表2為不同模型在含有干擾因素的數(shù)據(jù)集上的評估結果。當m=64、T=12時,TDA-RNN的4項評估指標R2、RMSE、MAE和MAPE分別為0.934 9、20.15、11.43和0.246 3,均優(yōu)于對照模型。圖4為不同模型在測試集上預測結果的APE箱線圖。

表2 不同模型在含有干擾因素的數(shù)據(jù)集上的評估結果

注:*表示該模型是在含有干擾因素的數(shù)據(jù)集上訓練。
根據(jù)圖4可知,在不調(diào)整模型參數(shù)和結構的情況下,各類模型在含有干擾因素的數(shù)據(jù)集上的預測精度均有了不同程度的降低。其中,TDA-RNN和GRU在測試集上的預測誤差的上四分位數(shù)降低程度最低,說明模型抗干擾能力較強。通過對比TDA-RNN與LSTM模型的評估結果可知本文提出的二向注意力機制增強了模型的抗干擾能力。
針對現(xiàn)有PM2.5濃度預測模型效果不穩(wěn)定、泛化能力差的問題,本文提出了二向注意力循環(huán)神經(jīng)網(wǎng)絡TDA-RNN,實現(xiàn)了對PM2.5濃度的準確預測。模型分別在時序和類別這兩個維度上使用注意力機制,實現(xiàn)了對計算資源的優(yōu)化分配,使TDA-RNN模型擁有更高的預測精度。注意力機制的合理使用,使模型對干擾因素有較強的識別能力,增強了模型的抗干擾能力。同時,TDA-RNN也適用于其他應用場景的多變量時間序列預測,具有廣闊的工程應用前景。