韓 偉,吳艷蘭,任 福
(1. 武漢大學 資源與環(huán)境科學學院,湖北 武漢 430079;2. 安徽大學 資源與環(huán)境工程學院,安徽 合肥 230601)
空氣質(zhì)量問題在經(jīng)濟發(fā)展迅速的今天愈發(fā)引起人們的關(guān)注,大范圍、長時間、高濃度污染狀況頻發(fā),嚴重影響人們生產(chǎn)生活以及身體健康.定量描述空氣質(zhì)量狀況對于地區(qū)空氣污染預防及制定相對對策意義重大.在國內(nèi),定量描述空氣質(zhì)量狀況主要有兩個指數(shù)[1],一個是空氣污染指數(shù)(Air Pollution Index, API),另一個是空氣質(zhì)量指數(shù)(Air Quality Index, AQI).在2012年政府出臺的相關(guān)規(guī)定中,將AQI替代原有的API成為新的空氣質(zhì)量標準.AQI作為定量描述空氣質(zhì)量狀況的常用指標,是一種非線性無量綱指數(shù),其數(shù)值越大、級別越高、表征顏色越深,說明空氣污染狀況越嚴重,對人體的健康危害也就越大.然而AQI的計算結(jié)果很大程度上取決于相應地區(qū)空氣質(zhì)量分指數(shù)及對應的污染物項目濃度指數(shù)表,因而對于AQI的計算具有極大的地區(qū)效應[1].為了擺脫AQI的地區(qū)效應,對AQI分級計算參與的空氣污染物SO2、NO2、PM10、PM2.5、O3、CO等6種的濃度值的預測是十分必要的.
空氣污染物預測是根據(jù)歷史污染物的數(shù)據(jù),氣象數(shù)據(jù)等進行次日空氣污染物的預測.在應用研究中,常見的主要是基于理論的方法和基于統(tǒng)計的方法[2-3].基于理論的方法是物理化學過程中的確定性預測方法,利用數(shù)學方法建立大氣污染濃度在空氣中的稀釋擴散的數(shù)值模型,通過計算機高速計算來預報大氣污染物濃度在空氣中的動態(tài)變化.國外空氣污染預報工作起步較早,目前國際上已經(jīng)開發(fā)出多種數(shù)值預報的空氣質(zhì)量模型,如城市尺度的城市大氣質(zhì)量模型(Urban Airshed Model,UAM)、區(qū)域多尺度空氣質(zhì)量模型(Community Multiscale air quality, CMAQ)等,在科研領(lǐng)域中得到了廣泛的應用.在國內(nèi),學術(shù)界也對空氣質(zhì)量預測的問題進行了深入的研究.中國科學院的雷孝恩建立了對流層高分辨率化學預報模型,該模型可預報對流層內(nèi)多種氣體污染物的時空分布及演變過程.中國氣象科學研究院的徐大海建立了大氣平流擴散的非靜穩(wěn)多箱模型,該模型可以預報空氣污染潛勢和污染指數(shù)[4].還有中國科學院大氣物理研究所的王自發(fā)建立了嵌套網(wǎng)格空氣質(zhì)量預報系統(tǒng)[5]和中國氣象局沈陽大氣環(huán)境研究所在氣象中尺度數(shù)值預報模型MM5和ADMS城市模型大氣擴散模型的基礎(chǔ)上[6]建立的城市空氣質(zhì)量預報系統(tǒng).盡管在理論上污染數(shù)據(jù)準確,方程模型全面,該方法能得到很高的準確度,但是巨大的計算量和數(shù)據(jù)收集的偏差仍然影響著模型的預測[4].
基于統(tǒng)計的方法也是近幾年來比較熱門的方法,是以統(tǒng)計學為基礎(chǔ),通過分析歷史空氣污染數(shù)據(jù),對未來的趨勢進行預測.由于其成本低,快捷,簡單的特點,受到許多研究者的關(guān)注.常見的一些預測模型包括多元回歸模型[7],時間序列模型[8-9],神經(jīng)網(wǎng)絡(luò)模型等[3-4,10-17],其中非神經(jīng)網(wǎng)絡(luò)模型需要做出假設(shè)分析,挖掘?qū)︻A測結(jié)果存在影響的特征因子,在眾多特征因子與預測結(jié)果中建立相應的數(shù)學關(guān)系,存在一定的主觀性,較為復雜.而神經(jīng)網(wǎng)絡(luò)模型能夠像人類大腦一樣自動學習到相關(guān)的特征,建立出相應的預測模型,在精準度上得到了一定的改善,但訓練時間較長,泛化效果較差.
在神經(jīng)網(wǎng)絡(luò)對空氣污染物預測的研究中,更多的注重于單一神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的構(gòu)建,本文正是針對神經(jīng)網(wǎng)絡(luò)的高精準度,同時利用不同模型的混合能夠改善單一模型的精度和泛化性的特性,借助Keras和tensorflow神經(jīng)網(wǎng)絡(luò)框架,構(gòu)建了基于全連接神經(jīng)網(wǎng)絡(luò)和LSTM神經(jīng)網(wǎng)絡(luò)的空氣污染物預測混合模型.
神經(jīng)網(wǎng)絡(luò)[3-4,10-17]是一種模仿生物神經(jīng)網(wǎng)絡(luò)(動物的中樞神經(jīng)系統(tǒng),特別是大腦)的結(jié)構(gòu)和功能的數(shù)學模型或計算模型,用于對函數(shù)進行估計或近似.神經(jīng)網(wǎng)絡(luò)由大量的人工神經(jīng)連接進行計算.大多數(shù)情況下人工神經(jīng)網(wǎng)絡(luò)能在外界信息的基礎(chǔ)上改變內(nèi)部結(jié)構(gòu),是一種自適應系統(tǒng).現(xiàn)代神經(jīng)網(wǎng)絡(luò)是一種非線性統(tǒng)計性數(shù)據(jù)建模工具.
神經(jīng)網(wǎng)絡(luò)包含輸入層、隱藏層、輸出層,當相鄰層神經(jīng)元兩兩相連時,即構(gòu)成全連接神經(jīng)網(wǎng)絡(luò).它的目標是近似某個函數(shù)f*.如對于分類器,y=f*(x)將輸入x映射到一個類別y.它定義了一個映射,如下:
通過學習參數(shù)θ的值,使它能夠得到最佳的函數(shù)近似.
全連接神經(jīng)網(wǎng)絡(luò)包括線性部分和非線性部分.對于輸入向量x=[x1,x2,…,xn]T,其經(jīng)過隱含層,先得到線性輸出向量z=[z1,z2,…,z3]T,主要通過權(quán)重向量W與偏置向量來確定的,也正是神經(jīng)網(wǎng)絡(luò)需要學習的參數(shù),即按下式計算:
在得到線性輸出向量后,利用非線性函數(shù)對輸出向量進行轉(zhuǎn)換得到隱含層的輸出向量h=[h1,h2,…,hn]T或者輸出層的輸出向量y=[y1,y2,…,yn]T,在神經(jīng)網(wǎng)絡(luò)中這種非線性函數(shù)也叫做激活函數(shù),常見的主要是Relu函數(shù)和sigmoid函數(shù),其形式如下:
Relu函數(shù):
Sigmoid函數(shù):
全連接神經(jīng)網(wǎng)絡(luò)整體結(jié)構(gòu)如圖1所示,其本質(zhì)就是通過參數(shù)和激活函數(shù)擬合已知特征與目標之間的關(guān)系.
圖1 全連接神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 The structure of full-connection neural network
其中,[x1,x2,…,xn]是輸入層的輸入值,[h1,h2,…,hn]是隱藏層的輸出值,[y1,…,yn]是輸出層的輸出值,輸入層和隱藏層使用的激活函數(shù)是relu函數(shù),而輸出層采用的是Sigmoid激活函數(shù).該神經(jīng)網(wǎng)絡(luò)能夠較為準確地捕捉數(shù)據(jù)間的特征關(guān)系,預測精度較高,但是由于每個神經(jīng)元都相互連接,訓練的參數(shù)較多,對硬件的要求較高.
1.2.1 模型數(shù)據(jù)
為了更加精確地預測次日空氣污染物的濃度值,其中空氣污染物包括SO2、NO2、PM10、PM2.5、O3、CO,模型中考慮過去七天的空氣污染物濃度值和大氣情況等138個特征(7天),這138個特征包括過去七天中每天的空氣污染物和大氣特征.對于大氣特征包括平均日溫、最高日溫、最低日溫、露點溫度、平均濕度、最高濕度、最低濕度、降雨量、海平面氣壓、風速、最快風速、能見度,具體特征見表1.
表1 一天的特征變量及符號表示Tab.1 The representation of features and symbols in a day
模型的輸出是預測當天的空氣污染物.該模型以武漢市2013年12月2日至2017年8月14日之間接近4年的數(shù)據(jù)作為模型的數(shù)據(jù)來源.
1.2.2 模型結(jié)構(gòu)設(shè)計
鑒于已知的特征數(shù)據(jù),輸入層是138維經(jīng)過歸一化處理的向量,為了避免過擬合以及經(jīng)過實驗驗證,模型選擇了兩層隱藏層,第一層隱藏層設(shè)置了50層過濾器,并使用激活函數(shù)Relu函數(shù)進行第一層隱藏層的輸出,第二層隱藏層設(shè)置了25層過濾器,并使用激活函數(shù)Relu函數(shù)進行第二層隱藏層的輸出,最后輸出層輸出6維歸一化后的目標值,對目標結(jié)果進行歸一化逆變換得到最終的預測結(jié)果,其中最后輸出層與分類器模型不同的是預測結(jié)果并未使用激活函數(shù),原因是回歸模型最終得到的是一個目標值,而不是類別的概率,同時使用兩層隱藏層是為了讓神經(jīng)網(wǎng)絡(luò)能夠?qū)W習到更多的變量特征且避免更多隱藏層對數(shù)據(jù)的過度擬合.過濾器相當于特征映射,逐層的降低是為了讓數(shù)據(jù)歸一化到最后的目標,在訓練的過程中通過設(shè)置不同的過濾器數(shù)目來調(diào)整預測值與目標值的差距.
模型的訓練主要包括模型參數(shù)的初始化和參數(shù)的微調(diào).在參數(shù)初始化過程中,損失函數(shù)的選擇與模型任務(wù)息息相關(guān),由于空氣污染物預測屬于回歸預測,因而損失函數(shù)選擇的是均方根誤差,其公式如下:
模型的目的就是最大化地減少損失函數(shù)的值,從而調(diào)整每個參數(shù)的值,因而模型選擇的優(yōu)化方法是Adam算法,Adam算法根據(jù)損失函數(shù)對每個參數(shù)的梯度的一階矩估計和二階矩估計動態(tài)調(diào)整針對每個參數(shù)的學習速率.Adam也是基于梯度下降的方法,但是每次迭代參數(shù)的學習步長都有一個確定的范圍,不會因為很大的梯度導致很大的學習步長,參數(shù)的值比較穩(wěn)定.
同時在訓練時,模型訓練結(jié)果的評價標準采用平均絕對百分誤差MAPE,其值越接近于0,預測的準確度越高,其公式如下:
經(jīng)過多次試驗比較,不斷修改學習速率的大小以及Adam算法其他參數(shù),以保證最后的結(jié)果趨近于目標值,學習到更加精確的權(quán)重.
LSTM神經(jīng)網(wǎng)絡(luò)[3,15-16]即Long Short Term網(wǎng)絡(luò),屬于循環(huán)神經(jīng)網(wǎng)絡(luò)RNN的一種,可以學習長期依賴的信息.RNN的關(guān)鍵點之一就是他們可以用來連接先前的信息到當前的任務(wù)上,如使用過去的視頻段來推測對當前段的理解,從理論上可以解決長期依賴的問題,但在實踐中肯定不能夠成功學習到這些知識.而LSTM卻沒有這種問題,它通過刻意的設(shè)計來避免長期依賴問題.記住長期的信息在實踐中是LSTM的默認行為,而非需要付出很大代價才能獲得的能力.其具體結(jié)構(gòu)如圖2所示.LSTM與RNN的主要區(qū)別在于其算法中加入了一個判斷信息有用與否的"處理器",這個處理器作用的結(jié)構(gòu)被稱為cell.
一個cell當中被放置了三扇門,分別叫做輸入門、遺忘門和輸出門.一個信息進入LSTM的網(wǎng)絡(luò)當中,可以根據(jù)規(guī)則來判斷是否有用.只有符合算法認證的信息才會留下,不符合的信息則通過遺忘門被遺忘,從而有效地解決長期依賴的問題.
圖2 RNN和LSTM結(jié)構(gòu)的對比[18]Fig.2 The contrast of RNN and LSTM structure
2.2.1 模型數(shù)據(jù)
該模型使用的數(shù)據(jù)跟全連接神經(jīng)網(wǎng)絡(luò)不同,模型考慮更多的是時間上的關(guān)聯(lián)性,所使用的數(shù)據(jù)僅僅只有過去的空氣污染物的濃度值,沒有加入歷史的大氣數(shù)據(jù),通過對歷史SO2、NO2、PM10、PM2.5、O3、CO 6種空氣污染物的濃度值在時間維度上的分析,預測次日這幾種污染物的準確濃度值.其中,前一天6種空氣污染物的濃度值作為模型的輸入,后一天6種污染物的濃度值作為模型的輸出,形成一組訓練集或者測試集.
2.2.2 模型結(jié)構(gòu)設(shè)計
模型的結(jié)構(gòu)主要取決于LSTM神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),其核心結(jié)構(gòu)包括輸入層、LSTM層、輸出層,其中LSTM層是整個模型的關(guān)鍵,通過前一天空氣污染物的情況來預測第二天的空氣污染物情況,再通過第二天的空氣污染物情況來預測第三天的情況,以此類推,將歷史的空氣污染情況逐漸向前傳遞,cell中的遺忘門起到控制內(nèi)部狀態(tài)信息的作用,門的輸入為上一個時刻點的隱藏節(jié)點的輸出以及當前的輸入,激活函數(shù)為sigmoid,因為sigmoid的輸出為0~1之間,將內(nèi)部狀態(tài)節(jié)點的輸出與遺忘門的輸出相乘可以起到控制信息量的作用,從而保證模型能夠吸收歷史空氣污染情況的有用信息,忽略無用的信息,并充分節(jié)省所使用的資源和時間.其具體結(jié)構(gòu)如圖3所示.
圖3 LSTM預測模型簡化結(jié)構(gòu)Fig.3 The simplif i ed structure of LSTM prediction model
圖3 中,左邊是6種空氣污染物前一天的濃度值,作為LSTM模型的輸入,右邊是后一天的濃度值,作為模型的輸出,對于原始數(shù)據(jù)將相鄰兩天的污染物的濃度值分別作為模型的輸入與輸出,從而作為一組訓練集或者測試集.
同時為了保證最后模型能夠進行有效的對比,該模型使用的優(yōu)化算法也是Adam算法,評價標準依然采用平均絕對百分誤差MAPE,但是在實驗基礎(chǔ)上,參數(shù)的具體數(shù)值會有所區(qū)別.
混合預測模型是將多個模型得到的結(jié)果進行融合得到一個更好更全面的模型,實質(zhì)是減小偏差(bias)和方差(variance),使模型達到最優(yōu)的結(jié)果,bias與variance的關(guān)系如圖4所示.
圖4 偏差與方差的關(guān)系圖[19]Fig.4 Diagram of relationship on bias and variance
其中,多個模型融合的方式有多種,包括投票,平均化或者用另一種算法進行再訓練等,不同的融合方式適合于不同的情形.對于空氣污染物預測,其本身屬于回歸問題,并且訓練的基模型只有全連接神經(jīng)網(wǎng)絡(luò)預測模型和LSTM預測模型兩種,基模型數(shù)量較少,因而對基模型進行復雜融合方式容易造成結(jié)果過擬合,利用簡單的線性疊加更加適合,避免過擬合問題的發(fā)生.盡管兩種基模型在一定程度上均有一定的預測作用,但是從學習特征的角度是有所區(qū)別的,全連接神經(jīng)網(wǎng)絡(luò)更加趨于輸入數(shù)據(jù)彼此的影響,而LSTM模型更大程度上考慮到了時間上的關(guān)聯(lián)性,將兩種模型進行融合能夠有效擴大假設(shè)空間,避免模型陷入局部極小,因而將兩種模型的結(jié)果進行線性疊加將會獲得更好的效果.
將訓練數(shù)據(jù)分成兩部分,一部分用來訓練上述的全連接神經(jīng)網(wǎng)絡(luò)和LSTM網(wǎng)絡(luò)預測模型,另一部分用來訓練兩種模型輸出結(jié)果后的線性模型,也就是混合預測模型,其具體公式為:
其中,y代表最后混合預測模型結(jié)果,x1代表全連接神經(jīng)網(wǎng)絡(luò)的預測結(jié)果,x2代表LSTM神經(jīng)網(wǎng)絡(luò)的預測結(jié)果,a,b,c正是要學習的參數(shù),代表權(quán)重和偏置值.
將兩種預測模型進行線性疊加不僅能夠提高一定的準確度,而且可以降低預測結(jié)果的方差,提高泛化能力.
在以武漢市2013年12月2日至2017年8月14日之間接近4年共計1 350條數(shù)據(jù)為例時,通過對這3種模型進行學習訓練,以平均絕對百分誤差MAPE為評價標準(公式(5)).其中武漢市的數(shù)據(jù)是在數(shù)據(jù)網(wǎng)站中國空氣質(zhì)量在線監(jiān)測分析平臺(https://www.aqistudy.cn/historydata)和weatherunderground平臺(https://www.wunderground.com/history/)通過爬蟲獲取的,數(shù)據(jù)特征見表1,并隨機將數(shù)據(jù)中的80%作為訓練集,剩下的20%作為測試集,進行了10次隨機實驗,經(jīng)過前期的訓練和預測,10次隨機實驗結(jié)果的規(guī)律基本保持一致,所以本文選取了其中一次實驗進行分析與驗證.這次實驗中3種模型在6種空氣污染物中的表現(xiàn)與真實情況進行對比分析如圖5所示.
圖5 各預測模型結(jié)果Fig.5 The results of all predicted models
散點圖中藍色和紅色分別代表各種污染物濃度值的真實值和預測值,整體上看,各種空氣污染物的真實分布與預測分布是一致的,甚至在污染物濃度值出現(xiàn)極值的情況下也能夠捕捉到相關(guān)的信息,但是在極值點的情況下,LSTM模型和混合預測模型明顯優(yōu)于全連接神經(jīng)網(wǎng)絡(luò),但是整體上散點圖中無法觀看到3種模型擬合的差異性以及哪種模型具有更高的精準度.所以,為了更加顯著地顯示混合模型對于單一模型的優(yōu)勢,本文采用評價標準平均絕對百分誤差MAPE(公式(6))來具體觀察3種模型的差異性,因為空氣污染物預測是一個回歸問題,不能使用準確率,召回率等一些分類指標,而相對于其他回歸指標,MAPE指標不僅能夠表明每一種空氣污染物預測值與真實值的差距,而且能夠?qū)⒉煌廴疚锏牟罹喾旁谕粋€標準下進行比較對比,避免了不同污染物因為在空氣中占比差異導致最后結(jié)果不在同一個標準范圍.最后3種模型在測試集上的MAPE平均預測結(jié)果見表2.
表2 隨機測試集上的平均測試結(jié)果Tab.2 The average test results of randomized test set
從模型在預測集上的平均絕對百分誤差的結(jié)果中可以看出3種模型在6中空氣污染物的預測中均有較高的準確度,3種預測模型在NO2和CO兩種空氣污染物上的預測準確度均是最好的,表明這兩種空氣污染物較為穩(wěn)定,易于挖掘出它們的變化趨勢,而PM10、PM2.5、O33種空氣污染物在3種模型中表現(xiàn)是較好的,說明這3種空氣污染物具有一定的穩(wěn)定性,通過歷史數(shù)據(jù)的分析能夠?qū)Υ稳瘴廴疚锏念A測做出基本的掌控,最后SO2在全連接神經(jīng)網(wǎng)絡(luò)預測模型和LSTM神經(jīng)網(wǎng)絡(luò)預測模型兩種單預測模型的預測結(jié)果中表現(xiàn)的都不是太好,但是在混合預測模型上得到了10%以上的提升,因而從整體上說混合模型較前兩種單模型在6種污染物上的預測精度均有一定提升,具有一定的應用價值,而且泛化能力得到了一定的提高,各種污染物的平均絕對百分誤差的差距縮短了,因而實際的效果會更好.
本文針對空氣環(huán)境質(zhì)量數(shù)據(jù),利用神經(jīng)網(wǎng)絡(luò)在環(huán)境方面的應用,提出了一種基于全連接神經(jīng)網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)LSTM的混合預測模型.該模型是以兩種神經(jīng)網(wǎng)絡(luò)預測模型作為基礎(chǔ),經(jīng)過線性疊加,建立一種對次日空氣污染物包括SO2、NO2、PM10、PM2.5、O3、CO等6種污染物濃度值的預測.最終通過實驗得到以下結(jié)論:
1)通過全連接神經(jīng)網(wǎng)絡(luò)模型,過去七天空氣污染物包括SO2、NO2、PM10、PM2.5、O3、CO等污染物濃度值和大氣數(shù)據(jù)包括濕度,風速等指標數(shù)值是可以預測次日SO2、NO2、PM10、PM2.5、O3、CO等空氣污染物濃度值.
2)通過時序神經(jīng)網(wǎng)絡(luò)LSTM模型,過去一天空氣污染物的濃度值可以預測次日空氣污染物的濃度值.
3)混合預測模型可以結(jié)合全連接神經(jīng)網(wǎng)絡(luò)模型和時序神經(jīng)網(wǎng)絡(luò)LSTM模型,對次日空氣污染物進行濃度值的預測.
4)混合預測模型在空氣污染物的預測上要比單一模型,如全連接神經(jīng)網(wǎng)絡(luò)模型和時序神經(jīng)網(wǎng)絡(luò)LSTM模型的預測精度更高,效果更好,具有更高的應用價值.
本文在建立模型的過程中,由于硬件和數(shù)據(jù)量的限制,無法對模型進行更加復雜的設(shè)計,包括對神經(jīng)網(wǎng)絡(luò)深度的探索,正則化的處理等,下一步將收集更大數(shù)據(jù)量,在改善硬件環(huán)境下進行更深層次的探索與分析.