本發(fā)明涉及年用電量預(yù)測(cè)技術(shù)領(lǐng)域,尤其是涉及一種基于蟻獅優(yōu)化的lssvm年用電量預(yù)測(cè)方法。
背景技術(shù):
年用電量預(yù)測(cè)對(duì)電力系統(tǒng)的規(guī)劃,運(yùn)行和維護(hù)至關(guān)重要,也可以在一定程度上反映一個(gè)國(guó)家或地區(qū)的經(jīng)濟(jì)發(fā)展。精確的年用電量預(yù)測(cè)可為電力系統(tǒng)運(yùn)營(yíng)商和經(jīng)濟(jì)管理者提供有價(jià)值的參考。因此對(duì)電力負(fù)荷進(jìn)行預(yù)測(cè)是電力系統(tǒng)最重要的基本工作之一,它對(duì)能源規(guī)劃、電力系統(tǒng)的運(yùn)行與控制及經(jīng)濟(jì)發(fā)展戰(zhàn)略研究有著重要意義。預(yù)測(cè)的方法有:回歸分析法、類比法,彈性系數(shù)法,時(shí)間序列法,神經(jīng)網(wǎng)絡(luò)法等。
在現(xiàn)代經(jīng)濟(jì)社會(huì)中,用電量與經(jīng)濟(jì)、社會(huì)、人口及生態(tài)環(huán)境之間都存在著異常密切的關(guān)系,即用電系統(tǒng)是一個(gè)受到眾多因素影響的復(fù)雜系統(tǒng),用常規(guī)的數(shù)學(xué)方法來建立預(yù)測(cè)模型,不僅工作量大,而且預(yù)測(cè)精度也難以保證。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種基于蟻獅優(yōu)化的lssvm年用電量預(yù)測(cè)方法。
本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn):
一種基于蟻獅優(yōu)化的lssvm年用電量預(yù)測(cè)方法,所述的年用電量預(yù)測(cè)方法包括以下步驟:
s1、確定lssvm預(yù)測(cè)模型的輸入變量;
s2、初始化蟻獅優(yōu)化算法,將初始蟻獅位置作為核參數(shù)和正則化參數(shù)代入lssvm模型,得到相應(yīng)的年用電量預(yù)測(cè)值;
s3、建立適應(yīng)度函數(shù),計(jì)算初始蟻獅位置的適應(yīng)度值,得到初始適應(yīng)度值,保留最小初始適應(yīng)度值對(duì)應(yīng)的蟻獅作為初始精英蟻獅;
s4、更新螞蟻位置,計(jì)算當(dāng)代螞蟻的適應(yīng)度值,并與當(dāng)代螞蟻對(duì)應(yīng)的蟻獅位置的適應(yīng)度值進(jìn)行比較,判斷是否更新蟻獅位置;
s5、將上一步得到的蟻獅位置的適應(yīng)度值逐一與上一代精英蟻獅位置的適應(yīng)度值比較,保留較小適應(yīng)度值對(duì)應(yīng)的蟻獅位置,得到本次迭代精英蟻獅位置;
s6、判斷是否達(dá)到最大迭代次數(shù),若為是,則輸出精英蟻獅位置及其相應(yīng)的年用電量預(yù)測(cè)值,若為否,返回s4。
步驟s1具體為:采用灰色關(guān)聯(lián)分析方法,獲得年用電量影響因素和年用電量之間的關(guān)聯(lián)度值,根據(jù)關(guān)聯(lián)度值,選擇相應(yīng)的年用電量影響因素作為lssvm預(yù)測(cè)模型的輸入變量。
步驟s2中初始化蟻獅優(yōu)化算法包括以下步驟:
s201、參數(shù)初始化,包括種群規(guī)模agents_no,解的維數(shù)d=2,解空間的上界bup,解空間的下界blow,最大迭代次數(shù)max_iter;
s202、位置初始化,隨機(jī)產(chǎn)生螞蟻的位置矩陣mant和蟻獅的位置矩陣mantlion。
s201中所述的解空間的上界bup=[1000,1000],下界blow=[0.1,0.01]。
s202中螞蟻的位置矩陣mant和蟻獅的位置矩陣mantlion為:
步驟s3中的適應(yīng)度函數(shù)為:
步驟s4中螞蟻位置的更新公式為
所述的隨機(jī)函數(shù)計(jì)算公式為:
步驟s4中將當(dāng)代螞蟻的適應(yīng)度值與其對(duì)應(yīng)的蟻獅位置的適應(yīng)度值進(jìn)行比較,判斷是否更新蟻獅位置,若當(dāng)代螞蟻的適應(yīng)度值小于蟻獅的適應(yīng)度值,則用當(dāng)代螞蟻位置替代蟻獅位置,否則保留原蟻獅位置。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
1、相比于現(xiàn)有預(yù)測(cè)方法,預(yù)測(cè)精度更高:利用蟻獅優(yōu)化算法對(duì)lssvm預(yù)測(cè)方法進(jìn)行優(yōu)化,其預(yù)測(cè)結(jié)果更接近實(shí)際用電量,減小了預(yù)測(cè)的相對(duì)誤差;
2、提高預(yù)測(cè)效率:自動(dòng)循環(huán)迭代,預(yù)測(cè)效率高,迭代運(yùn)行時(shí)間短。
附圖說明
圖1為本發(fā)明的基于蟻獅優(yōu)化的lssvm的年用電量預(yù)測(cè)方法流程圖;
圖2為alo優(yōu)化lssvm參數(shù)的詳細(xì)流程圖;
圖3為采用alo-lssvm和gca-alo-lssvm方法進(jìn)行預(yù)測(cè)的結(jié)果對(duì)比圖;
圖4為采用其他方法與采用本發(fā)明方法得到的預(yù)測(cè)值對(duì)比圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都應(yīng)屬于本發(fā)明保護(hù)的范圍。
本發(fā)明提供一種基于蟻獅優(yōu)化的lssvm年用電量預(yù)測(cè)方法,主要包括兩個(gè)部分:首先采用灰色關(guān)聯(lián)分析(greycorrelationanalysis,gca)對(duì)用電量影響因素與用電量進(jìn)行相關(guān)性分析,根據(jù)灰色關(guān)聯(lián)度值,確定lssvm輸入變量,簡(jiǎn)化lssvm結(jié)構(gòu),其次通過蟻獅優(yōu)化算法(antlionoptimizer,alo),得到最小二乘支持向量機(jī)(leastsquaresupportvectormachines,lssvm)的最優(yōu)參數(shù)。
(1)gca
gca是灰色系統(tǒng)理論的主要內(nèi)容之一,其基本原理是通過對(duì)統(tǒng)計(jì)序列集合關(guān)系的比較來分清系統(tǒng)中多因素的關(guān)系的緊密程度,序列曲線的集合形狀越接近,則它們之間的關(guān)聯(lián)度就越大,反之越小。其具體過程如下:
1)設(shè)用電量序列為x0=(x0(1),x0(2),…,x0(k),…,x0(p)),用電量影響因素為xg=(xg(1),xg(2),…,xg(k),…xg(p)),(g=1,2,…,m),p表示所選用電量的總年數(shù),m表示用電量影響因素個(gè)數(shù);
2)利用初值化算子對(duì)x0和xi進(jìn)行初始化,得到初值像分別為y0=(y0(1),y0(2),…,y0(k),…,y0(p))和yg=(yg(1),yg(2),…,yg(k),…,yg(p)),(g=1,2,…,m),m表示用電量影響因素個(gè)數(shù);
3)求出y0與yg之間的關(guān)聯(lián)系數(shù)γ0g(k),
4)計(jì)算x0與xg的關(guān)聯(lián)度γ0g,
(2)基于alo的lssvm預(yù)測(cè)模型
alo算法是由s.mirjalili于2015年提出的一種新的智能進(jìn)化算法,其主要靈感來源于蟻獅幼蟲的覓食行為。該算法在優(yōu)化過程中遵行以下準(zhǔn)則:
準(zhǔn)則1:螞蟻采用不同的路徑在搜索空間隨機(jī)游走,隨機(jī)游走適用于所有維度的螞蟻,且螞蟻隨機(jī)游走受蟻獅陷阱的影響。
準(zhǔn)則2:蟻獅能建立與適應(yīng)度值相稱的陷阱,且較大陷阱的蟻獅捕獲螞蟻的概率較高。
準(zhǔn)則3:隨機(jī)游走范圍隨著螞蟻對(duì)蟻獅的移動(dòng)自適應(yīng)地減少。
準(zhǔn)則4:如果一個(gè)螞蟻的適應(yīng)度值比一個(gè)蟻獅的適應(yīng)度值小,這意味著它會(huì)被蟻獅捕獲。
準(zhǔn)則5:蟻獅在捕獲螞蟻附近重新定位新位置,并重建陷阱以適應(yīng)捕獲螞蟻后的變化。
基于alo求解lssvm中的核參數(shù)和正則化參數(shù)的具體步驟如下:
1)對(duì)lssvm的輸入變量、輸出變量進(jìn)行歸一化處理,歸一化到[0,1]后,將25組數(shù)據(jù)分為兩部分:前20組數(shù)據(jù)作為訓(xùn)練樣本集l,后5組數(shù)據(jù)作為驗(yàn)證樣本集z。然后,再?gòu)挠?xùn)練樣本集l(共n=20組數(shù)據(jù))中選出l組數(shù)據(jù)形成訓(xùn)練樣本子集u,建立并訓(xùn)練lssvm模型,l中剩余數(shù)據(jù)作為檢驗(yàn)樣本子集v,檢驗(yàn)訓(xùn)練后的模型。
2)alo算法的參數(shù)初始化:包括種群規(guī)模agents_no,每只蟻獅的位置即為一個(gè)解,即lssvm中的兩個(gè)參數(shù):核參數(shù)σ和正則化參數(shù)γ,因此解的維數(shù)d=2,解空間的上界bup=[bup1,bup2],下界blow=[blow1,blow2],最大迭代次數(shù)max_iter。同時(shí)建立適應(yīng)度函數(shù)f,
3)alo算法位置初始化:螞蟻的初始位置
4)將蟻獅位置即核參數(shù)和正則化參數(shù)代入lssvm預(yù)測(cè)模型,得到相應(yīng)的預(yù)測(cè)值,然后根據(jù)適應(yīng)度函數(shù)f,計(jì)算初始蟻獅的適應(yīng)度值,初始適應(yīng)度值最小的蟻獅即為初始精英蟻獅elite(0);
5)保留上一代精英蟻獅的位置,按照蟻獅位置和精英蟻獅位置更新螞蟻位置,計(jì)算當(dāng)前代螞蟻的適應(yīng)度值,并與相應(yīng)蟻獅的適應(yīng)度值進(jìn)行比較,當(dāng)螞蟻的適應(yīng)度值小于蟻獅的適應(yīng)度值時(shí),則螞蟻被捕;
6)更新蟻獅的位置到捕殺螞蟻的位置,計(jì)算更新位置后蟻獅的適應(yīng)度值,依次與上一代精英蟻獅的適應(yīng)度值進(jìn)行比較,保留較小適應(yīng)度值的蟻獅,得到本次迭代精英蟻獅elite(t);
7)若未達(dá)到最大迭代次數(shù),則返回步驟5),否則,輸出精英蟻獅位置,即所求得lssvm的核參數(shù)和正則化參數(shù)(σ,γ)。
基于蟻獅優(yōu)化的lssvm的年用電量預(yù)測(cè)方法,包括以下步驟,如圖2所示:
1)確定最小二乘支持向量機(jī)(leastsquaresupportvectormachines,lssvm)的輸入變量;
2)初始化蟻獅優(yōu)化算法(antlionoptimizer,alo);
3)建立適應(yīng)度函數(shù),計(jì)算初始適應(yīng)度值,并得到初始精英蟻獅位置;
4)更新螞蟻位置,計(jì)算當(dāng)前螞蟻位置的適應(yīng)度值,并與其對(duì)應(yīng)的蟻獅的適應(yīng)度值進(jìn)行比較,判斷是否更新蟻獅位置;
5)計(jì)算更新后的蟻獅位置對(duì)應(yīng)的適應(yīng)度值,逐一與上一代精英蟻獅的適應(yīng)度值比較,保留較小適應(yīng)度值的蟻獅,得到本次迭代精英蟻獅;
6)判斷是否達(dá)到最大迭代次數(shù),若是,則轉(zhuǎn)至下一步,否則將迭代次數(shù)加1后轉(zhuǎn)至4);
7)完成迭代過程,得到所求年用電量預(yù)測(cè)值。
所述步驟1)中l(wèi)ssvm的輸入變量確定方法為:采用灰色關(guān)聯(lián)分析方法對(duì)用電量影響因素與用電量進(jìn)行灰色關(guān)聯(lián)分析,獲得用電量影響因素與用電量之間的關(guān)聯(lián)度值,根據(jù)關(guān)聯(lián)度值,選擇年用電量影響因素作為lssvm的輸入變量。
所述步驟2)具體為:
201)alo參數(shù)初始化,包括種群規(guī)模agents_no,每只蟻獅的位置即為一個(gè)解,即lssvm中的兩個(gè)參數(shù):核參數(shù)σ和正則化參數(shù)γ,因此解的維數(shù)d=2,解空間的上界bup=[bup1,bup2],下界blow=[blow1,blow2],最大迭代次數(shù)max_iter;
202)alo位置初始化,隨機(jī)產(chǎn)生螞蟻的位置矩陣mant和蟻獅的位置矩陣mantlion:
所述解空間的上界bup=[1000,1000],下界blow=[0.1,0.01]。
所述步驟3)具體為:
301)對(duì)lssvm的輸入變量、輸出變量進(jìn)行歸一化處理,歸一化到[0,1]后,將25組數(shù)據(jù)分為兩部分:前20組數(shù)據(jù)作為訓(xùn)練樣本集l,后5組數(shù)據(jù)作為驗(yàn)證樣本集z。然后,再?gòu)挠?xùn)練樣本集l(共n=20組數(shù)據(jù))中選出l組數(shù)據(jù)形成訓(xùn)練樣本子集u,建立并訓(xùn)練lssvm模型,l中剩余數(shù)據(jù)作為檢驗(yàn)樣本子集v,檢驗(yàn)訓(xùn)練后的模型;
302)將步驟2)中的mantlion代入lssvm,并對(duì)其進(jìn)行訓(xùn)練,用訓(xùn)練好的lssvm進(jìn)行預(yù)測(cè),得到預(yù)測(cè)值;
303)根據(jù)適應(yīng)度函數(shù)f,
所述步驟4)中螞蟻位置的更新公式為:
當(dāng)計(jì)算
當(dāng)計(jì)算
ct,dt計(jì)算公式為:
比率i計(jì)算公式為:
隨機(jī)函數(shù)r1(t),…,rmax_iter(t)計(jì)算公式為:
然后根據(jù)f,計(jì)算當(dāng)前螞蟻位置的適應(yīng)度值,并與相應(yīng)蟻獅的適應(yīng)度值進(jìn)行比較,判斷是否更新蟻獅位置。
當(dāng)螞蟻的適應(yīng)度值小于蟻獅的適應(yīng)度值時(shí),則更新蟻獅位置。
所述步驟5)具體為:
501)蟻獅位置更新公式為:
502)根據(jù)f,計(jì)算更新位置后的蟻獅適應(yīng)度值,并逐一與上一代精英蟻獅的適應(yīng)度值進(jìn)行比較,保留較小適應(yīng)度值的蟻獅,得到本次迭代精英蟻獅位置。
實(shí)施例
本發(fā)明使用某市年用電量實(shí)測(cè)數(shù)據(jù)(單位:億千瓦時(shí))進(jìn)行了測(cè)試。根據(jù)圖1,用1990年~2009年的用電量和用電量影響因素序列訓(xùn)練模型,用訓(xùn)練好的模型預(yù)測(cè)測(cè)試集2010年~2014年的用電量。其中alo算法中各參數(shù)設(shè)置如下:種群規(guī)模agents_no=30,變量的維數(shù)d=2,最大迭代次數(shù)max_iter=200,解空間的上界bup=[1000,1000],下界blow=[0.1,0.01]。根據(jù)alo算法求取的lssvm最優(yōu)參數(shù)為[1000,1000]。分別以alo-lssvm和gca-alo-lssvm表示應(yīng)用gca確定輸入變量前、后的模型,兩種方法得到的預(yù)測(cè)值見表1、圖3,表1為確定輸入變量前、后alo-lssvm預(yù)測(cè)結(jié)果比較。
表1
同時(shí)采用基于gca-bayesbp神經(jīng)網(wǎng)絡(luò)建立預(yù)測(cè)模型,與本發(fā)明的預(yù)測(cè)值對(duì)比圖見圖4。
幾種方法的預(yù)測(cè)效果見表2,表2表示所用三種預(yù)測(cè)方法的預(yù)測(cè)效果評(píng)價(jià)。
表2
根據(jù)1998年10月中國(guó)電力出版社出版的第1版由牛東曉、曹樹華、趙磊、張文文等編著的《電力負(fù)荷預(yù)測(cè)技術(shù)及其應(yīng)用》一書中第15頁(yè)所提供的預(yù)測(cè)模型評(píng)價(jià)標(biāo)準(zhǔn)可知,幾種預(yù)測(cè)方法都達(dá)到了好的預(yù)測(cè)效果。但從具體的評(píng)價(jià)標(biāo)準(zhǔn)值可看出本發(fā)明基于蟻獅優(yōu)化的lssvm的年用電量預(yù)測(cè)方法在預(yù)測(cè)年用電量時(shí)有更高的準(zhǔn)確率,可以滿足要求。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到各種等效的修改或替換,這些修改或替換都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。