?

基于LSTM的PM2.5濃度預測模型

2019-03-19 01:02,,,,
計算機測量與控制 2019年3期
關鍵詞:時刻公式神經網絡

,,,,

(北京工商大學 計算機與信息工程學院,北京 100048)

0 引言

隨著近幾年霧霾天氣在全國范圍內的頻繁出現,細微顆粒物(Fine Particulate Matter, PM2.5)受到了公眾的廣泛關注。PM2.5通常指環境空氣中空氣動力學當量直徑小于等于 2.5 微米的顆粒物。PM2.5能較長時間懸浮于空氣中,其在空氣中含量濃度越高,代表空氣污染越嚴重。與較粗的環境空氣顆粒物相比,PM2.5粒徑小,活性強,極易附帶有毒、有害物質(例如,重金屬、微生物等),且在大氣中的停留時間長、輸送距離遠,因而對人體健康和大氣環境質量的影響更大。如何有效的對空氣PM2.5濃度進行準確的預測和預報,對于保護公眾身體健康,環境治理具有重要的意義。由于PM2.5濃度受到多方面因素的影響,呈現出明顯的不規則和不確定性波動,很難對其進行有效的數學建模。

近年來深度學習技術[1]在人工智能領域取得顯著成就。深度神經網絡可以對數據抽象特征進行提取,并且擁有強大的對高維數據進擬合的能力,可以有效地根據PM2.5歷史數據,構建預測模型。本文基于深度學習中LSTM[2](Long Short-Term Memory)循環神經網絡,依據過去20小時采集的空氣數據,預測未來5個小時PM2.5濃度指數。實驗數據表明本文提出的算法模型達到了良好的效果,可以有效的預測出未來5小時內空氣中PM2.5濃度值。

1 相關工作

最近幾年,學術界對PM2.5濃度預測進行了也許多研究。文獻[3]基于非線性回歸模型建立預測模型,并設計出一個基于逆風PM2.5濃度的附加參數,用于增強預測模型的表現,取得了良好的效果。文獻[4]首次提出了一種基于數據預處理和分析的混合EEMD-GRNN(集合經驗模態分解 - 通用回歸神經網絡)模型,用于提前一天預測PM2.5濃度。文獻[5]提出優化神經網絡的大氣PM2.5污染指數預測方法,利用主成分分析法對大氣PM2.5污染指數的各種影響因素進行分析,保留影響因素的主要特征成分,并作為神經網絡的訓練樣本,利用遺傳算法進行BP神經網絡結構參數的尋優,并利用最優參數構建BP神經網絡的預測模型,獲得準確地預測結果。文獻[6]使用貝葉斯kriged卡爾曼濾波模型對PM2.5時空過程進行短期預測,利用Kriging方法建立模型的空間預測并使用馬爾可夫鏈蒙特卡羅技術實現,在時間和空間上獲得良好的預測效果。文獻[7]提出了一種基于地理的模型,使用MLP提前三天預測SO2,CO和PM10的日平均濃度,其采用了3種地理模型:單站點鄰域模型,雙站點鄰域模型和基于距離的模型。實驗結果表明,基于地理的模型優于普通模型,特別是基于距離的模型。如果在地理模型中增加更多的氣象變量,預計仍有很大的改進空間。文獻[8]提出了一種新的混合ARIMA-ANN模型,以提高PM10預報精度,取得了較好的預測精度。

盡管之前許多學者在PM2.5和其他空氣質量預測算法上取得了不少突破性進展,但是大部分現有算法模型都需要復雜的數據處理和設置外部參數條件,而這一過程需要很強的專業知識,增加了模型的實現復雜程度,同時也降低了其易用性。本文提出的基于LSTM循環神經網絡PM2.5預測算法模型,能夠有效地根據歷史數據預測出未來時刻PM2.5濃度值,同時模型具較低的實現復雜度和開發成本。

2 基于LSTM的PM2.5預測算法

2.1 RNN神經網絡

原始的神經網絡一般都是全連接網絡,而且非相鄰的網絡之間沒有連接,沒有辦法有效處理不定長的時序數據。RNN(Recurrent Neural Network)是一類用于處理序列數據的神經網絡,為了更有效的處理時序數據,RNN將網絡的隱藏層相連接,可以理解為多個具有相同結構和參數的前向神經網絡的循環堆積。循環的次數和輸入序列的長度一致,且要求在序列中毗鄰狀態的對應網絡的隱層之間互聯。RNN網絡結構示意圖如圖1所示。

圖1 RNN結構圖

在RNN中網絡每一個時刻除了要接受輸入層的參數以外,還要接收自身網絡上一時刻隱層輸出。RNN的隱層控制著序列數據的信息傳遞。不同的時刻之前連接的權重代表著過去時刻信息對當前時刻的影響。

RNN網絡的輸入記為{x0,x1,…xt,x(t+1)…},輸出集記為{y0,y1,…yt,y(t+1)…},隱藏層的輸出記為{s0,s1,…st,s(t+1)…}。RNN能夠處理時序信息隱層單元起了關鍵作用。數據信息的流向是從輸入層到輸出層,并跟隨隱藏層的狀態傳遞下去。具體計算過程如公式(1)(2)(3)所示。

st=σ(Uxt+Wst-1+bi)

(1)

ot=Vht+bo

(2)

yt=softmax(ot)

(3)

在上式中U,W,V分別是網絡輸入層,隱藏層,和輸出層權重參數,bi和bo分別是輸入層偏置和輸出層偏置參數,σ是激活函數,一般會選擇一般會選擇tanh函數。

理論上RNN可以處理任何長度序列數據,但是當處理序列過長時會導致歷史時時刻信息的影響削弱甚至消失,稱之為梯度消失。對RNN的改進主要是集中在隱層神經網絡的結構做優化。如LSTM和GRU[9](Gated Recurrent Unit)在隱層網絡中增加了門控制單元,使得網絡可以保留住歷史時刻比較重要的信息。

2.2 LSTM神經網絡

RNN的關鍵作用是可以依據隱藏層之前的轉態傳遞處理序列問題,即做當前時刻的任務是可以考慮到過去時刻的影響。但是RNN處理較長時序數據時會很難訓練,表現極差。LSTM是長短期記憶網絡,通過相應的網絡結構改變來避免長期依賴問題。在RNN中通過隱藏層連接重復同一個網絡模塊。LSTM同樣延續了與RNN同樣的重復連接結構,不同的是在LSTM網絡中增加細胞狀態ct。ct也會隨著不同的時刻傳遞下去,細胞轉態ct代表了長期記憶。LSTM的關鍵就是細胞狀態,在整個序列的運算過程中只有少量的線性交互,所以可以有效保存過去較長時刻的信息。

LSTM的細胞結構如圖2所示,當接收到前一個時刻隱藏層輸出ht-1和當前時刻輸入xt,首先會用遺忘門決定細胞狀態丟棄不重要的信息。遺忘門運算如公式(4)所示:

ft=σ(Wxfxt+Whfh(t-1)+Wcfc(t-1)+bf)

(4)

在上式中Wxf,Whf,Wcf,bf代表遺忘門的網絡參數。σ代表sigmoid激活函數,ft是遺忘門輸出向量,其中向量中的每一個元素都在(0,1)范圍內。代表著當前時刻細胞狀態ct中每個元素的重要程度。

圖2 LSTM神經元示意圖

LSTM還要確定當前時刻,細胞狀態哪些位置的信息需要更新和確定更新后的值。這個決定通過輸入門來完成。輸入門的運算過程如公式(5)(6)所示:

it=σ(Wxixt+Whiht-1+Wcict-1+bi)

(5)

(6)

當遺忘門和輸入門運算完成,LSTM會更新當前時刻的細胞狀態,更新細胞狀態的計算過程如公式(7)所示:

ct=ftc(t-1)+itct

(7)

式中,ft是遺忘門的輸出,代表著哪些信息需要遺忘,哪些信息需要保留。

LSTM最后會計算當前需要確定什么樣的信息需要輸出,這個任務主要靠輸出門根據當前的細胞狀態ct來完成。公式(8)計算確定哪些部分的細胞狀態需要輸出,公式(9)把細胞狀態通過tanh函數處理,得到一個(-1,1)范圍的值,并將其和ot相乘得到當前時刻最終的隱藏層輸出。

ot=σ(Wxoxt+Whoht-1+bo)

(8)

ht=ottanh(ct)

(9)

式中,Wxo,Who和bo是輸出門的參數,ht是當前時刻的隱層輸出。

LSTM在RNN的基礎上增加了三個門控制,分別是遺忘門,輸入門和輸出門。遺忘門和輸入門負責對細胞狀態的ct的更新。在網絡中ct會保留住序列數據的重要信息并可以傳遞較長的時刻,能夠有效的緩解長期依賴。LSTM目前已被廣泛的應用于序列標注,機器翻譯和語音識別等自然語言處理等任務中。

2.3 PM2.5預測模型

本文采用LSTM神經網絡實現,算法模型根據當前時刻最近20個小時的歷史空氣質量觀測數據預測未來5個小時PM2.5濃度值。這是個典型的時序預測問題,LSTM能夠有效的處理時序數據。算法網絡模型的整體結構圖如下圖3所示。

圖3 算法模型結構圖

在模型中x1,x2…x20代表某個觀測地點采集的最近20個小時歷史空氣數據。h1,h2…h20代表每個時刻輸出隱狀態向量。對于第時刻輸入數據xt={PM2.5, PM2.5_24h, PM10, PM10_24h, AQI}。xt為5維的向量數據,其中PM2.5是t時刻的PM2.5測量值,PM2.5_24h是t時刻PM2.5最近的24小時測量均值,PM10是時刻的PM10測量值,PM10_24h是時刻PM10最近的24小時測量均值。AQI(Air Quality Index)代表時刻的空氣污染指數。模型會依據20個小時的歷史數據,抽取特征,完成參數的學習,來預測未來5個小時的PM2.5濃度值。

模型輸入為最近20個小時歷史的測量數據x1,x2…x20,然后根據公式(4)(5)(6)(7)(8)(9)所述得到h1,h2…h20輸出隱狀態向量,經過公式(10)合并,得到編碼向量。

h=Concat(h1,h(2)…h20)

(10)

m=σ(Whmh+bhm)

(11)

PM2.5o=Wmom+bmo

(12)

公式(10)中代表對向量首位相連拼接合并,完成對歷史時刻數據的編碼。根據公式(11)對向量h經過一次全連接層線性變化得到模型最終的特征向量m,此時向量m就是模型對歷史數據抽取的抽象特征。在公式(11)中W_hm和b_hm代表全連接層的權重和偏置。在輸出層中,如公式(12)所示,模型會會根據特征向量預測出未來時刻的PM2.5,用PM2.5o表示。PM2.5o是一個5維的實數向量,包含預測出的未來5個小時的輸出值PM2.51h,PM2.52h,PM2.53h,PM2.54h,PM2.55h。

模型的訓練階段采用均方誤差MSE作為的損失函數,具體計算過程如公式(13)所示:

(13)

式中,N代表樣本的總數,j代表未來第小時,PM2.5j代表第j小時的預測值,yj代表第j小時的真實值。梯度優化過程中使用Adagrad[10]策略進行參數更新,初始的學習率設置為0.01。

算法模型的完整訓練過程如算法1所述。

算法1:基于LSTM的PM2.5預測算法

1: 初始化LSTM神經網絡參數,(公式(4)(5)(6)(7)(8)(9)中的W和b)

2: 初始化全連接層網絡參數,Whm和bhm

3: 初始化輸出層網絡參數Wmo和bmo

1: 定義M為訓練集總共batch數

2: for each iteration i=1,2,…,Mdo

3: 采樣一個batch的訓練樣本序列x,y

4: 根據公式(4)-(9)得到歷史序列隱狀態序列h1,h2,… ,h20

5: 根據公式(10)串聯合并h1,h2,… ,h20

6: 根據公式(11)(12)得到預測結果PM2.51h,PM2.52h...PM2.55h

7: 根據公式(13)計算模型損失

8: 計算網絡所有參數值的梯度

9: 更新參數值

10: end for

3 實驗結果與分析

3.1 數據集

本文選擇網絡公開的北京空氣質量數據作為實驗評測數據,數據包含2014年1月1日到2014年12月31日北京市內35個數據收集地點每小時的采集數據。實驗按照25個小時大小的滑動窗口切分數據,取前20個小時數據作為模型輸入數據,后5個小時的數據作為預測數據,生成樣本對數據集。在樣本對數據集中,本文隨機選擇20%作為測試數據,剩下的80%作為訓練數據。舍棄含有空值和異常數據樣本,共搜集得到517 476條訓練樣本,129 370條測試樣本。

3.2 實驗結果

本實驗環境主要參數CPU:Intel(R) Core(TM) i7-6800K CPU @ 3.40GHz,GPU顯卡:1 080 ti4,內存為32 GB,操作系統為Ubuntu 16.04 64 bit。實驗設置訓練迭代epochs為100,LSTM隱狀態維度為128維,損失函數選擇回歸預測常用的MSE均方誤差,batch size設置為64。迭代完成100次訓練,模型訓練學習曲線如圖4所示。

圖4 模型訓練學習曲線

由圖可知,隨著迭代次數的增加,訓練誤差和測試誤差都下降很快。當到迭代次數(epoch)達到100時,測試誤差和訓練誤差明顯有分叉的跡象,為避免模型發生過擬合,本文選擇到迭代次數到100次停止繼續訓練??梢钥闯鰜?,測試集誤差不斷下降,說明算法模型學到了數據的真實分布和潛在規律。

為驗證所提出算法的有效性,文本選取了3種機器學習算法作為對比參考,分別是ARIMA[11],SVM[12]和GBDT[13]。對比實驗各個算法根據給定大小的訓練數據集訓練模型,在同樣的測試集上得到測試結果,以MSE和準確率做為評價標準。準確率以不同的相對誤差作為條件,給定最近20個小時的歷史觀測數據預測未來5個小時的PM2.5濃度。誤差實驗結果如表1所示。

表1 MSE(均方誤差)實驗結果表

在實驗結果中LSTM取得了最小的均方誤差,在誤差評價指標上表現出較好的預測能力。準確率實驗結果如表2所示,在實驗過程中分別考慮了相對誤差在0.1,0.2和0.3的范圍內,對比不同算法取得的準確率,LSTM同樣取得了最好的預測效果,在準確率上表現出良好的時序列預測能力。

表2 準確率實驗結果表

為驗證本算法模型穩定性和實用性,本文選取測試數據中三個不同數據采樣地點并隨機采樣20天數據作為時間軸對比不同的算法預測效果,實驗結果如圖5、圖6和圖7所示。從三個采樣地點預測值與真實值對比來看,LSTM預測值與真實值的擬合更加好,沒有出現較大的明顯偏差。在圖5、圖6和圖7中,ARIMA,SVM和GBDT三個對比預測算法均出現了在序列拐點處的滯后性,與真實值有較大的偏差,說明三個預測算法,直接用歷史數據作為特征或者對歷史數據的簡單處理作為特征,并不能表現出其更深層次的序列規律。LSMT也表現出神經網絡特有的優勢,通過多種非線性運算能夠對高維數據抽取抽象和深層的特征,展現出比較好的預測和擬合效果。通多對同一種算法在不相同采樣地點的橫向對比,發現本文提出的LSTM預測算法具有更好的穩定性。如對比SVM算法分別在圖5、圖6和圖7中的表現,可以看到SVM在圖7中的擬合效果要比圖5和圖6中的效果差很多,而LSTM算法在三個圖中均表現出了不錯的效果,沒有根據不同采樣地點數據的變化而受到很大的影響。

圖5 算法預測對比圖(前門觀測點數據)

圖6 算法預測對比圖(天壇觀測點數據)

圖7 算法預測對比圖(通州觀測點數據)

4 結束語

文本提出了基于深度學習LSTM循環神經網絡的PM2.5預測算法,算法模型不需要對數據進行復雜的專業處理,LSTM可以抽取數據的時序特征,對未來時刻PM2.5進行有效的回歸預測。實驗結果也表明,本文提出的預測模型得到了良好的預測效果,可以依據某個為位置的最近20小時歷史測量數據,對未來5個小時的PM2.5值進行有效的預測。未來研究工作中可以對PM2.5濃度變化規律和機理進行深入的分析研究,結合更多的理論基礎對PM2.5進行更加精準的長時間段預測。

猜你喜歡
時刻公式神經網絡
基于遞歸模糊神經網絡的風電平滑控制策略
組合數與組合數公式
排列數與排列數公式
冬“傲”時刻
捕獵時刻
等差數列前2n-1及2n項和公式與應用
神經網絡抑制無線通信干擾探究
基于神經網絡的中小學生情感分析
基于Q-Learning算法和神經網絡的飛艇控制
一天的時刻
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合