(陜西國(guó)際商貿(mào)學(xué)院 陜西·咸陽(yáng) 712046)
近年來(lái),隨著社會(huì)的不斷進(jìn)步和人口的不斷增加,對(duì)水資源的需求也日益增多。所以,準(zhǔn)確預(yù)測(cè)水位數(shù)據(jù)對(duì)減少水資源缺乏具有一定的實(shí)際意義。本文利用洞庭湖南咀、長(zhǎng)江監(jiān)利、長(zhǎng)江沙市三個(gè)水文觀測(cè)站點(diǎn)的實(shí)時(shí)水位數(shù)據(jù)。通過(guò)改進(jìn)的粒子群對(duì)SVM的核函數(shù)參數(shù)進(jìn)行優(yōu)化,提高預(yù)測(cè)精確度,實(shí)現(xiàn)W-PSO優(yōu)化的SVM預(yù)測(cè)模型。
W-PSO算法慣性權(quán)重變化的公式是:

W-PSO算法的步驟如下:
(1)隨機(jī)設(shè)置每個(gè)粒子的速度與位置。
(2)利用適應(yīng)度函數(shù)算出每個(gè)粒子的適應(yīng)度值,將粒子的位置和適應(yīng)度值一同記錄在個(gè)體極值Pbest中,并將適應(yīng)度值Pbest和所有個(gè)體極值中最佳適應(yīng)值gbest的個(gè)體位置記錄在全局極值中。
(3)動(dòng)態(tài)更新粒子位置和速度:

(4)根據(jù)式(2.1)更新權(quán)值:
(5)使得每個(gè)粒子的最佳位置與適應(yīng)度值相比較,如果兩者相近,則使用目前值當(dāng)作粒子的最佳位置。對(duì)比目前所有的個(gè)體極值Pbest和全局極值gbest,并不時(shí)更新全局極值gbest。
(6)當(dāng)整個(gè)算法符合中斷條件(適應(yīng)度函數(shù)收斂即適應(yīng)度值達(dá)到最優(yōu))時(shí),便中斷查找且輸出尋優(yōu)結(jié)果,否則回到步驟(3)。
1.2.1 懲罰參數(shù)對(duì)SVM性能的影響
懲罰參數(shù)的作用是確定模型的復(fù)雜程度以及兩個(gè)個(gè)體之間吻合偏差大于不敏感系數(shù)的程度。對(duì)于已經(jīng)確定的實(shí)驗(yàn)數(shù)據(jù),如果的值過(guò)小,則經(jīng)驗(yàn)偏差的懲罰越小,從而增加了支持向量機(jī)的經(jīng)驗(yàn)風(fēng)險(xiǎn)。因此,在數(shù)值上,支持向量機(jī)會(huì)產(chǎn)生一種“學(xué)習(xí)不當(dāng)”的現(xiàn)象。當(dāng)?shù)闹颠^(guò)大時(shí),支持向量機(jī)模型的構(gòu)成將變得繁瑣、雜亂,對(duì)提高分類器的分類效果有消極的作用。所以,對(duì)于某些數(shù)據(jù)樣本,選定一個(gè)符合條件的懲罰參數(shù)C顯得尤為重要。
在非線性支持向量機(jī)的情況下,需要引入懲罰參數(shù)C和核函數(shù)參數(shù),這兩個(gè)基本參數(shù)的取值對(duì)預(yù)測(cè)精度有很大的影響。然而,人們僅僅通過(guò)大量的實(shí)驗(yàn)來(lái)獲得更好的參數(shù)。該方法花費(fèi)時(shí)間長(zhǎng),計(jì)算量大,得到的參數(shù)范圍較大。因此,論文提出利用 W-PSO算法對(duì)支持向量機(jī)中的兩個(gè)參數(shù)使用篩選優(yōu)化的方式解決上述問(wèn)題。
W-PSO算法是用于解決每個(gè)粒子如何尋得最優(yōu)解。在尋優(yōu)的過(guò)程中,算法中的每個(gè)粒子都可以代表解決一個(gè)問(wèn)題的可行解方案,并且每個(gè)粒子都存在一個(gè)相對(duì)確定的適應(yīng)值。粒子的速度確定了粒子相互之間運(yùn)動(dòng)的間距和方向。速度是根據(jù)本身和其他粒子的運(yùn)動(dòng)過(guò)程動(dòng)態(tài)調(diào)整的,從而使得粒子在可能解決的空間中找到最佳解。
從理論探究和實(shí)際運(yùn)用的方面出發(fā),W-PSO算法主要解決尋優(yōu)問(wèn)題且具有實(shí)用性意義。因此,基于上述優(yōu)點(diǎn),用其不斷迭代尋找支持向量機(jī)最佳參數(shù),建立了用于實(shí)際研究的WPSO優(yōu)化支持向量機(jī)參數(shù),以獲取最佳參數(shù)組合。
(1)獲取實(shí)驗(yàn)數(shù)據(jù),并進(jìn)行處理。
(2)確定SVM核函數(shù)和W-PSO算法的各個(gè)最優(yōu)參數(shù)。
(3)使用W-PSO對(duì)SVM模型進(jìn)行參數(shù)優(yōu)化,獲得最優(yōu)參數(shù)。
(4)用(3)中獲得的最佳參數(shù),進(jìn)行仿真實(shí)驗(yàn),得出實(shí)驗(yàn)結(jié)果。
論文的實(shí)驗(yàn)數(shù)據(jù)均來(lái)源互聯(lián)網(wǎng)數(shù)據(jù),即洞庭湖南咀、長(zhǎng)江監(jiān)利、長(zhǎng)江沙市水文觀測(cè)站點(diǎn)的水位數(shù)據(jù)。其網(wǎng)站頁(yè)面記錄著每小時(shí)的水位變化情況,包括河名、站名、時(shí)間、水位、較前日8時(shí)流量等。
通過(guò)Python語(yǔ)言編寫代碼提取頁(yè)面中的水位數(shù)據(jù),其中提取的數(shù)據(jù)樣本屬性包括河名、站名、時(shí)間(每隔一個(gè)小時(shí))、水位和流量,采集論文實(shí)驗(yàn)數(shù)據(jù)具體步驟如下:
(1)確定爬取頁(yè)面。因?yàn)榕廊〉臅r(shí)間段是2013-2018年,網(wǎng)頁(yè)的右上角有一個(gè)選擇查詢時(shí)間下拉框,因此,在爬取2013-2018年每年每月每時(shí)的水位數(shù)據(jù)時(shí),利用循環(huán)函數(shù),然后不斷的更新頁(yè)面,即可獲得水位數(shù)據(jù)。
(2)編寫頭信息。模擬一個(gè)瀏覽器,其屬性包括:Accept、Cache-Control、Accept-Encoding、Connection、Accept-Language、Content-Length、Cookie、Host、Origin、Referer、Upgrade-Insecure-Requests、User-Agent。
(3)定義主函數(shù)。即循環(huán)函數(shù)。
(4)接收響應(yīng)內(nèi)容。其包括:URL即具體網(wǎng)址、頭信息以及主函數(shù)。
(5)解析html頁(yè)面。
(6)提取標(biāo)簽。將頁(yè)面解析之后,提取論文需要的標(biāo)簽,比如年、月、日、小時(shí)、河名、站名、水位、流量。
(7)清洗數(shù)據(jù)。篩選掉對(duì)實(shí)驗(yàn)沒(méi)有幫助的屬性。比如需要幾個(gè)站點(diǎn)的數(shù)據(jù),即留幾個(gè)站點(diǎn)的水位數(shù)據(jù);
(8)保存文件。將獲取到的實(shí)驗(yàn)數(shù)據(jù)保存在.csv文件中。
為了驗(yàn)證W-PSO優(yōu)化SVM的預(yù)測(cè)模型的適用性與可行性,分別使用BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型、SVM預(yù)測(cè)模型、W-PSO優(yōu)化SVM預(yù)測(cè)模型進(jìn)行了實(shí)驗(yàn)仿真。其值如表1所示。

表1:3個(gè)水文觀測(cè)站點(diǎn)預(yù)測(cè)預(yù)測(cè)
由表1可看出,不同預(yù)測(cè)模型的效果由MSE和R2進(jìn)行反映。當(dāng)MSE值變小,則表明預(yù)測(cè)效果越好;當(dāng)R2值向1靠近,則預(yù)測(cè)效果越好。因此,說(shuō)明了經(jīng)過(guò)改進(jìn)粒子群算法優(yōu)化之后,預(yù)測(cè)精度有顯著的提升,為水位預(yù)測(cè)模型提供了實(shí)際應(yīng)用價(jià)值。
支持向量機(jī)是一種新型的機(jī)器學(xué)習(xí)算法,其在解決非線性問(wèn)題時(shí)具備較高的擬合能力和適應(yīng)能力。論文提出利用WPSO算法對(duì)支持向量機(jī)的和核函數(shù)參數(shù)進(jìn)行優(yōu)化,解決了SVM參數(shù)難以選擇的問(wèn)題,進(jìn)而提高了預(yù)測(cè)精度。實(shí)驗(yàn)結(jié)果表明:W-PSO優(yōu)化SVM預(yù)測(cè)模型具有很好的適用性。