賈春光
(云南財經(jīng)大學(xué)統(tǒng)計(jì)與數(shù)學(xué)學(xué)院,昆明650000)
近年來,中國工業(yè)化、城市化以及經(jīng)濟(jì)的快速發(fā)展,導(dǎo)致中國各大城市的空氣污染越來越嚴(yán)重,特別是空氣中的PM2.5 已經(jīng)嚴(yán)重影響到了人們的正常生活。PM2.5,也稱細(xì)顆粒,通常指的是直徑小于2.5 微米以下的顆粒物。
針對PM2.5 的建模和預(yù)測問題,Xiao Feng[1]用人工神經(jīng)網(wǎng)絡(luò)(ANN)去預(yù)測PM2.5——基于空氣運(yùn)動軌跡的地理模型,利用小波變換將PM2.5 的時間序列拆分成規(guī)律性更強(qiáng)的子序列,在利用ANN 分別對它們訓(xùn)練獨(dú)立的模型。王靜等人[2]通過支持向量機(jī)回歸算法對MODIS 遙感氣溶膠濃度分析數(shù)據(jù)與AERONET 地面?zhèn)鞲芯W(wǎng)絡(luò)的PM2.5 濃度數(shù)據(jù),進(jìn)行了擬合運(yùn)算,減少了空-地數(shù)據(jù)不匹配的問題:這種利用衛(wèi)星數(shù)據(jù)直接讀取及預(yù)測大氣顆粒物濃度的變化趨勢的方法,對遙感大氣預(yù)測平臺的整合具有重要意義。江蘇大學(xué)孫永霞[3]將關(guān)注點(diǎn)放在各個影響因子與全年霧霾總天數(shù)之間的關(guān)系上,提出了一種主成分分析法并輔以BP 神經(jīng)網(wǎng)絡(luò)的預(yù)測模型,一定程度上能準(zhǔn)確預(yù)測全年總霧霾天數(shù),對政府治理成果、重大政策制定具有指導(dǎo)意義。成都信息工程大學(xué)顏玉倩,朱克云等人[4]針對PM2.5 濃度預(yù)測,應(yīng)用逐步回歸對成都以及附近地區(qū)的一次霧霾發(fā)生進(jìn)程進(jìn)行測試,較為準(zhǔn)確地預(yù)測了霧霾等級。
在國外,西班牙馬德里大學(xué)(Madrid)的Esteban Pardo(B)和Norberto Malpica 基于深度神經(jīng)網(wǎng)絡(luò)[5],應(yīng)用LSTM(Long Short-Term Memory Networks)模型構(gòu)建了用于預(yù)測未來24 小時NO2濃度的預(yù)測系統(tǒng),包括連續(xù)12 個小時的污染物濃度值作為訓(xùn)練系統(tǒng)輸入,包含兩個LSTM 層,其次是兩個Dense 層,LSTM 層含有512個隱藏層單元,總的測試RMSE 是10.54ug/m3,并比較了對應(yīng)的CALIOPE 預(yù)測系統(tǒng)。美國加州伯克利大學(xué)(The University of California,Berkeley)的Vikram Reddy等人[6]基于北京污染與氣象信息的時間序列數(shù)據(jù),利用LSTM 模型基于遞歸神經(jīng)網(wǎng)絡(luò)(RNN)作為預(yù)測未來污染物對的框架[7],分析大規(guī)模的長時間序列數(shù)據(jù),提出相關(guān)的序列依賴性,并訓(xùn)練特定的規(guī)模。
本文將傳統(tǒng)的時間序列模型和LSTM(長短記憶網(wǎng)絡(luò))模型引入到PM2.5 的預(yù)測之中,并對實(shí)驗(yàn)結(jié)果進(jìn)行了分析和總結(jié)。
傳統(tǒng)的時間序列預(yù)測方法大都基于統(tǒng)計(jì)理論,通過構(gòu)建適當(dāng)?shù)臄?shù)學(xué)模型來擬合歷史時間序列曲線,而后依據(jù)所建立的模型來做預(yù)測。本文主要介紹的是ARIMA 模型。
求和自回歸平均模型的公式如下:
具有如上結(jié)構(gòu)的模型稱為求和自回歸平均模型,簡 記 ARIMA (p,d,q) , 其 中 ?d=(1-B)d;Φ(B)=1-φ1B-…-φpBp,為平穩(wěn)可逆ARMA(p,q)模型的自回歸系數(shù)多項(xiàng)式;Θ(B)=1-θ1B-…-θqBq,為平穩(wěn)可逆ARMA(p,q)模型的移動平滑系數(shù)多項(xiàng)式。
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)領(lǐng)域中的一個分支,它的主要目的是從大量的數(shù)據(jù)中找到某種規(guī)律。深度學(xué)習(xí)強(qiáng)調(diào)從連續(xù)的層中進(jìn)行學(xué)習(xí),是多層級聯(lián)的層級結(jié)構(gòu),每一層中許多非線性單元用于特征抽取和轉(zhuǎn)換,下一層的輸入是上一層的輸出,每深一層表示對數(shù)據(jù)更深的抽象。
近幾年,深度學(xué)習(xí)在實(shí)踐中,尤其是人工智能技術(shù)方面取得了革命性的突破和進(jìn)展,已經(jīng)被廣泛應(yīng)用于圖像分類、語音識別、手寫文字轉(zhuǎn)錄、機(jī)器翻譯、語音轉(zhuǎn)換、自動駕駛等各個領(lǐng)域,在這些方面的表現(xiàn)深度已經(jīng)可以媲美人類,甚至超越人類。
在現(xiàn)實(shí)生活中,有一種數(shù)據(jù)是與先后順序有關(guān)系的,如語音數(shù)據(jù)、翻譯的語句等。對于序列數(shù)據(jù),可以嘗試在隱藏層中加上一層自循環(huán)層,這就形成了循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Natural Network,RNN),它的基本機(jī)構(gòu)如圖1。
圖1 循環(huán)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
其中X 是輸入的變量,U 是輸入到隱含層的權(quán)重矩陣,W 是狀態(tài)到隱含層的權(quán)重矩陣,S 為狀態(tài),V 是隱含層到輸出層的權(quán)重矩陣,O 是輸出的結(jié)果[13]。從圖1 不難看出,它的共享參數(shù)方式是各個時間節(jié)點(diǎn)對應(yīng)的W、U、V 都是不變的,通過這種方法實(shí)現(xiàn)參數(shù)共享,同時大大降低參數(shù)的數(shù)量。
長短時記憶網(wǎng)絡(luò)是一種特殊的RNN,它能夠?qū)W習(xí)長時間依賴。它們由Hochreiter&Schmidhuber(1997)提出,后來由很多人加以改進(jìn)和推廣[13]。
LSTM 的循環(huán)結(jié)構(gòu)如圖2。
圖2 LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
其中帶箭頭的黑線表示數(shù)據(jù)流向,輸入的數(shù)據(jù)為向量形式,粉紅色圓圈表示兩個數(shù)據(jù)所做的向量操作,黃色方框表示數(shù)據(jù)向量要做的映射,黑線分成兩個表示數(shù)據(jù)向量有兩個用處。
本文中用到了三個常用的評價指標(biāo):均方誤差根(RMSE)、平均絕對誤差(MAE)和平均絕對百分比誤差(MAPE)。三個指標(biāo)的評價公式如下:
其中,n 為測試樣本的總量,yi為第i 個數(shù)據(jù)點(diǎn)的真實(shí)值,為第i 個數(shù)據(jù)點(diǎn)的預(yù)測值。
本次數(shù)據(jù)來源于中國質(zhì)量分析監(jiān)測平臺,數(shù)據(jù)集的詳細(xì)情況見表1。
表1 空氣質(zhì)量數(shù)據(jù)集信息
該數(shù)據(jù)集一共有1530 個時間點(diǎn)的數(shù)據(jù),涵蓋了2015 年1 月1 日開始到2019 年3 月10 日結(jié)束時昆明市空氣質(zhì)量指數(shù)信息。每個時間點(diǎn)以日為單位。實(shí)驗(yàn)中將最后的153 個時間點(diǎn)的數(shù)據(jù)取出來作為測試點(diǎn),來對模型進(jìn)行測試。
本文主要是針對PM2.5 進(jìn)行建模和預(yù)測,首先看一下PM2.5 濃度在數(shù)據(jù)集中的表現(xiàn)。從圖3 中可以看出,這是一個有周期性規(guī)律的時間序列,并且各觀測點(diǎn)間的方差似乎是穩(wěn)定的。
圖3 昆明市2015年到2019年每日PM2.5濃度
接下來看一下昆明市PM2.5 濃度后一日相比于前一日的增長率,如圖4。
圖4 昆明市2015年到2019年每日PM2.5濃度的增長率
其中,上述藍(lán)色的點(diǎn)代表后一天比前一天PM2.5的濃度高,綠色的點(diǎn)代表后一天比前一天PM2.5 的濃度低,從圖中可以看出,PM2.5 的增長率是下降的天數(shù)的多,上升的天數(shù)少,說明昆明市的空氣質(zhì)量正在好轉(zhuǎn)。
最后看一下昆明市PM2.5 濃度后一年相比前一年的增長率,如圖5。
圖5 昆明市2015年到2019年每年P(guān)M2.5濃度的增長率
從圖5 可以看出,從2015 年到2018 年之間,昆明市PM2.5 濃度的年增長率都是負(fù)的,說明PM2.5 的濃度每年都會減少,但近幾年下降的幅度都在不斷減少。
建立ARIMA 模型的步驟包括:
(1)確保時序是平穩(wěn)的;
(2)選定可能的p 值和q 值;
(3)擬合模型;
(4)評估模型;
(5)預(yù)測。
首先在拿到一組數(shù)據(jù)后,需要判別其是否平穩(wěn),本文使用的是ADF 檢驗(yàn),即單位根檢驗(yàn),檢驗(yàn)結(jié)果顯示p值為0.01,序列是平穩(wěn)的。
在得到平穩(wěn)的時間序列后,可以通過ACF 圖(自相關(guān)函數(shù)圖)和PCAF 圖(偏自相關(guān)函數(shù)圖)來選擇備選模型,確立模型各個參數(shù),但這種觀察方式,有時會帶來極大的誤差,使判別模型的預(yù)測效果并不是十分的理想,因此,在定階的過程中常常使用AIC 或者是BIC 的方式,本文采用了AIC 自動定階算法,算法的思想是通過判斷不同的p 和q 的取值,從而算出不同的AIC,找到使AIC 值最小的p 和q 的組合,即為ARIMA模型的最優(yōu)階數(shù)。最后,函數(shù)選定ARIMA(2,0,3)。
最后直接將模型應(yīng)用到測試序列中,函數(shù)返回了模型的2 個回歸系數(shù)分別為1.263、-0.2767;3 個移動平均系數(shù)分別為-0.5385、-0.2615、-0.072。最終ARIMA(2,0,3)的表達(dá)式如下:
模型確定后,可以用RMSE、MAE、MAPE 來評價模型,它們的值分別為8.657833、6.528301、25.4%。
最后看一下模型在測試時間數(shù)據(jù)上的表現(xiàn),如圖6。
圖6 ARIMA模型的預(yù)測值和真實(shí)值
從圖6 可以看出,預(yù)測的效果并不是很理想。測試數(shù)據(jù)模型的RMSE、MAE、MAPE 分別為8.737107、7.182098、36.46%。
本文構(gòu)建的LSTM 模型主要是在Keras 平臺上進(jìn)行的。
(1)單變量預(yù)測
首先只用PM2.5 這一列數(shù)據(jù)進(jìn)行建模,接下來對LSTM 模型各個超參數(shù)進(jìn)行如表2 設(shè)置.
表2 單變量LSTM 模型的參數(shù)設(shè)置
批次大小表示每次迭代需要的樣本數(shù)量,迭代的次數(shù)可以看做訓(xùn)練集學(xué)習(xí)的次數(shù),時間窗口可以看做滯后階數(shù),當(dāng)時間窗口為1 時表示模型用上一時刻的數(shù)據(jù)去訓(xùn)練下一時刻的數(shù)據(jù),輸出維度表示LSTM 層神經(jīng)元的個數(shù)。
其中激活函數(shù)RELU 的表達(dá)式如下:
在擬合好模型后,模型在測試樣本上的表現(xiàn)如圖7。
圖7 單變量LSTM模型的預(yù)測值和真實(shí)值
從圖7 可以看出來,預(yù)測效果相較于ARIMA 模型要好一些。測試集的RMSE、MAE、MAPE 分別為6.59、4.96、23.7%。比ARIMA 模型的精度要高。
通過圖7 可以發(fā)現(xiàn),測試結(jié)果與原始數(shù)據(jù)出現(xiàn)了“平移錯位”,出現(xiàn)了這種情況的主要原因是模型沒有抓住原始數(shù)據(jù)“季節(jié)性”的特點(diǎn)。因此,改變look_backs設(shè)定值,表3 展示了不同設(shè)定值的測試數(shù)據(jù)的誤差。
表3 不同時間窗口模型的評價指標(biāo)
當(dāng)時間窗口為3 或者12 的時候,預(yù)測的結(jié)果較好。當(dāng)時間窗口大于12 時,預(yù)測精度就會有一個明顯的降低。
(2)多變量預(yù)測
本文收集的數(shù)據(jù)還有其它空氣質(zhì)量指標(biāo),例如AQI(空氣指數(shù))、PM10(可吸入顆粒物)、SO2(二氧化硫)、CO(一氧化碳)、NO2(二氧化氮)和O3_8h(臭氧每8 時平均濃度),這些指標(biāo)或多或少的也會影響PM2.5的濃度。
在建立模型前,需要對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,本文采用的是最大值-最小值法,公式如下:
其中xmax為樣本變量中的最大值,xmin為樣本變量中的最小值。
接下來對這些數(shù)據(jù)應(yīng)用LSTM 模型,參數(shù)設(shè)置如表4。
表4 多變量LSTM 模型的參數(shù)設(shè)置
在擬合好模型后,最后看一下模型在測試集的表現(xiàn),如圖8。
圖8 多變量LSTM模型的預(yù)測值和真實(shí)值
從圖8 可以看出,多變量LSTM 模型沒有了“平移錯位”的現(xiàn)象,預(yù)測趨勢也與原始數(shù)據(jù)相對吻合,但誤差較大。造成這種誤差偏大的原因可能是LSTM 層的維度造成的,不同維度模型的精度如表5。
表5 不同維度模型的評價指標(biāo)
從表5 可以看出,隨著輸出維度的增加,模型的精度在逐步降低。
本文基于昆明市的空氣質(zhì)量監(jiān)測數(shù)據(jù),將最近流行的深度學(xué)習(xí)內(nèi)容應(yīng)用到PM2.5 濃度的預(yù)測中,本文從單變量和多變量兩個方面上應(yīng)用LSTM 模型,單變量LSTM 模型的誤差較小,但會出現(xiàn)“平移錯位”的現(xiàn)象;多變量LSTM 模型不會出現(xiàn)“平移錯位”的現(xiàn)象,但誤差相對較大。LSTM 模型很好地解決了梯度消失和梯度爆炸的問題,相比傳統(tǒng)的時間序列模型具有較好的學(xué)習(xí)能力,從而使得模型的預(yù)測效果更好。