俆喬王,胡紅萍,白艷萍,王建中
(中北大學(xué) 理學(xué)院,太原 030051)
當(dāng)前,營(yíng)造良好的生態(tài)環(huán)境作為民生的優(yōu)先領(lǐng)域,其中最重要的一項(xiàng)便是打贏藍(lán)天防御戰(zhàn),并立足于空氣質(zhì)量的明顯改善。因此,空氣質(zhì)量預(yù)測(cè)對(duì)生態(tài)環(huán)境治理和環(huán)保工作具有極其重要的意義。
空氣質(zhì)量數(shù)據(jù)具有高度復(fù)雜的非線性時(shí)間序列,是衡量空氣質(zhì)量指數(shù)(AQI)的重要依據(jù)。目前的AQI預(yù)測(cè)方法有多元線性回歸[1]、BP神經(jīng)網(wǎng)絡(luò)[2-3]、支持向量機(jī)[4-7]、遺傳算法對(duì)支持向量機(jī)進(jìn)行改進(jìn)[8]等。
思維進(jìn)化算法(MEA)是1999年由孫承意等[9]提出的一種新型群體智能優(yōu)化算法,繼承了遺傳算法中的優(yōu)點(diǎn)且避免了交叉與變異因子產(chǎn)生基因的雙重性。王芳等[10]對(duì)思維進(jìn)化算法進(jìn)行設(shè)計(jì),增加了子群體遷徙策略和擁擠度控制策略,使得在搜索新解和利用好的解方面達(dá)到最佳平衡;俞俊等[11]運(yùn)用思維進(jìn)化算法對(duì)風(fēng)電功率進(jìn)行預(yù)測(cè),有效降低了電力系統(tǒng)的運(yùn)行成本;高帥等[12]對(duì)思維進(jìn)化算法進(jìn)行改進(jìn)用來(lái)預(yù)測(cè)空氣質(zhì)量,取得了良好的效果。
本文針對(duì)思維進(jìn)化算法(MEA)整體搜素的高效率性,結(jié)構(gòu)固有的并行性,良好的泛化性能以及支持向量機(jī)(SVM)懲罰函數(shù)c和核函數(shù)參數(shù)g難以尋優(yōu)的問(wèn)題,利用思維進(jìn)化算法(MEA)的模型,將其與支持向量機(jī)(SVM)進(jìn)行結(jié)合,得到MEA_SVM評(píng)估模型。通過(guò)與MEA_SVM、GA_SVM 和PSO_SVM相比,發(fā)現(xiàn)其具有較高的空氣質(zhì)量預(yù)測(cè)精度,誤差小,評(píng)價(jià)優(yōu)良,說(shuō)明了該優(yōu)化算法具有良好預(yù)測(cè)效果。
通過(guò)MEA_SVM算法對(duì)空氣質(zhì)量預(yù)測(cè)準(zhǔn)確率以及速度的提高,不僅可以指導(dǎo)人們的生活、工作,為出行提供有效及時(shí)的監(jiān)測(cè)手段,還可為醫(yī)學(xué)領(lǐng)域提供不可或缺的防控機(jī)制,在一定程度上對(duì)老年人心血管疾病、呼吸系統(tǒng)疾病、妊娠期婦女、兒童發(fā)育期等方面起到突出的防控作用,減少病發(fā)率,提高治愈率,降低因空氣污染導(dǎo)致發(fā)病的占比。此外,在城市環(huán)境規(guī)劃、大氣污染造成的突發(fā)事件預(yù)警方面,本研究能全方位、多角度提供相關(guān)理論支撐。
MEA算法是通過(guò)分析遺傳算法(GA)中存在的問(wèn)題和人類思維的進(jìn)化提出的。MEA算法將單層種群進(jìn)化轉(zhuǎn)化為多層種群進(jìn)化,繼承了達(dá)爾文進(jìn)化論中種群和進(jìn)化的概念,模擬了人類社會(huì)行為的某些方面,每個(gè)人都是在一群人中運(yùn)作的智能代理。為了在團(tuán)隊(duì)中取得較高的地位,一個(gè)人必須向團(tuán)隊(duì)中最成功的人學(xué)習(xí)。而群體本身也應(yīng)該遵循同樣的原則,在群體間的競(jìng)爭(zhēng)中生存下去,大大提高了搜索效率。
MEA算法是一種采用迭代法進(jìn)行連續(xù)進(jìn)化研究的方法。在學(xué)習(xí)開(kāi)始時(shí),將個(gè)體隨機(jī)分散在求解空間中,分別計(jì)算其得分。得分較高的被保留為優(yōu)勢(shì)子種群的原贏家,得分較低的被保留為臨時(shí)子種群的原贏家,種群被分成優(yōu)勢(shì)子種群和臨時(shí)子種群,其中優(yōu)勢(shì)子種群在整個(gè)解空間上記錄了子群之間競(jìng)爭(zhēng)中優(yōu)勝者的信息。臨時(shí)子種群記錄了整個(gè)解空間上子種群之間競(jìng)爭(zhēng)的中間過(guò)程。
MEA有趨同和異化兩個(gè)重要的操作。①趨同:在子種群中,個(gè)體競(jìng)爭(zhēng)成為贏家的過(guò)程稱為趨同,即判斷子群體中的第一個(gè)個(gè)體是否為該子群體中的最優(yōu)個(gè)體。趨同算子在子空間上完成子種群內(nèi)部的競(jìng)爭(zhēng),實(shí)現(xiàn)局部?jī)?yōu)化。②異化:在整個(gè)解決方案空間中,每個(gè)子種群競(jìng)相成為全局解決方案的贏家并尋找最佳點(diǎn)的過(guò)程稱為異化。異化算子在整體解空間上完成了子種群之間的競(jìng)爭(zhēng),保持了種群的全局搜索能力,因此避免了早熟,種群進(jìn)化為全局解決方案。③公告欄:公告欄為個(gè)體和各子群體之間的交流提供了機(jī)會(huì)。子種群中的個(gè)體將他們的信息張貼在當(dāng)?shù)氐墓鏅谏稀H蚬鏅谟糜诎l(fā)布子種群信息。趨同與異化在進(jìn)化過(guò)程中交替實(shí)現(xiàn)信息交換。
懲罰參數(shù)c和核函數(shù)參數(shù)g的選擇對(duì)支持向量機(jī)(SVM)預(yù)測(cè)結(jié)果的評(píng)價(jià)十分重要,但通常的c、g尋優(yōu)主要是Cross-Validation(CV)交叉驗(yàn)證方法下的網(wǎng)格劃分,當(dāng)參數(shù)搜索范圍變大時(shí),優(yōu)化過(guò)程變慢。群體智能的優(yōu)化方法隨機(jī)搜索,全局搜索能力強(qiáng),因此本文將c和g兩個(gè)參數(shù)作為MEA算法的優(yōu)化參數(shù),將訓(xùn)練集在CV交叉驗(yàn)證方法下的準(zhǔn)確率作為MEA的適應(yīng)度函數(shù),提出了MEA_SVM算法,分別對(duì)AQI的實(shí)際值和變化范圍進(jìn)行預(yù)測(cè),算法流程如圖1所示,具體步驟如下:
步驟1原始數(shù)據(jù)處理。把基礎(chǔ)數(shù)據(jù)復(fù)制1份,1份用于預(yù)測(cè)AQI的真實(shí)值,另1份數(shù)據(jù)進(jìn)行?;?,用于預(yù)測(cè)AQI的變化范圍。
步驟2確定適應(yīng)度函數(shù)。將訓(xùn)練集CV交叉驗(yàn)證方法下的準(zhǔn)確率作為MEA中的適應(yīng)度函數(shù)。
步驟3參數(shù)設(shè)置及初始化。按思維進(jìn)化算法默認(rèn)參數(shù)進(jìn)行設(shè)置,創(chuàng)建初始種群,并且分別以得分最高的前a個(gè)個(gè)體和前a-2a個(gè)體為中心,生產(chǎn)優(yōu)勝子種群ax和臨時(shí)子種群by。
步驟4子種群趨同操作。優(yōu)勝子種群和臨時(shí)子種群利用趨同算子進(jìn)行更新,判別個(gè)種群中第1個(gè)個(gè)體是否為最優(yōu)個(gè)體,如果是則種群成熟;若優(yōu)勝子群體尚未成熟,則將最高分?jǐn)?shù)作為新中心,并且該中心產(chǎn)生新的種群。繼續(xù)步驟4操作,直到所有子種群都成熟。
步驟5子種群異化操作。找到臨時(shí)子種群得分高于優(yōu)勝子種群的種群并記錄編號(hào),優(yōu)勝子種群得分低于臨時(shí)子種群的種群并記錄編號(hào)。分別使高得分的臨時(shí)子種群被得分低的優(yōu)勝子種群取代,取代完成后補(bǔ)充臨時(shí)子種群,以保證臨時(shí)子種群的個(gè)數(shù)不變。繼續(xù)步驟4操作,直到?jīng)]有臨時(shí)子種群得分高于優(yōu)勝子種群,異化操作結(jié)束。
步驟6解碼最佳個(gè)體。異化操作完成后,MEA算法迭代尋優(yōu)完成。依據(jù)編碼規(guī)則,找到最佳的個(gè)體進(jìn)行解碼,從而得到對(duì)應(yīng)的SVM 的c和g。
步驟7訓(xùn)練SVM及預(yù)測(cè)。優(yōu)化后的c和g用作SVM的訓(xùn)練參數(shù),并利用訓(xùn)練樣本對(duì)SVM進(jìn)行訓(xùn)練、學(xué)習(xí)。訓(xùn)練結(jié)束后,分別對(duì)實(shí)際值和范圍進(jìn)行仿真預(yù)測(cè)并用平方相關(guān)系數(shù)(R2)和相對(duì)誤差(MAPE)進(jìn)行評(píng)估。
本文所采用的污染物濃度數(shù)據(jù)來(lái)源于中華人民共和國(guó)環(huán)境保護(hù)部http://datacenter.mep.gov.cn/發(fā)布的山西省太原市實(shí)時(shí)空氣質(zhì)量數(shù)據(jù),采樣時(shí)間為2015-06-10—2017-08-17,采樣頻率為每天1次,數(shù)據(jù)各計(jì)800組。
圖1 MEA_SVM流程
依據(jù)我國(guó)生態(tài)環(huán)境部發(fā)布的《環(huán)境空氣質(zhì)量標(biāo)準(zhǔn)》(GB3095—2012),本文將空氣質(zhì)量指數(shù)(AQI)、細(xì) 顆 粒 物(PM2.5)、可 吸 入 顆 粒 物(PM10)、二氧化硫(SO2)、一氧化碳(CO)、二氧化氮(NO2)、臭氧(O3)共7項(xiàng)指標(biāo)作為SVM的輸入變量,把次日的AQI作為SVM的輸出,并把預(yù)測(cè)水平分為一級(jí)(優(yōu))、二級(jí)(良)、三級(jí)(輕度污染)、四級(jí)(中等污染)、五級(jí)(重度污染)、六級(jí)(嚴(yán)重污染)6個(gè)等級(jí)。AQI濃度劃分表如表1所示。
表1 AQI濃度劃分表
本文AQI預(yù)測(cè)的實(shí)驗(yàn)環(huán)境是在Windows 64位、12核CPU,24G 內(nèi)存的PC計(jì)算機(jī),Matlab 2014a下進(jìn)行的,分別運(yùn)行MEA_SVM算法、GA_SVM算法、PSO_SVM算法進(jìn)行預(yù)測(cè)。
采用粒化數(shù)據(jù)對(duì)變化范圍進(jìn)行預(yù)測(cè)。數(shù)據(jù)?;瘯r(shí)采用三角模糊粒子作為隸屬度函數(shù),每4天作為一個(gè)粒化窗口,找到每個(gè)窗口的Low、R和Up。
隸屬度函數(shù)為:
式中:a是最小值Low;m是平均值R;b是最大值Up。
對(duì)2015-06-10—2017-08-17共800組數(shù)據(jù)進(jìn)行?;渲忻?天作為一個(gè)?;翱冢?00個(gè)?;翱?,用2015-06-10—2017-08-17 200個(gè)?;翱诘目諝赓|(zhì)量的7個(gè)指標(biāo)預(yù)測(cè)第201個(gè)?;翱?,即2017-08-18—2017-08-21的AQI最小值Low、平均值R和最大值Up。表2為各預(yù)測(cè)模型對(duì)太原市這4天的AQI指數(shù)范圍的預(yù)測(cè)。然后,對(duì)用2015-06-10—2017-08-17的800組數(shù)據(jù)預(yù)測(cè)2017-08-18—2017-08-21的真實(shí)值。表3為2017-08-18—2018-08-21的AQI實(shí)測(cè)值。
通過(guò)運(yùn)行上述4種預(yù)測(cè)模型,分別得到MEA_SVM、GA_SVM、PSO_SVM、SVM在AQI預(yù)測(cè)的最低與最高值及其誤差,預(yù)測(cè)結(jié)果如圖2所示。4種算法的誤差分析如圖3所示。
表2 各預(yù)測(cè)模型預(yù)測(cè)范圍的結(jié)果比較
表3 各預(yù)測(cè)模型預(yù)測(cè)值與實(shí)測(cè)值結(jié)果比較
表4 各預(yù)測(cè)模型預(yù)測(cè)值預(yù)測(cè)速度比較
圖2 4種模型的預(yù)測(cè)結(jié)果
圖3 4種模型的誤差比較
從表2、3中可以看出:MEA_SVM算法預(yù)測(cè)的AQI變化范圍與實(shí)際情況完全符合,平方相關(guān)系數(shù)接近100%,誤差很小,并且MEA_SVM算法在模型平方相關(guān)系數(shù)和平均相對(duì)誤差方面都優(yōu)于其他3種模型,從而該算法更優(yōu)。從表4中可以看出:MEA_SVM算法的優(yōu)化速度遠(yuǎn)高于其他3種模型,耗時(shí)最短,顯著提高了預(yù)測(cè)速度。
由圖2可以看出:MEA_SVM算法與實(shí)際數(shù)據(jù)點(diǎn)更加接近,與實(shí)際情況更加吻合,精度高、預(yù)測(cè)效果更好。由圖3看出:MEA_SVM算法的相對(duì)誤差在零附近徘徊且接近于零,誤差分布比較密集,相比另外3種算法相對(duì)誤差明顯較小。
通過(guò)對(duì)MEA_SVM、GA_SVM、PSO_SVM、SVM幾種預(yù)測(cè)模型的分析比較,在預(yù)測(cè)范圍方面,MEA_SVM和GA_SVM模型的預(yù)測(cè)效果遠(yuǎn)好于PSO_SVM和SVM模型,MEA_SVM和GA_SVM模型都做到了較好的預(yù)測(cè)范圍,但MEA_SVM模型相關(guān)系數(shù)高于GA_SVM模型且平均相對(duì)誤差低于GA_SVM模型;在預(yù)測(cè)每日的AQI值方面,MEA_SVM模型比其他3種模型更接近于實(shí)際值,其誤差最小。因此,MEA_SVM 模型更適合于空氣質(zhì)量的預(yù)測(cè)。
本文將SVM 與MEA相結(jié)合提出了MEA_SVM算法,對(duì)山西省太原市2015—2017年間800組污染物數(shù)據(jù)進(jìn)行分析和AQI預(yù)測(cè)。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),預(yù)測(cè)結(jié)果較為可靠、優(yōu)越、理想。結(jié)合AQI預(yù)測(cè)結(jié)果和相對(duì)誤差對(duì)比,MEA_SVM算法與實(shí)際情況較為符合,在預(yù)測(cè)精度、誤差率和可靠性方面更優(yōu)。因此,利用MEA_SVM算法對(duì)空氣質(zhì)量預(yù)測(cè)可以在保證準(zhǔn)確率的同時(shí)顯著提高預(yù)測(cè)速度,更適用于預(yù)測(cè)AQI的變化趨勢(shì)及未來(lái)幾天的精確值,能更好地指導(dǎo)人們提前做好防范措施,同時(shí)為政府相關(guān)職能部門(mén)制定計(jì)劃提供及時(shí)、準(zhǔn)確的預(yù)測(cè)數(shù)據(jù)。
重慶理工大學(xué)學(xué)報(bào)(自然科學(xué))2019年12期