李世峰,邱占芝
(大連交通大學 機械工程學院,遼寧 大連 116028)*
2013年,“霧霾”成為年度關鍵詞,采用新空氣質量標準的74個城市中,只有海口、舟山和拉薩3個城市達到了空氣質量二級標準.2014年1月4日,國家減災辦、民政部首次將危害健康的霧霾天氣納入2013年自然災情進行通報.空氣質量的好壞及其對環境和民眾健康的影響開始成為公眾熱議的話題.因此,對空氣質量進行預測預報研究,對于防災減災以及公眾健康都是十分重要的.
預測預報方法通常采用小波網絡[1]、貝葉斯網絡[2]等,利用遺傳BP網絡的預測預報方法一直是人們關注的研究課題.D.E.Rumelhat和J.L.McClelland在1986年提出了一種利用誤差反向傳播訓練的神經網絡,簡稱BP(Back Propagation)網絡[3].該算法具有較好的非線性映射能力,使得復雜問題能在很多中間過程未知情況下得到較合理的解答[4].但典型的BP網絡仍然存在過早收斂問題[5-6],而且如何確定隱含層節點數目前尚無理論上的指導[7],需要反復實驗確定.遺傳算法(Genetic Algorithm)具有并行計算、魯棒性強等特點,特別適用于全局尋優問題.遺傳BP網絡融合了BP網絡與遺傳算法各自的優點,非常適合于建立預測模型,在股市預測[8]、電力負荷預測[9]、產品銷售[10]、環境保護[11]等方面有著廣泛的應用.本文嘗試使用遺傳BP網絡,對城市空氣質量等級進行預測.
神經網絡僅僅依靠輸入數據和輸出數據就能完成網絡的訓練,學得蘊藏在輸入數據與輸出數據之間的模式,而不需要關心學習過程本身,極大的簡化了對數據的處理過程,擴展了應用范圍.但是神經網絡預測有其局限性,并非所有的問題都可以用神經網絡來進行預測.其中一類是完全隨機的問題,如彩票,這類問題不能用神經網絡來進行預測;另一類不可預測問題是無法獲得輸入信息,例如地震預測.
由于與空氣質量等級相關的因素眾多,我們并不知道該問題是否屬于上述不可預測問題.在本案例中,我們嘗試使用氣象信息對空氣質量等級進行預測,首先對數據進行了分析.網絡預測輸出為空氣質量等級,共6類(優、良、輕、中、重、嚴重),若輸入輸出之間為隨機的,預測正確率17%(即1/6).在進行簡易編碼后使用典型BP網絡對空氣質量等級進行了預測,預測正確率在40%左右,40%的預測正確率在可預測問題里相對較低,BP網絡應用于很多問題預測正確率可達70%以上,但該預測正確率仍遠高于隨機預測,足以證明的問題的可預測性.
以大連市2013年10月28日開始的空氣質量等級記錄為例,選取大連市2013年11月 ~2014年4月(共181個樣本)的天氣記錄及空氣質量等級作為訓練數據,預測未來數天的空氣質量等級.輸入信息如圖1.

圖1 氣象信息截圖
圖中包含了大量的文字信息,依次為天氣1、天氣2、最高氣溫、最低氣溫、風向1、風力1、風向2、風力2.
眾所周知,BP網絡擅長處理數字問題,所以需要對文字信息進行編碼.風向信息可依據角度進行編碼,例如北風為0(度)、南風為180(度)天氣屬性按濕度大小編碼,我們可以認為天氣為“小雨”比“晴”濕度大,所以“晴”排在前面,“小雨”排在后面,但某天“陰”也不見得一定比某天“多云”濕度大,對于這種憑直觀感覺難以區分的情況,任選一個排在前面即可;空氣質量等級由好到差依次與 0、0.2、0.4、0.6、0.8、1 相對應.
本文使用典型的遺傳算法對輸入屬性進行篩選.

表1 輸入屬性篩選結果對應表
具體計算流程為:首先使用二進制編碼方案對輸入屬性進行編碼,若該屬性參與運算則該屬性的標志為1,若該屬性不參與運算則該屬性的標志為0.然后,使用預測值與實際值之差的絕對值的倒數作為適應度,對標志位串進行尋優.最后,得結果為11110111000,對應表如表1.
根據屬性篩選結果及高度相關變量二選其一原則,最終選取天氣1、天氣2、最高氣溫、最低氣溫、風力1和風力2共6個變量作為輸入.
針對空氣質量等級的預測使用了2類共10種輸入輸出數據關聯方案,如圖2.

圖2 兩類預測方案
類1為不需要天氣預報的預測方案,方案1為當天的氣象情況關聯未來1天的空氣質量等級,方案2為當天的氣象情況關聯未來1、2天的空氣質量等級,……,方案6為當天的氣象情況關聯未來1~6天的空氣質量等級.這類關聯方案的理論依據就是樣本輸入對樣本輸出變化的影響,例如今天下雨會使明天的空氣變好,但并不是所有的神經網絡預測都可以使用該方案,因為使用該方案的前提是我們必須知道輸入樣本對輸出的變化是有影響的.
類2為需要天氣預報的預測方案,未來7天的氣象情況可從國家氣象局的預報獲得,即認為未來7天的氣象情況是已知的.方案7為未來1天的氣象情況關聯未來1天的空氣質量等級,方案8為未來1天的氣象情況關聯未來2天的空氣質量等級,方案9為未來1天的氣象情況關聯未來3天的空氣質量等級,方案10為未來1天的氣象情況關聯未來4天的空氣質量等級.
在本案例中,遺傳算法對BP網絡的網絡結構、權值閥值的優化是分開進行的.
BP網絡的網絡結構包含網絡層數和隱節點數兩部分內容,網絡層數通常為單隱含層結構,雙隱含層結構較少,同時隱節點數通常為1~2個整數,例如,經典的鳶尾花數據集的最優隱節點數為8,即BP網絡的網絡層數、隱節點數是可以精確求得的.而BP網絡的權值閥值一般為-3~3之間的浮點數,往往精確到小數點后數位,無論多少次運行遺傳算法算法,每次的尋優結果還是會存在一定差異,即遺傳算法搜尋到的最優權值閥值是存在誤差的.假如把網絡結構和權值閥值放在一起編碼、優化,不僅增加了編碼長度、尋優難度,使算法過早收斂的可能性變大,而且由于權值閥值的尋優結果存在誤差,就會使原本可以精確求得的網絡結構最優參數混入誤差,所以兩者不宜放在一起進行優化.
BP 網絡的層數.Hecht-Nielson 已經證明[12]:具有偏差和至少一個S型隱層加上一個線性輸出層的網絡,能夠逼近任何有理函數.實驗證明[16],多隱含層BP網絡雖然可以略微提高預測精度,但學習訓練時間會大大增加.綜合考慮,本文選用了單隱含層結構.本文直接使用遺傳算法對網絡所需隱含層節點數進行了尋優,具體步驟如下.
采用二進制編碼方案,使用測試數據集的預測值與實際值之差的絕對值的倒數作為適應度;使用遺傳算法對隱節點數進行尋優,尋優范圍為1~16(24)的整數,假如求得隱節點數超過14,則調整上限;設置初始種群為20,迭代次數為10次,運行算法.
在尋優過程中,初始種群數為20,隱節點數為1~16的整數,理論上,1次迭代就能完全覆蓋尋優范圍,而實際操作中,本算法的適應度計算結果是由BP網絡預測值計算得來,而典型BP網絡過早收斂的現象非常常見,所以算法仍需多次迭代才能達到理想效果.
對于訓練集、測試集的劃分以及重復驗證問題,10次10折交叉驗證是標準評估技術[22],即把全部數據集據隨機的分為10個部分,每部分數據的數量基本一致,其中1個部分做測試集,剩余的9部分做訓練集,交替進行,直至每部分數據都做過測試集為止.然后重復進行10次取均值再取整即可.
編碼方案.遺傳算法的編碼方案有多種,其中以二進制編碼方案和實數編碼方案最為常見.權值閥值通常要精確到小數點后數位,實數編碼方

其中:a'ij為變異后的個體;aij為變異前的個體;r為0~1之間的隨機數;amax為個體上界;amin為個體下界;g為當前進化代數;Gmax為最大進化代數.
選取大連市2013年11月~2014年4月(共181個樣本)的天氣記錄及空氣質量等級作為訓練數據,預測未來數天的空氣質量等級.
為了驗證算法的泛化能力,多次替換預測輸入數據,運行算法,直至預測出2014年5~9月全部的空氣質量等級,然后重復10次實驗,統計預測正確率.預測正確率統計表,如表2所示.案特別適合于精度要求較高的遺傳算法,所以選擇了實數編碼方案對初值進行了編碼.
適應度函數.使用預測正確天數的個數作為適應度,即預測正確的個數越多該組權值閥值被選中的概率越高.
選擇、交叉、變異.選擇方案為最常用的輪盤賭選擇方法;交叉方案選用算數交叉方案,這是由于算數交叉方案特別適用于實數編碼;變異方案采用改進后的非一致變異方案,公式如下:

表2 預測正確率統計表
其中,采用數據關聯方案8預測正確率最高,達67.1%.單次運行算法的預測誤差圖,如圖3,規整后的分類效果圖,如圖4.
在表2中,方案1~6為不需要天氣預報的預測方案,可以看出,預測正確率隨著預測天數的增加而下降;方案7~10為需要天氣預報的預測方案,可以看出,方案8的預測正確率高于其他方案,即當天的氣象情況對第二天的空氣質量影響較大.


圖4 分類效果圖
影響空氣質量等級的因素眾多,例如,車輛、船舶的尾氣、工業生產排放、居民生活取暖、垃圾焚燒、城市人口密度、發達程度、地形地貌、節日出行和氣象條件等,都是影響空氣質量的重要因素.本文僅以大連市2013年11月~2014年4月氣象信息作為學習數據,采用多種方案,使用遺傳BP網絡對短期空氣質量等級進行了預測,取得了較好的預測效果,對于污染防治、公眾健康、出行日期選擇都有一定借鑒作用.
[1]汪小寒,張燕平,趙姝,等.基于動態粒度小波神經網絡的空氣質量預測[J].計算機工程與應用,2013,49(6):221-224.
[2]辛若波.基于遺傳優化和貝葉斯正規化神經網絡的空氣質量預測研究[D].濟南:山東大學,2013:26-32.
[3]李國勇.智能預測控制及其MATLAB實現[M].北京:電子工業出版社,2010:16.
[4]馬麗慧,韓文喜,李陽.BP網絡在高填方地基沉降預測中的應用[J].土工基礎,2013,27(1):14-16.
[5]沈清.神經網絡應用技術[M].長沙:國防科技大學出版社,1993:45-85.
[6]徐水春,張森文.遺傳K均值方法在品種資源分類中的應用[J].華南農業大學學報,2009,30(2):97-100.
[7]PIZZILEO B,LI KANG,MEMBER S.Improved Structure Optimization for Fuzzy-Neural Networks[J].Fuzzy Systems,IEEE Transactions on,2012,20(6):1076-1089.
[8]鄧凱,趙振勇.基于遺傳BP網絡的股市預測模型研究與仿真[J].計算機仿真,2009,26(5):316-319.
[9]常輝.基于遺傳BP網絡的智能型電力負荷預測技術[J].電腦知識與技術,2009,5(8):1962-1964.
[10]蘇晨,李成義.基于遺傳算法和BP神經網絡的服裝銷售預測[J].經營與管理,2012(2):110-111.
[11]韓亮華.遺傳BP網絡對臨江河回水區葉綠素a的短期預測模擬[D].重慶:重慶大學,2011.
[12]HECHT NIELSON R.Neurocomputing[M].Boston:Addison Wesley,1990.