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