吳慧靜, 赫曉慧
(1.河南省農業科學院 經濟作物研究所,河南 鄭州 450002;2.鄭州大學 智慧城市研究院,河南 鄭州 450052)
近年來,隨著城市的不斷擴展,經濟的快速發展以及人口的不斷增長,城市環境問題越來越突出,也越來越受到廣泛的關注。空氣質量預報的發布能夠為環保部門及時了解城市空氣質量未來變化趨勢提供科學依據[1],對嚴重污染日及時作出預警,對大氣污染采取限制措施,減輕對市民健康的危害,因此,建立空氣質量預測模型對城市環境治理工作非常必要[2]。
目前,傳統的空氣質量預測方法包括數理統計、多元線性回歸模型、時間序列、灰色系統等預測方法[3]。空氣質量受天氣因素、大氣污染物的影響較大,具有明顯的非線性、不確定特征,傳統的預測方法很難得到有效的預測結果。神經網絡可以建立復雜的非線性模型,從而能夠更好的實現對空氣質量的預測,是目前公認的最準確有效的監測方法之一。但是單一BP神經網絡在搜索較大的解空間時,容易陷入局部最優,影響預測結果[4]。基于遺傳算法改進的BP神經網絡能夠很好的解決此問題,預測結果具有更高的準確度和精度。
近年來,許昌市建成區面積不斷擴大,市區人口不斷增加,工業迅速發展,機動車數量快速增長,污染物排放量不斷增大[5],空氣質量問題越來越突出。研究許昌市空氣質量狀況,建立許昌市空氣質量預警預測模型,對許昌市污染防治工作具有重大的意義[6]。本文利用改進的神經網絡,對許昌市空氣質量指數AQI及空氣質量等級進行預測,為城市環境綜合治理和規劃提供參考。
許昌市位于河南省中部,北距鄭州80公里。東鄰周口市,西交平頂山市,南界漯河市。介于東經113°03′~114°190′、北緯33°16′~34°24′之間。屬暖溫帶季風區,氣候溫和,春季干旱多風沙,夏季炎熱雨集中,秋季晴和日照長,冬季寒冷少雨雪,歷年平均氣溫在14.3~14.6℃,平均降雨量在67.1~736.0mm。全境總面積4996平方公里,許昌市區建成區面積45.8平方公里,市區人口48萬人。
2012年上半年,國家出臺《環境空氣質量指數(AQI)技術規定(試行)》規定,將用空氣質量指數(AQI)替代原有的空氣污染指數(API)。AQI共分六級,從一級優,二級良,三級輕度污染,四級中度污染,直至五級重度污染,六級嚴重污染[7]。具體見表1。
本文中研究數據來源于許昌市環境保護局,包括空氣質量指數AQI日均值數據和天氣數據。時間周期從2015年1月到2017年4月。天氣數據包括天氣狀況、最低溫度、最高溫度、風速和風向日均值數據。經過剔除缺值日和無效數據,共計730d的日平均數據。

表1 空氣質量指數級別和類別

圖1 三層BP神經網絡模型Fig.1 The model of three layer BP neural network
BP神經網絡是基于BP算法的多層前饋網絡,具有非線性動力學的特點。BP算法通過輸入、輸出數據樣本集,根據誤差反向傳遞的原理,對網絡進行訓練,其學習過程包括信息的正向傳播過程以及誤差的反向傳播這兩個過程,對其反復訓練,連續不斷地相對誤差函數梯度下降的方向上,對網絡權值和偏差的變化進行計算,逐漸逼近目標。典型的BP神經網絡由一個輸入層(多個輸入值)、至少一個隱含層和一個輸出層(多個輸出值)組成。結構如圖1所示。
需要說明的是激活函數包括S型函數和雙曲正切函數兩種,它們都是連續、單調遞增的數值函數,只是值域的不同,前者的值域為(0,1),后者的值域為(-1,1)。具體采用哪個函數需要根據輸入/輸出關系來確定。S型函數值域為(0,1),適應于輸出結果不含有負值的情況。本文研究的輸出結果AQI不含有負值,所以可直接采用S型函數。基于此出發點,BP網絡模型的主要算法簡單描述如下:
(1)神經元采用激活函數
(1)
其中:x為函數輸入。激活函數適用隱含層、輸出層神經元。
計算模型隱含層連接權值的調整
(2)
由于
(3)
所以有
Δckl=Δdkjdkj(1-OMk)OIl
(4)
輸出神經元閾值的調整可以表示為
(5)
其中:(0<β<1)令β=0.5。
計算閾值調整量:
(6)
遺傳算法[8]起源于20世紀60年代,是模仿生物學和自然選擇機理來建立的具有強大功能的算法,它是人工智能領域的一個重要分支,是通過構造優化搜索算法,來進行數學仿真,通常將它們運用到復雜的優化問題上,步驟如下[9]:(1)依據實際解空間的編碼方式對初始群體進行編碼;(2)計算出群體每個個體的適應值,并選擇出適應度函數值大的個體進入下一代;(3)根據交叉率執行交叉操作;(4)根據變異率執行變異操作;(5)如果沒有達到終止的條件,選擇出適應度函數數值最大的個體作為問題的最優解。(6)進化完畢后,選擇出適應度函數數值最大的個體作為問題的最優解。
BP神經網絡算法容易陷入誤差函數局部極小值,且收斂速度較慢,遺傳算法具有全局搜索的功能[10],因此,我們可以利用遺傳算法優化BP神經網絡的權值和閾值,將優化后的權值和閾值賦值給BP神經網絡,訓練BP神經網絡預測模型獲得最優解,發揮BP神經網絡的局部搜索能力和全局搜索能力的優勢。
本文采用的數據包括2015年1月—2017年4月的空氣質量指數AQI日平均數據和同期氣象數據,剔除缺值、無效值共有730天的數據。
同期的氣象數據包括天氣狀況、溫度、風力、風向等因子。部分原始氣象數據見表2。
其中天氣狀況一共分為14種,包括晴、多云、陰、霧、小雨等。首先對氣象原始數據中的天氣狀況進行數據數值化。天氣狀況數值化是從天氣條件對AQI影響的角度考慮的,舉例來說,在本研究中將“中雨/中雪/雨夾雪”對于AQI的影響視為等同,所以都數值化為4,其它數值化原理相同,具體設置見表3。

表2 部分原始氣象數據
氣象數據中的風向一共有九種,包括無持續風向、東風、西風、南風、北風等。對風向的數值化設置具體見表4。
表3 天氣狀況數值化
Table 3 Numerical simulation of weather conditions

數值天氣狀況1晴/多云2陰/霧3小雨/小雪4中雨/中雪/雨夾雪5陣雨/雷陣雨/大雨/暴雨/暴雪
氣象數據中的風力根據等級大小,我們分為4類。風力較小時,對空氣質量狀況影響較小,因此,小于3級為一個等級。對于風力在5級以上的情況下,考慮兩點,一是在許昌地區出現風力大于5級的情況在歷史天氣數據中并不多見,二是風力達到5級以上時,AQI均表現為優良天氣,可以將風力對AQI的貢獻視為等同。風力的具體數值化設置見表5。

表4 風向數值化

表5 風力數值化
對于數值化之后的氣象數據,進行歸一化處理,歸一化后的數據分布在[-1,1]區間內。歸一化后的部分數據見表6。
空氣污染物的積累和擴散受天氣條件的影響,在污染源排放量無明顯變化時,溫度、氣壓、風速、降水等氣象條件對城市空氣質量有著重要的影響[11]。預測模型將污染物的排放量視為不變,考慮天氣條件的變化對污染物的稀釋擴散作用,根據當天天氣預報的數據和前一天的空氣質量數據,對當天的空氣質量進行預測。

表6 數據歸一化結果
本模型為預測當天的空氣質量指數,利用前一天空氣質量指數及當天天氣狀況(最低溫度、最高溫度、風向、風速和天氣狀況)建立模型。將前一天的空氣質量指數和當天的天氣預報數據作為神經網絡的輸入,將當天的空氣質量指數作為神經網絡的輸出,用該模型對空氣質量指數及空氣質量等級進行預測。
預測模型的輸入層設置為6維,分別為前一天AQI的值、當天天氣狀況、當天最高溫度、當天最低溫度、當天風速和當天風向。輸出為1維,為當天AQI的值。隱含層的層數通過經驗公式(見公式(7))和試錯法確定,最終確定隱含層節點為4時,相對誤差最小。經驗公式如下:
(7)
其中,n為輸入層節點數,m為輸出層節點數,a為1~10之間的常數。最終確定的網絡結構為6-4-1(見表7)。
根據確定的網絡結構和初始權值和閾值進行實數編碼,遺傳算法的種群個體包含BP神經網絡的權值和閾值,由前面確定的輸入層R=6,S1=4,S2=1,根據公式:
S=R*S1+S1*S2+S1+S2
(8)

表7 BP神經網絡網絡結構

圖2 GA-BP神經網絡預測模型Fig.2 GA-BP neural network prediction model
計算出遺傳算法的編碼長度為33。將AQI實際值與預測值的誤差平方和的倒數作為適應值,通過輪盤賭法進行選擇,單點實數交叉法進行交叉,最后確定適應值最優的個體,即確定最優權值和閾值,計算出AQI實際值與預測值的誤差。遺傳算法的種群規模設置為100,進化次數設置為30次。變異概率為0.1,交叉概率為0.2。優化過程如圖2所示。
3.3.1 空氣質量指數預測 首先通過rand()函數對730天的數據進行隨機排序,隨機選取650天的數據作訓練樣本,80天的數據作測試樣本。在MATLAB 2014r進行預測仿真。結果見圖3、圖4。
從圖3、圖4可以看出,預測輸出與期望輸出的大致走勢一致,但是存在一定的誤差,為了更精確的評價預測結果,我們利用平均相對誤差和準確率對預測結果進行評價,其中準確率的計算公式為
(9)
其中,Q為準確率,y1為預測輸出,y2為期望輸出。
空氣質量指數預測結果對比分析見表8。
通過對比統計分析發現,在空氣質量指數預測方面,BP神經網絡平均相對誤差為0.2452,GA-BP神經網絡平均相對誤差為0.2263,改進的BP神經網絡平均相對誤差低于單一的BP神經網絡。改進的BP神經網絡準確率為80.44%,相對于單一的BP神經網絡,提高了4%。改進的BP神經網絡在準確度方面優于單一的BP神經網絡。

圖3 優化前的輸出 圖4 優化后的輸出 Fig.3 Output of before optimization Fig.4 Output of after optimization
為了更好地得知預測結果,根據預測結果,分別作出BP神經網絡和優化后的BP神經網絡的預測輸出與期望輸出的回歸曲線,見圖5、圖6。這里需要說明的是,在訓練數據不足或者維度特征過于復雜的情況下,會出現過擬合現象及欠擬合現象。本文的研究中,實驗數據周期歷時兩年,有足夠的訓練數據,而且天氣現象的屬性維度只有最低溫度、最高溫度、風向、風速和天氣狀況等5個維度,訓練過程和實驗過程可以得到很好執行,所以不存在過擬合和欠擬合現象。
由表9可以看出,改進后的BP神經網絡模型的預測輸出與期望輸出的相關度R為0.750,相對單一的神經網絡具有更高的相關度,能夠更好的預測空氣質量指數的值,預測相對更準確。

表8 空氣質量指數預測結果對比分析

圖5 BP神經網絡擬合曲線 圖6 GA-BP神經網絡擬合曲線Fig.5 Fitting curve of BP neural network Fig.6 Fitting curve of BP neural network
3.3.2 空氣質量等級預測 根據國家《環境空氣質量指數(AQI)技術規定(試行)》,空氣質量指數對應的級別標準參見表1。根據預測出的空氣質量指數的值,可得相對應的預測出的空氣質量等級。
根據已知的空氣質量等級以及預測出的空氣質量等級,作出空氣質量等級期望輸出和預測輸出的曲線,見圖7、圖8、圖9。由圖7、圖8和圖9可見,改進的BP神經網絡預測輸出更接近于期望輸出,BP神經網絡預測輸出相對誤差較大,為了更好的了解預測結果,我們通過準確率來評價
預測結果。對空氣質量等級預測結果進行計算和統計,BP神經網絡在空氣質量等級方面的預測準確率在78.75%,改進的BP神經網絡預測值在82.5%,改進神經網絡的預測結果與實際值的變化趨勢大致相同,預測效果較好。

表9 擬合結果對比分析

圖7 空氣質量等級期望輸出
Fig.7 The desired output of air quality grade

圖8 BP神經網絡預測輸出
Fig.8 The prediction output of BP neural network

圖9 改進的BP神經網絡預測輸出
Fig.9 The prediction output of GA-BP neural network
本文運用BP神經網絡許昌市AQI的值進行了預測,通過輸入當天的氣象狀況和前天的AQI的值,能夠預測當天的AQI的值。單一的BP神經網絡算法容易陷入誤差函數局部極小值,利用遺傳算法改進BP神經網絡,能夠解決單一BP神經網絡的不足。結果表明,改進的BP神經網絡預測模型對空氣質量指數的預測準確度為80.44%,平均相對誤差為0.2263,空氣質量等級預測的準確率82.5%,均優于單一的BP神經網絡的預測結果。
目前,國內外一些學者對空氣質量預測作出研究[2,12-19],例如,劉閔等人[2]通過逐步回歸方法建立空氣質量統計預報模型的空氣質量級別準確率79.1%;江淑芳等人[12]建立的天氣形勢預測法,對深圳市空氣質量進行預報,主要污染物的平均相對誤差為20%-43%。本模型選擇5個氣象因子和1個基值作為輸入,空氣質量級別準確率80.44%,空氣質量級別準確率82.5%。許楊等人[13]采用逐步線性回歸法建立的預報模型對武漢市空氣質量進行預測,預報準確率為78.1%。其他學者也對空氣質量的預測作了一定的研究[14-19]。本文建立的空氣質量指數預測模型,具有一定的參考價值和實用價值,可以將該模型應用到許昌市空氣質量污染防治中,能夠為許昌市空氣質量的預報預警提供參考作用。
改進的BP神經網絡在準確度方面相對于單一BP神經網絡有所提高,但是AQI濃度的變化受多種因素的影響,本文建立的預測模型只考慮到氣象因素對空氣質量的影響作用,為了更加準確地對空氣質量狀況進行預測,還應該多考慮其他方面的因素,比如污染源排放,人類活動等因素。本文建立的預測模型有一定的參考意義,但預測的準確度有待進一步的研究和提高。