国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MFO-SVM的空氣質(zhì)量指數(shù)預(yù)測(cè)

2018-07-10 09:24胡紅萍白艷萍
關(guān)鍵詞:飛蛾適應(yīng)度空氣質(zhì)量

高 帥, 胡紅萍, 李 洋, 白艷萍

(1. 中北大學(xué) 理學(xué)院, 山西 太原 030051; 2. 西安電子科技大學(xué) 電子工程學(xué)院, 陜西 西安 710071)

0 引 言

隨著經(jīng)濟(jì)建設(shè)和城市化的進(jìn)程日益加快, 人民的生活質(zhì)量日益提高, 但是能源大量消耗和污染物排放造成的空氣污染問題日趨嚴(yán)重, 霧霾天氣日漸增多, 嚴(yán)重影響著人們的日常生活和身心健康. 因此, 空氣質(zhì)量預(yù)測(cè)對(duì)指導(dǎo)人們生活和工作具有極其重要的意義. 空氣質(zhì)量指數(shù)(AQI)是衡量空氣質(zhì)量的重要依據(jù). 空氣質(zhì)量數(shù)據(jù)是高度復(fù)雜的非線性時(shí)間序列, 運(yùn)用傳統(tǒng)的線性方法難以取得良好的預(yù)測(cè)結(jié)果. 近年來, 智能優(yōu)化算法飛速發(fā)展并廣泛應(yīng)用于空氣質(zhì)量問題, 其強(qiáng)大的搜索能力, 易于尋找最優(yōu)解的特點(diǎn), 得到了眾多學(xué)者的青睞. 通常用于空氣質(zhì)量預(yù)測(cè)的智能優(yōu)化算法主要有支持向量機(jī)(Support Vector Machines, SVM)[1]、 遺傳算法(Genetic Algorithm, GA)[2]、 粒子群優(yōu)化算法(Particle Swarm Optimization, PSO)[3]、 人工魚群算法[4]等. 文獻(xiàn)[1]采用支持向量機(jī)空氣質(zhì)量預(yù)測(cè)時(shí), 預(yù)測(cè)精度提高但計(jì)算時(shí)間長(zhǎng), 懲罰函數(shù)c和核函數(shù)參數(shù)g難以尋優(yōu). 文獻(xiàn)[2]指出遺傳算法算法預(yù)測(cè)AQI時(shí), 雖然遺傳算子和交叉算子能快速收斂, 但在由于變異的不確定性, 極易陷入局部最優(yōu). 飛蛾撲火優(yōu)化算法作為一種新型的群智能優(yōu)化算法, 在工程方面的應(yīng)用還比較少. 文獻(xiàn)[5]嘗試用MFO算法優(yōu)化電力系統(tǒng)自動(dòng)控制器參數(shù), 雖然取得良好的效果, 但局部極值亟待解決.

本文針對(duì)飛蛾撲火優(yōu)化(MFO)算法容易陷入局部最優(yōu)、 支持向量機(jī)(SVM)懲罰函數(shù)c和核函數(shù)參數(shù)g難以尋優(yōu)問題, 借鑒支持向量機(jī)(SVM)所需樣本少和全局最優(yōu)的優(yōu)點(diǎn), 并結(jié)合飛蛾撲火優(yōu)化算法, 來提高SVM的性能, 同時(shí)避免飛蛾撲火優(yōu)化算法陷入局部最優(yōu).

1 飛蛾撲火優(yōu)化算法(MFO)

蛾是一種奇特的昆蟲, 與蝴蝶家族非常相似[6-8]. 它們通過一種特殊的橫向定位機(jī)制進(jìn)行導(dǎo)航, 飛蛾在飛行中保持相對(duì)于月球的固定角度, 由于月球遠(yuǎn)離飛蛾, 這種機(jī)制可以保證飛蛾沿平直線飛行. 當(dāng)飛蛾看到人造光時(shí), 它們會(huì)試圖保持與光線相似的角度直線飛行, 但由于這樣的光線比月球的光線距離近很多, 因此與光源保持相似的角度會(huì)導(dǎo)致飛蛾無用的或致命的螺旋飛行路徑, 飛蛾最終會(huì)向光收斂. 通過對(duì)該行為建模, 提出Moth-Flame Optimization(MFO)算法[7].

MFO算法中, 假設(shè)候選解是飛蛾, 問題的變量是空間中飛蛾的位置. 因此, 通過改變其位置向量, 飛蛾可以在一維、 二維、 三維或超維空間中飛行. 由于MFO算法是基于群體的算法, 所以蛾的集合用矩陣M表示, 矩陣OM表示蛾的適應(yīng)度值, 另一個(gè)關(guān)鍵的要素是火焰, 類似于蛾矩陣, 火焰的集合用矩陣F表示, 矩陣OF表示火焰的適應(yīng)度值, 表示為

(1)

(2)

式中:n是飛蛾的數(shù)量;d是變量的數(shù)量(維數(shù)).

矩陣OM適應(yīng)度值是每個(gè)飛蛾的適應(yīng)度(目標(biāo))函數(shù)的返回值. 將每個(gè)蛾的位置矢量傳遞給適應(yīng)度函數(shù), 并將適應(yīng)度函數(shù)的輸出分配給相應(yīng)的蛾作為其適應(yīng)度值. 飛蛾是搜索空間移動(dòng)的實(shí)際搜索代理, 而火焰是迄今為止獲得的飛蛾的最佳位置. 因此, 每個(gè)飛蛾都會(huì)搜索一個(gè)旗幟(火焰), 并在找到更好的解決方案的情況下進(jìn)行更新. 通過這種機(jī)制, 飛蛾不會(huì)失去最好的解決方案.

MFO算法是一個(gè)三元組, 它近似于優(yōu)化問題的全局優(yōu)化, 定義為

MFO=(I,P,T),

(3)

I是一個(gè)產(chǎn)生隨機(jī)蛾數(shù)和相應(yīng)適應(yīng)度值的函數(shù). 該函數(shù)為

I∶φ={M,OM}.

(4)

作為主要作用的P函數(shù)將使蛾在搜索空間周圍移動(dòng). 該函數(shù)接收到M矩陣, 并最終返回其更新的矩陣.

P∶M→M.

(5)

如果滿足終止條件, 則T函數(shù)返回true, 如果終止標(biāo)準(zhǔn)不滿足, 則返回false.

T∶M→{true,false}.

(6)

函數(shù)I初始化后生成初始解, 并計(jì)算目標(biāo)函數(shù)值.P函數(shù)迭代運(yùn)行, 直到T函數(shù)返回true. 使用等式(7)更新每個(gè)飛蛾相對(duì)于火焰的位置.

Mi=S(Mi,Fj),

(7)

式中:Mi表示第i個(gè)飛蛾;Fj表示第j個(gè)火焰;S是螺旋功能. 本文選擇對(duì)數(shù)螺旋作為飛蛾的主要更新機(jī)制, 螺旋定義為

S(Mi,Fj)=Di·ebt·cos(2πt)+Fj,

(8)

式中:Di表示第j個(gè)火焰和第i個(gè)飛蛾的距離;b是用于定義對(duì)數(shù)螺旋形狀的常數(shù);t是[1,1]中的隨機(jī)數(shù).

Di=|Fj-Mi|,

(9)

方程(8)是模擬飛蛾螺旋飛行的路徑, 該等式中, 飛蛾的下一個(gè)位置是相對(duì)于火焰定義的. 螺旋方程中的t參數(shù)定義了蛾的下一個(gè)位置接近于火焰的程度(t=-1是火焰最近的位置, 而t=1表示最遠(yuǎn)). 每只蛾只需要使用方程(8)對(duì)一個(gè)火焰更新其位置, 每次迭代在更新火焰列表之后, 根據(jù)其適合度值對(duì)火焰進(jìn)行排序, 然后飛蛾更新它們相對(duì)于相應(yīng)火焰的位置. 第一個(gè)飛蛾總是更新它相對(duì)于最好的火焰的位置, 而最后一個(gè)飛蛾更新相對(duì)于列表中最差的火焰的位置. 搜索空間中相對(duì)于n個(gè)不同位置的飛蛾的位置更新可能降低對(duì)最有希望的解決方案的利用率. 為了解決這個(gè)問題, 提出了適應(yīng)機(jī)制的數(shù)量火焰. 在迭代過程中火焰的數(shù)量使用公式(10)自適應(yīng)地降低.

(10)

式中:L是當(dāng)前迭代次數(shù);N是火焰數(shù);T表示最大迭代次數(shù).P函數(shù)的執(zhí)行步驟如下:

用式(10)計(jì)算更新火焰數(shù)量

計(jì)算飛蛾的適應(yīng)度函數(shù)值

if 迭代次數(shù)為1

F=sort(M);

OF=sort(OM);

else

F=sort(Mt-1,Mt);

OF=sort(Mt-1,Mt);

end

fori=1∶n

forj=1∶d

更新r和t

用式(9)計(jì)算飛蛾與相應(yīng)火焰之間的距離

用式(7)和(8)更新飛蛾與相應(yīng)火焰之間的距離M(i,j)

end

end

如上所述, 執(zhí)行P函數(shù)直到T函數(shù)返回true.P函數(shù)終止后, 最佳飛蛾作為獲得的最佳近似值返回.

2 MFO-SVM算法

支持向量機(jī)[9-10]中懲罰函數(shù)參數(shù)c和核函數(shù)參數(shù)g對(duì)分類預(yù)測(cè)的準(zhǔn)確性有很大的影響, 但目前還沒有調(diào)整c和g的較好的算法. 通常采用的是網(wǎng)格法, 但是當(dāng)搜索范圍較大時(shí)這種網(wǎng)格法比較費(fèi)時(shí).

本文將c和g兩個(gè)參數(shù)作為MFO算法的優(yōu)化變量, 將SVM作為MFO的評(píng)估函數(shù), 提出了MFO-SVM算法. 將訓(xùn)練集在K-CV意義下的準(zhǔn)確率作為 MFO中的適應(yīng)度函數(shù), 利用MFO對(duì) SVM 參數(shù)進(jìn)行優(yōu)化的整體算法過程如圖 1 所示.

圖 1 運(yùn)用MFO優(yōu)化SVM參數(shù)的流程圖Fig.1 Flowchart for optimizing SVM parameters using MFO

MFO-SVM算法具體步驟如下:

1) 原始數(shù)據(jù)信息?;?, 每4天作為一個(gè)?;翱?, 采用三角模糊粒子作為隸屬度函數(shù), 找到每個(gè)窗口的最小值Low、 平均值R和最大值Up. 隸屬度函數(shù)為

(11)

式中:a為最小值Low;m為平均值R;b表示最大值Up.

2)考慮到數(shù)據(jù)的廣泛范圍, 對(duì)Low, R和Up歸一化, 以確保所有的變量的值在0和5之間變化. 歸一化如下

(12)

式中:P為樣本數(shù)據(jù);PN是P的歸一化值;Pmin是P的最小值;Pmax是P的最大值.

3) 確定適應(yīng)度函數(shù). 將訓(xùn)練集 K-CV 意義下的準(zhǔn)確率作為 MFO中的適應(yīng)度函數(shù);

4) 初始化. 創(chuàng)建第一個(gè)隨機(jī)的飛蛾群體;

5) 計(jì)算適應(yīng)度函數(shù)值, 判斷是否滿足終止條件(最大進(jìn)化代數(shù)), 如果滿足, 則執(zhí)行步驟7, 否則執(zhí)行步驟6;

6) 通過飛蛾排序、 更新火焰數(shù)量和更新飛蛾相對(duì)火焰位置找到最優(yōu)解;

7) 輸出最優(yōu)解(bestc, bestg);

8) 使用MFO-SVM算法訓(xùn)練數(shù)據(jù), 然后使用R2(平方相關(guān)系數(shù))和MAPE(相對(duì)誤差)評(píng)估算法.

(13)

(14)

3 實(shí) 驗(yàn)

3.1 數(shù)據(jù)來源

實(shí)驗(yàn)數(shù)據(jù)來源于中華人民共和國環(huán)境保護(hù)部(http:∥datacenter.mep.gov.cn/index)發(fā)布的山西省太原市和大同市實(shí)時(shí)空氣質(zhì)量數(shù)據(jù), 采樣時(shí)間為2015年1月1日至2017年3月10日, 采樣頻率為每天一次, 數(shù)據(jù)各計(jì)800組. 根據(jù)最新頒布的 《環(huán)境空氣質(zhì)量標(biāo)準(zhǔn)》(GB 3095-2012), 本次空氣質(zhì)量預(yù)測(cè)將空氣質(zhì)量指數(shù)(AQI)、 細(xì)顆粒物(PM2.5)、 可吸入顆粒物(PM10)、 二氧化硫(SO2)、 一氧化碳(CO)、 二氧化氮(NO2)、 臭氧(O3)納入預(yù)測(cè)體系中[11-12].

本文選取上述第t天7個(gè)指標(biāo)作為輸入變量, 第t+1天的AQI作為輸出, 并把預(yù)測(cè)等級(jí)劃分I級(jí)(優(yōu)), II級(jí)(良), III級(jí)(輕度污染), IV級(jí)(中等污染), V級(jí)(重度污染), 第VI類(嚴(yán)重污染)六類. AQI由濃度劃分如表 1 所示.

表 1 空氣質(zhì)量指數(shù)范圍及等級(jí)分布Tab.1 Air quality index range and grade distribution

3.2 實(shí)驗(yàn)結(jié)果與分析

每個(gè)城市選取2015年1月1日至2017年3月10日共800組數(shù)據(jù)作為訓(xùn)練集, 其中每四天的作為一個(gè)?;翱?, 一共200個(gè)粒化窗口, 在實(shí)驗(yàn)中用2015年1月1日至2017年3月10日200個(gè)?;翱诘目諝赓|(zhì)量的7個(gè)指標(biāo)預(yù)測(cè)第201個(gè)?;翱?, 即2017年3月11日至2017年3月14日的AQI最小值, 平均值和最大值. 本文中實(shí)驗(yàn)采用Windows64位PC計(jì)算機(jī), 數(shù)學(xué)軟件MATLAB R2014a, 分別用SVM算法、 PSO-SVM算法、 GA-SVM算法和MFO-SVM算法進(jìn)行預(yù)測(cè), 表 2 為2017年3月11日至2017年3月14日的AQI實(shí)測(cè)值, 表 3 為各預(yù)測(cè)模型對(duì)太原市這4天AQI指數(shù)范圍的預(yù)測(cè), 表 4 為各預(yù)測(cè)模型對(duì)大同市這4天AQI指數(shù)范圍的預(yù)測(cè).

表 2 AQI實(shí)測(cè)值Tab.2 AQI measured values

表 3 各模型對(duì)太原市AQI的預(yù)測(cè)結(jié)果比較Tab.3 Comparison of prediction results of each model for Taiyuan AQI

表 4 各模型對(duì)大同市AQI的預(yù)測(cè)結(jié)果比較Tab.4 Comparison of prediction results of each model for Datong AQI

由表 2 和表 3 可以看出, MFO-SVM算法在模型平方相關(guān)系數(shù)和平均相對(duì)誤差方面都優(yōu)于其他三種模型, 并且MFO-SVM算法預(yù)測(cè)的AQI變化范圍與實(shí)際情況完全符合, 平方相關(guān)系數(shù)接近100%, 誤差較小, 從而該算法更優(yōu).

此外, 通過上述4種預(yù)測(cè)模型, 分別得到MFO-SVM算法、 GA-SVM算法、 PSO-SVM算法和SVM算法實(shí)際數(shù)據(jù)的預(yù)測(cè)散點(diǎn)對(duì)比圖, 其中山西省太原市MFO-SVM算法最小值、 最大值的實(shí)際數(shù)據(jù)與預(yù)測(cè)數(shù)據(jù)的對(duì)比圖如圖 2 所示, 4種算法的誤差分析圖如圖 3 所示. 大同市MFO-SVM算法最小值、 最大值的實(shí)際數(shù)據(jù)與預(yù)測(cè)數(shù)據(jù)的對(duì)比圖如圖 4 所示, 4種算法的誤差分析圖如圖 5 所示.

圖 2 太原市MFO-SVM算法最小值、 最大值的實(shí)際數(shù)據(jù)與預(yù)測(cè)數(shù)據(jù)的對(duì)比圖Fig.2 Comparison of the actual and predicted data of the minimum and maximum values of the MFO-SVM algorithm in Taiyuan

圖 3 各算法預(yù)測(cè)太原市AQI的相對(duì)誤差圖Fig.3 The relative error predicted by each algorithm in Taiyuan AQI

圖 5 各算法預(yù)測(cè)大同市AQI的相對(duì)誤差圖Fig.5 The relative error predicted by each algorithm in Datong AQI

由圖 2 和圖 4 可以看出, MFO-SVM算法與實(shí)際數(shù)據(jù)點(diǎn)更加接近, 與實(shí)際情況完全吻合, 預(yù)測(cè)效果最好. 由圖3和圖5可以看出, MFO-SVM算法的相對(duì)誤差在零附近徘徊且接近于零, 誤差分布比較密集, 相對(duì)于另外三種算法相對(duì)誤差明顯較小.

4 結(jié) 論

本文以山西省太原市和大同市2015年至2017年間800組數(shù)據(jù)為實(shí)驗(yàn)對(duì)象, 將支持向量機(jī)(SVM)思想用于優(yōu)化飛蛾撲火算法, 通過實(shí)驗(yàn), 得到了較為理想的預(yù)測(cè)結(jié)果. 結(jié)合AQI預(yù)測(cè)結(jié)果圖和相對(duì)誤差對(duì)比圖, MFO-SVM算法與實(shí)際情況完全符合, 更加適合預(yù)測(cè)AQI的未來變化趨勢(shì), 從而更好地指導(dǎo)人們的生產(chǎn)實(shí)踐. 因此, MFO-SVM算法在預(yù)測(cè)精度、 誤差率和可靠性方面更優(yōu), 可以應(yīng)用于人類生產(chǎn)實(shí)踐中, 指導(dǎo)人們提前做好防范措施.

猜你喜歡
飛蛾適應(yīng)度空氣質(zhì)量
改進(jìn)的自適應(yīng)復(fù)制、交叉和突變遺傳算法
可愛的你
Trolls World Tour魔發(fā)精靈2
飛蛾說
啟發(fā)式搜索算法進(jìn)行樂曲編輯的基本原理分析
車內(nèi)空氣質(zhì)量標(biāo)準(zhǔn)進(jìn)展
重視車內(nèi)空氣質(zhì)量工作 制造更環(huán)保、更清潔、更健康的汽車
多功能空氣質(zhì)量遠(yuǎn)程檢測(cè)儀
勇敢的小飛蛾
基于人群搜索算法的上市公司的Z—Score模型財(cái)務(wù)預(yù)警研究
孝昌县| 抚远县| 郎溪县| 永顺县| 海盐县| 桃园市| 儋州市| 新津县| 德化县| 射洪县| 元朗区| 瑞昌市| 汉寿县| 滦南县| 吉林省| 增城市| 焦作市| 新野县| 平和县| 上杭县| 天长市| 张掖市| 五华县| 潜山县| 禄劝| 贵州省| 武义县| 沙坪坝区| 通山县| 台南县| 佳木斯市| 会泽县| 鄂伦春自治旗| 民乐县| 调兵山市| 璧山县| 收藏| 蓝田县| 渝北区| 郎溪县| 柳河县|