范毅君,李海軍, 展正然
(保定理工學院,河北 保定 071000)
中國過去多年的工業(yè)化發(fā)展,對促進中國經(jīng)濟穩(wěn)定增長發(fā)揮了極其重要的作用,但也消耗了大量的化石類能源。巨量的化石類能源消耗及其伴隨著的各種污染物被排放到大氣中,使大氣環(huán)境越來越糟糕。特別是少數(shù)工業(yè)發(fā)達的地區(qū),污染排放量已遠遠超過了自然環(huán)境自身所能凈化承載的極限。與此同時,大氣污染防治與環(huán)境執(zhí)法監(jiān)管的成效在一定程度上不能平衡能源消耗和污染排放的增加速度。近些年,我國空氣污染已由傳統(tǒng)的總懸浮顆粒物及可吸入顆粒物轉向由PM2.5和污染氣體(臭氧、二氧化硫、氮氧化物)形成的跨區(qū)域性、復合型污染。統(tǒng)計數(shù)據(jù)顯示,進入21世紀以后,我國已成為全球PM2.5污染最為嚴重的地區(qū)之一,其中以京津、長江三角洲、成渝地區(qū)、關中地區(qū)、中原地區(qū)等為我國PM2.5污染的重災區(qū)。但是,經(jīng)過近10年的環(huán)境有效治理,我國的空氣治理得到了大大提升,這些成效在一定程度上依靠了國家的重大決策以及科學合理地對霧霾天氣進行精確預測。
決策者的不同決策和事物發(fā)展過程中的不同變化趨勢都會導致不同的后果,預測技術就是通過一定技術手段的對其變化趨勢做出合理判斷的方法[1]。從現(xiàn)今預測算法發(fā)展來看,馬爾科夫預測對數(shù)據(jù)屬性有要求,分型預測不僅對數(shù)據(jù)屬性有要求,而且實現(xiàn)難度大,ARMA模型雖然算法簡單,但預測效果并不理想。與其他算法相比較最小二乘支持向量機預測的效果相對較好,不但實現(xiàn)簡單,而且對數(shù)據(jù)屬性要求也不算高,不過它需要做參數(shù)尋優(yōu),這也增加了算法的復雜度。一些研究者采用了粒子群算法完成LS-SVM的參數(shù)選擇[2]一定程度上縮短了參數(shù)尋優(yōu)過程中所消耗時間,還有其他學者在PSO的基礎之上提出了基于混合QPSO的LS-SVM參數(shù)尋優(yōu)算法[3],在提高LSSVM的學習能力和泛化性能上取得了一定成效。綜合上述的預測方法,針對霧霾天氣預測的復雜性,當前眾多的智能算法恰好為本文的研究提供了比較有效的研究思路,對于研究的有效性和可行性提供了很好的保障。
本文提出了一種基于GA的改進SVM預測算法。由于遺傳算法對參數(shù)的選取要求較高,我們選取神經(jīng)網(wǎng)絡運算模型搜索數(shù)據(jù),引入GA實現(xiàn)參數(shù)尋優(yōu)和特征優(yōu)化,再結合支持向量機最終實現(xiàn)最優(yōu)的霧霾天氣預測效果。
遺傳算法(GA)最早是由美國的 John holland于20世紀70年代提出,該算法是根據(jù)大自然中生物體進化規(guī)律和遺傳機理而設計提出的,從本質上來說是一種不依賴具體問題的直接搜索方法[4]。作為具有高性能計算、簡單通用、魯棒性強的方法,遺傳算法已被廣泛應用于組合優(yōu)化、生產(chǎn)調度、機器學習、圖像處理、自適應控制和數(shù)據(jù)挖掘等領域。
遺傳算法主要包括選擇、交叉和變異三個主要操作算子。遺傳算法的步驟通常分為[5]:參數(shù)初始化、確定編碼方式、生成初始群體、確定適應度函數(shù)、選擇、交叉、變異、確定終止條件。其中最關鍵的問題是:確定編碼方式、確定適應度函數(shù)、遺傳算法自身參數(shù)設定。遺傳算法使用特定信息少,只需適應函數(shù)值和串編碼這類通用信息,更易生成通用算法。由于遺傳算法中的選擇、交叉、變異都是隨機的,更有利于求出全局最優(yōu)解。
統(tǒng)計學習理論是一種專門研究在有限樣本情況下機器學習規(guī)律的理論.支持向量機算法(SVM)作為統(tǒng)計學習理論的實現(xiàn)方法,已成功應用到人臉識別、遙感圖像分析、光譜分類、手寫識別、故障識別與預測等眾多模式識別領域。SVM方法的基本思路是尋找某種映射把樣本空間映射到某種高維空間中去,最終實現(xiàn)把原本樣本空間中的非線性問題轉化為特征空間中的線性可分問題。
我們以二氧化硫、臭氧、二氧化氮、PM10污染物濃度、PM2.5污染物濃度5個影響因素確定當日PM2.5污染物濃度預報模型的輸入向量。其中,氣象數(shù)據(jù)來自中國天氣網(wǎng),大氣污染物數(shù)據(jù)來自中國環(huán)境保護部發(fā)布的實時空氣質量數(shù)據(jù)。
本文通過GA尋求SVM中最佳尺度參數(shù)和懲罰因子C,其主要步驟如下:
2.2.1 利用GA優(yōu)化SVM參數(shù)
①訓練數(shù)據(jù)及測試數(shù)據(jù)的產(chǎn)生。首先定義目標個體數(shù)為50,我們需要根據(jù)歷史數(shù)據(jù)設定合理的尺度參數(shù),確定合適的懲罰因子C取值范圍,根據(jù)設定進行離散化,確定二進制編碼。②利用支持向量機計算個體的適應度函數(shù)值。我們把采集的數(shù)據(jù)分為訓練集和測試集兩部分,通過不同SVM分類器得到敏感度和特異度,再通過適應度函數(shù)求敏感度和特異度的適應度值。③判斷是否滿足終止條件。若最優(yōu)的個體所對應的適應度值達到規(guī)定上限或達到設定最大進化代數(shù)或程序已經(jīng)運行多代,個體的最佳適應度值也無明顯改進轉到第⑦步。④t=t+1。⑤選擇。我們選擇賭輪法進行選擇,從f(t-1)中選擇f(t)。⑥交叉、變異。我們選擇均勻交叉法進行交叉操作,規(guī)定交叉概率為0.9。變異操作為了跳出局部極值,只需改變一位污染成分,規(guī)定數(shù)值為0.1。對f(t)交叉、變異操作完成,轉到第③步。 ⑦通過①中映射尋找對應支持向量機參數(shù),通過訓練集獲得全局超平面。
2.2.2 利用GA-SVM預測霧霾天氣
為了描述方便,我們把GA優(yōu)化SVM參數(shù)和特征集的方法簡稱為GA-SVM方法。GA-SVM方法有兩處優(yōu)化都應用了GA算法,我們先對參數(shù)進行優(yōu)化,再對特征進行優(yōu)化,實施方案如下:①確定特征向量;②根據(jù)2.2.1的算法優(yōu)化參數(shù),從而確定尺度參數(shù)和懲罰因子C范圍;③對支持向量機改進后來測試集,目的是提高準確率。為方便直觀理解基于GA-SVM算法的霧霾天氣預測模型,做算法流程框架圖如下。
GA-SVM霧霾天氣預測模型流程框圖
本文的實驗軟件采用C++程序,該程序是在Windows系統(tǒng)中采用VC編程實現(xiàn)的。本文應用LibSVM程序軟件對數(shù)據(jù)進行分類,為了支持C++環(huán)境以便可以自動接收參數(shù),我們對LibSVM程序的部分接口進行了修改。
(1)GA主要參數(shù)設置:交叉概率為0.6;變異概率為0.2,種群規(guī)模為50。
(2)SVM主要參數(shù)設置:核參數(shù)為0.0769231;懲罰系數(shù)為10;可容忍偏差為0.001。
污染物 PM2.5濃度PM10濃度臭氧 二氧化硫 二氧化氮實測指標 1 1 1 1 1預測指標 0.9999 0.9998 1.0001 1.0002 0.9999
通過分析霧霾天氣模型的實驗結果,得出如下結論:
①GA-SVM方法對霧霾成分的預測指標和實測指標偏差在可接受范圍內,并且結果優(yōu)于神經(jīng)網(wǎng)絡的預測效果。②GASVM方法通過GA優(yōu)化SVM的參數(shù)和特征集提高了支持向量機的預測準確率,結果優(yōu)于單獨使用SVM的預測效果和單獨使用GA優(yōu)化特征集的預測效果。③GA-SVM方法的預測時耗優(yōu)于用GA優(yōu)化特征集的預測效果。
本文應用GA-SVM方法研究了霧霾天氣的預測問題,對于根據(jù)預測樣本來進行參數(shù)尋優(yōu)來說,本文討論的搜索方法不但避免了盲目地選擇參數(shù),比其他尋優(yōu)算法也更為簡單,不僅能得到比較精確的解,并且算法更容易實現(xiàn),為GA-SVM參數(shù)尋優(yōu)方法提供了一種新的解決方案。從霧霾天氣預測數(shù)據(jù)實驗結果可以看到,GA-SVM方法有較好的應用性和推廣性。通過精準預測霧霾天氣,提供防范預案,提醒人們合理防御,可以降低防范成本和風險,盡量減少經(jīng)濟損失,將霧霾對人體的危害降到最低。GA-SVM方法為霧霾天氣預測提供了一種新的算法,為更好地預測霧霾天氣提供了理論支持。