賈佳美,池凱凱+,吳哲翔
(1.浙江工業大學 計算機科學與技術學院,浙江 杭州 310000; 2.國網浙江省電力公司 金華供電公司,浙江 金華 321000)
隨著工業化程度的提升,空氣污染問題日益嚴重,尤其以直徑小于2.5 μm的顆粒物為主,學名PM2.5,極大影響著居民的身體健康,帶來心血管、支氣管炎、哮喘等諸多呼吸類疾病。因此,對空氣PM2.5濃度做出精確預測是預防疾病、指導高質量生活出行的關鍵步驟。
空氣質量與污染的影響因素較為復雜,目前PM2.5濃度預測主要分為兩種:機理模型和非機理模型。機理模型是基于物理化學原理對污染物的理化反應進行模擬分析,其預測準確度主要由污染源排放數值、空氣質量監測數據等因素決定,如:預報模型[1]、多尺度質量模型[2]、多模式預報模型[3]等均是常用機理模型。機理模型預測的實時性較好,準確性也較高,但所涉及的空氣、污染物等相關因素的理化反應較為復雜,成本高,實用性較差。非機理模型是基于機器學習和統計學的預測模型,通過歷史數據特征發現變化規律,極大簡化了PM2.5預測的相關影響因素,應用也越來越成熟。目前非機理預測模型主要有:多元線性回歸模型[4,5]、支持向量機模型SVM[6,7]、灰色理論模型[8,9]和BP神經網絡模型[10,11]等。多元線性回歸和灰色理論模型在預測PM2.5上具有一定適用性,但由于影響PM2.5的污染物因子間具有相互作用,體現強烈非線性特征,故其預測準確度不高。相對而言,BP神經網絡更加適用于具有明確非線性環境的預測模型,已廣泛應用于諸多領域。如:文獻[10]設計了基于BP神經網絡的非線性回歸PM2.5預測模型,將空氣中的幾種污染物考慮為神經網絡的輸入層節點數,但作者對BP神經網絡本身易于陷入局部最優的不足未作優化。文獻[11]同時考慮氣象因素和大氣污染物,通過融合粒子群優化和遺傳優化對BP神經網絡的權重和閾值進行尋優,提升了算法的收斂速度和預測準度,但對群體智能算法本身易于早熟的不足未作優化,這會導致神經網絡訓練出現“過訓練”。文獻[12]考慮大氣環境的復雜多變和不確定性,利用遺傳算法對支持向量機SVM進行參數尋優,進而完成對空氣指數的實時預測。文獻[13]引入混沌思想改進粒子群的尋優性能,再基于改進粒子群對BP神經網絡的參數進行優化,以提升PM2.5預測模型的預測精度,但混沌僅提升了種群跳出局部最優的能力,種群的多樣性、粒子的局部開發和全局搜索能力間的均衡,均沒有得到改善,這樣導致神經網絡的訓練質量依然有待改善。
對此,提出在改進粒子群尋優精度和效率基礎上,設計改進BP神經網絡訓練模型,進而設計可用于空氣PM2.5濃度預測的有效模型。具體做法是:利用改進的粒子群尋優機制對BP神經網絡層次間的權值和閾值進行最優化求解,克服其易于陷入局部最優、收斂速度慢的不足,最后以配置最優參數的神經網絡進行PM2.5濃度預測,提升預測準確度。最后選取某市某一時期的PM2.5日均濃度數據作為樣本進行實驗分析,驗證了該預測模型和算法可以有效提升PM2.5濃度的預測精度,且算法迭代速度更快。
BP神經網絡是一種依據誤差反向傳播算法訓練的多層次前饋神經網絡,使用最為廣泛,模型如圖1所示。在信息正向傳播中,若令輸入樣本為X={x1,x2,…,xn},它將順次通過輸入層、隱含層,最后傳輸至輸出層。網絡學習過程包括信息正向傳播和誤差反向傳播,通過反復訓練,迭代地在相對誤差函數梯度下降的方向上,不斷修正網絡參數,使實際輸出值向期望輸出值迭代式逼近。圖1中,V和W分別表示輸入層與隱含層之間、隱含層與輸出層之間的網絡權值集,|W|=n×q,|V|=q×m。令網絡輸出為Y={y1,y2,…,ym},n為輸入層節點數,q為隱含層節點數,m為輸出層節點數。BP神經網絡的數學模型和執行步驟可以參考相關文獻,此處不做詳細描述。

圖1 BP神經網絡模型
BP神經網絡根據梯度下降法對輸入層與隱含層權值、隱含層與輸出層權值以及隱含層和輸出層的閾值進行更新,但是其使用的方式對于歷史權值和閾值沒有記憶能力,在增加學習樣本時,網絡訓練需要重新開始。這一特性使得傳統的BP神經網絡易于生成局部最優解,用于空氣質量預測,會導致最終的PM2.5濃度預測值與期望值相差較遠,其預測精度有待提高。
粒子群算法PSO是一種面向種群的隨機尋優算法,實現了自然界中鳥群和魚群的捕食社會行為,種群中每個個體稱為一個粒子,群體成員通過自身及種群其它成員的搜索經驗,不斷改變搜索方向和位置,協作搜索最優目標。

(1)
(2)

首先從初始種群分布、避免局部最優解以及均衡全局搜索與局部開發能力3個方面對傳統PSO進行改進,從而獲取更好的尋優性能:
(1)基于對立學習機制的種群初始化
傳統PSO以隨機方式進行種群初始化,逐步迭代搜索全局最優解。然而,PSO尋優速度與初始種群密切相關。當初始種群分布多樣且包含較多優質解時,可以加快算法收斂。為此,算法在種群初始化中引入對立學習機制。對立學習通過同步考慮當前解及其對立解改善候選解質量,將隨機初始解和對立解均考慮在初始種群中,不僅可以保證種群多樣性,還可以加快搜索速度。以下對相關概念進行描述:
定義1 對立數。令x為[l,u]內的實數,其對立數x’為x’=u+l-x。


初始化步驟如下:
算法1
(1)輸入:S個粒子
(2)輸出:初始種群X
(3)隨機生成規模S的初始種群{X}
(4)fori=1 toSdo//遍歷所有粒子
(5)forj=1 toddo//遍歷所有維度
(7)endfor
(8)endfor
(9)X’’=X∪X’//原始種群和對立粒子種群進行聯立
(10)計算X’’的適應度,根據適應度對X’’做降序排列
(11)選擇排序前S的粒子種群X作為最終初始種群
(2)融入混沌Tent映射的搜索機制
由粒子速度更新式(1)可知,速度更新通過兩個隨機變量r1和r2確保其多樣性,但其全局勘探不夠充分,易于陷入局部最優解。為此,引入混沌Tent映射機制改進粒子速度更新機制。混沌是一種非線性的動態隨機非重復決策系統,表示對初始條件的敏感依賴性。由于混沌系統的可遍歷性、非重復性,混沌序列可以實現比隨機搜索(隨機值r1、r2決定)更廣泛的搜索過程。將混沌映射融入PSO可以增強算法搜索能力,更好預防局部最優。改進算法利用Tent混沌映射生成混沌序列,表示為

(3)
式中:混沌參數u=0.7。
氣壓傳感器一旦發生了故障,就會導致氣象站不能夠準確獲取氣壓信息,一般情況下氣壓傳感器發生了故障之后需要及時進行斷電處理,將氣壓傳感器的供電電源快速切斷。氣壓傳感器的主要故障表現為氣壓值具體數值起伏不定,脫離正常的數值范圍,此時就需要查看氣壓傳感器的接線狀況。首先需要檢車各個部件的鏈接,以及通氣口是否暢通,部分的故障是由通氣口存在異物造成的。如果不是外界的因素影響到了氣壓傳感器導致故障的產生,那么可能是傳感器自身的老化和損壞,需要進行更換新設備。
利用混沌系統生成隨機數序列提升粒子搜索速度,基本方法是:利用Tent映射生成的混沌序列替換速度更新中的隨機值r。則改進粒子速度更新方式為
(4)
(3)自適應控制的慣性權重機制
慣性權重w決定先代粒子對于速度更新的影響。當w取值較大時,利于PSO的粒子全局勘探能力;當w取值較小時,則利于粒子的局部開發能力。而傳統PSO的慣性權重w是定值模式,使得兩種搜索模式切換缺乏平滑性,不利于均衡粒子搜索迭代中全局勘探和局部開發過程。算法引入自適應慣性權重機制,將慣性權重定義為
(5)
式中:wmax和wmin分別為慣性權重的最大值與最小值,t為當前迭代數,Tmax為最大迭代。由上式可知,在迭代初期,粒子具有更大的慣性權重,可以進行充分的全局搜索,確保種群多樣性;迭代后期,慣性權重逐漸減小,局部開發能力增強,這樣可以使算法更快收斂在最優解處。
基于IPSO-BP的PM2.5預測模型可分3個階段:確定網絡結構、改進粒子群優化BP神經網絡和PM2.5濃度預測。
確定BP神經網絡結構(使用最為常用的3層結構),即確定神經網絡的輸入層、隱含層和輸出層節點數量,即n-q-m。由于輸出層的結果得到的是某一天的PM2.5濃度預測值,所以該層節點數m=1。輸入層節點數決定于影響PM2.5的污染物因素和氣象因素。研究表明,PM2.5的濃度在不同溫度、風速、季節變化、降水、濕度以及空氣中其它污染物平均濃度下顯示出不同的變化。對于夏季高溫天氣,空氣中污染物顆粒運動更加劇烈,擴展更快,因此其PM2.5日均濃度更低;而冬季低溫天氣下,日均PM2.5濃度是最高的,春秋兩季較為接近,總體而言,PM2.5濃度值的季節排序是:冬季>秋季>春季>夏季。風速越快時,PM2.5污染物擴散越快,污染隨之下降。而降水增加時,PM2.5顆粒物會隨雨水下沉,相應污染也減輕。空氣濕度越高時,空氣流動減弱,不利于污染物擴展,PM2.5濃度越高。除以上氣象因素外,空氣中的其它污染物也會對PM2.5濃度產生影響。主要的空氣污染物包括:二氧化硫SO2、臭氧O3、二氧化氮NO2、一氧化碳CO、PM10及往日PM2.5濃度等。
為了對輸入變量進行篩選,引入平均影響值MIV方法評價相關因素的相關性,從而決定輸入層節點數。選取溫度、風速、降水量、空氣濕度、SO2、CO、O3、NO2、PM10和PM2.5濃度作為原始數據,基于MIV方法進行輸入變量篩選的具體過程是:首先,輸入以上變量進行BP神經網絡訓練,以原值為基礎將相應變量分別增加和減少10%,形成兩個新樣本數據;然后,利用原始數據訓練過的神經網絡對兩個新樣本數據進行測試,得出測試結果;最后,對于兩次訓練結果的差值,得出該變量的影響變化值IV,并求取在所有樣本數據上的均值結果,即為一個影響因素所對應的MIV。根據文獻[14]的研究結果,可選取MIV累計值在85%以上的變量作為篩選的變量數量。經過選取后文表1中某市某段時間內的氣象數據和污染物數據,經過網絡訓練分析,以MIV累計值85%為臨界點,最終選取SO2、CO、O3、NO2、PM10和PM2.5濃度、以及最低氣溫、最高氣溫、濕度作為影響PM2.5濃度的預測因子。因此,BP神經網絡的輸入層的節點對應于預測因子數量,即n=9。
對于隱含層的節點數,根據以下經驗公式確定
(6)
式中:α為常量,取值范圍為0<α<10。由此可見,隱含層節點數并不能提前準確預知,此時可根據試湊法以確保誤差相對更小的原則確定其取值。依據選取相同樣本進行測試,再根據均方差最小為原則,可得q=5為隱含層的最優節點數。
綜上,BP神經網絡的結構模型為9-5-1。此外,隱含層的激活函數使用tansig函數,輸出層的激活函數使用purelin函數,學習函數和訓練函數可以使用BP神經網絡的默認函數即可。
利用改進粒子群優化算法IPSO實現對BP神經網絡的優化,首先需要確定粒子位置的編碼結構。由3.1節中確定的神經網絡結構模型9-5-1可知,神經網絡的權值數量為:輸入層與隱含層間權值為9×5=45,隱含層與輸出層間權值為5×1=5,則總權值數量為45+5=50;隱含層與輸出層的閾值數量為5+1=6。在IPSO算法中采用實數值對粒子個體位置進行編碼,維度d即對應于權值數量與閾值數量之和,為50+6=56。以下描述IPSO優化BP神經網絡的具體步驟:
步驟1依據MIV方法,確定影響PM2.5濃度變化的污染物因素和氣象因素,從而確定BP神經網絡結構,包括輸入層、隱含層和輸出層的節點數,及相應激活函數、學習函數及訓練函數。
步驟2初始化IPSO算法的初始參數,包括:種群規模S、權重最大值wmax、權重最小值wmin、與網絡結構對應的粒子位置維度d、學習因子c1和c2、種群的最大迭代數Tmax、初始速度和位置、位置和速度范圍[xmin,xmax]和[vmin,vmax]。
步驟3根據網絡結構對粒子進行編碼,以對立學習機制進行種群初始化。定義粒子適應度為BP神經網絡預測的均方誤差函數MSE,表示為
(7)

步驟4計算適應度,確定當前迭代的全局最優解gbest和個體最優解pbest;將當前pbest與前次迭代中所經歷的局部最優作比較,若適應度更佳,則更新pbest;然后與全局最優作比較,若適應度更佳,則更新gbest;否則,均保持不變。
步驟5根據式(3)和式(5)重新計算Tent混沌值和慣性權重w,然后分別根據式(4)和式(2)更新粒子速度和位置。
步驟6判斷個體位置維度是否越界,若出現越界,則以相應位置上下限修正粒子位置。
步驟7判斷終止條件,若滿足,返回至步驟4;否則,停止算法迭代,輸出最優權值和閾值。
步驟8以步驟7生成的權值和閾值對BP神經網絡初始化,并利用訓練樣本和測試樣本檢測預測精度,得到PM2.5濃度預測值。
由于所篩選的9個預測因子的量綱不同,衡量單位不一,首先需要對數據進行歸一化處理,將所有預測因子映射至統一區間[0,1]范圍內。利用max-min映射函數進行數據歸一化處理,函數形式如下
(8)
式中:z*表示預測因子歸一化處理后的數值,z表示原始數值,min表示每個預測因子的最小值,max表示每個預測因子的最大值。
基于IPSO-BP模型的PM2.5濃度預測過程如圖2所示。

圖2 PM2.5濃度預測過程
通過Matlab進行仿真實驗,選擇傳統BP神經網 絡[10]、傳統粒子群優化神經網絡PSO-BP[11]以及遺傳優化支持向量機GA-SVM[12]這3種預測模型進行實驗對比分析。對于本文提出的IPSO-BP預測模型,參數設置如下:種群規模S=50,慣性權重最大值wmax=0.9,最小值wmin=0.4,兩個學習因子c1=c2=1.5,粒子位置范圍[-1,1],速度范圍[-0.02,0.02],最大迭代數Tmax=400,混沌參數u=0.7,BP神經網絡結構為9-6-1。為了公平性,PSO-BP算法的參數同上。對于GA-SVM預測模型的參數設置如下:交叉概率pc=0.4,變異概率pm=0.1。支持向量機SVM中,核函數參數設置為0.05,懲罰因子設置為5,不損失函數值為0.01,核函數采用徑向基函數,交叉驗證參數設置為5。對于傳統BP神經網絡預測模型,其參數可以使用系統庫中的默認參數。另外,定義神經網絡的訓練目標誤差為10-4,訓練次數為2000次,學習率為0.1。
選取環保部環境監測站空氣質量發布平臺中的提供的數據作為驗證算法的數據源(通過Adroid手機天氣預測App即可查詢相應數據),選取某市在2017年5月1日~2017年7月31日一共92個樣本數據進行實驗觀察。具體數據包括3個氣象數據(最低氣溫、最高氣溫和空氣相對濕度)和大氣中6個污染物濃度數據(SO2、CO、O3、NO2、PM10和PM2.5)。數據簡況見表1,由于篇幅限制,未將數據全部列出。

表1 原始樣本數據
表1中,6個污染物濃度數據的單位是μg/m3,氣溫單位為℃,濕度為相對濕度,單位%。樣本數據值均為日均值。將以上92個樣本數據進行歸一化處理后,將數據隨機均分為兩組,每組數據46個樣本,一組作為訓練樣本進行IPSO-BP模型中神經網絡的訓練,另一組作為測試樣本檢驗IPSO-BP對于PM2.5濃度預測的準確性。
除了選取PM2.5濃度的實際值與預測值、個體適應度作為預測模型的評價指標外,引一步引入平均相對誤差MAPE(單位為%)、平均絕對誤差MAE(單位為μg/m3)和均方根誤差RMSE(單位為μg/m3)進行比較,全方位比較預測精度。3個指標分別定義為
(9)
(10)
(11)

選取樣本數據中一個10天的時間段進行PM2.5濃度預測,選擇為6月的前10天進行預測。4種算法的預測結果如圖3所示。表2是4種算法的MAPE、MAE和RMSE這3個指標的統計結果。可以看到,不同的訓練方法對于BP神經網絡的預測精度還是具有較大影響的,IPSO-BP得到的濃度預測值是4種算法模型中最接近其實際值的,其預測精度通過改進的粒子群尋優性能得到了有效的提升。從平均相對誤差指標上看,僅有本文IPSO-BP和GA-SVM得到的相對誤差在10%以下,小于10%的誤差說明預測精度是較為可觀的,高于20%的誤差基本可以認為其預測過程是較為失敗的。除了6月的前10天的預測數據,作者還對46個樣本中的剩余36個數據進行預測實驗分析,最終得到平均相對誤差指標低于10%的有28組,剩余8組的MAPE水平介于10%~15%之間,說明高精度預測占據全部預測樣本的80%左右。以上結果表明IPSO-BP模型在預測PM2.5濃度上是有效可行的,較3種對比模型可以明顯提升預測精度。

圖3 PM2.5濃度的實際值與預測值對比

表2 指標統計結果
除了預測精度,進一步通過適應度的變化觀察模型的收斂速度和效率表現,結果如圖4所示。由適應度式(7)可知,適應度取值越小,說明模型對于PM2.5濃度的預測誤差越小,表明模型性能越優秀。從結果可以看到,本文的IPSO-BP模型得到的適應度均值是最小的,且可在約200次迭代時搜索到最優值,說明此時求得了神經網絡模型的最優權重和閾值。BP神經網絡模型、PSO-BP模型、GA-SVM模型收斂的迭代數分別在約310次、280次和250次。綜合來看,對于粒子群優化在種群初始化操作、粒子速度更新以及慣性權重3個方面的改進可以較好改善算法的尋優精度和收斂速度,進化更好地實現BP神經網絡的訓練和學習過程,對PM2.5濃度做出更精準的預測。

圖4 模型的適應度均值
為了準確預測空氣中PM2.5的濃度,本文提出在改進粒子群尋優精度和效率的基礎上,設計優化的BP神經網絡模型,進而設計新的PM2.5濃度預測模型。具體地,利用改進的粒子群尋優機制對BP神經網絡層次間的權值和閾值進行最優化求解,克服其易于陷入局部最優、收斂速度慢的不足,最后以配置最優參數的神經網絡進行PM2.5預測,有效避免神經網絡訓練時陷入局部最優,提升預測準確度。選取某市一個時段的PM2.5日均濃度數據作為樣本進行實驗分析,結果表明,IPSO-BP不僅收斂速度更快,而且預測精度更高。進一步的研究可以考慮健全預測因子,并結合空間因素對PM2.5濃度進行預測,從而進一步提升預測精度。