本發(fā)明涉及電氣工程的預(yù)測領(lǐng)域,特別涉及一種用于風(fēng)電功率預(yù)測的的SVM預(yù)測模型。
背景技術(shù):
支持向量機(jī)(SVM)的性能與其相關(guān)參數(shù)的選擇有很大關(guān)系,目前常用的SVM參數(shù)優(yōu)化方法有蟻群優(yōu)化算法、遺傳算法和粒子群算法等,上述算法都在相應(yīng)的領(lǐng)域證明了各自的有效性,但在尋優(yōu)的過程中均會(huì)有不同程度的陷入局部最優(yōu)的缺點(diǎn),所以探索新的智能算法優(yōu)化SVM來建立模型具有重要意義。
萬有引力搜索算法是一種啟發(fā)式優(yōu)化算法,也是一種源于對物理學(xué)中的萬有引力進(jìn)行模擬產(chǎn)生的群體智能優(yōu)化方法,在對標(biāo)準(zhǔn)測試函數(shù)進(jìn)行優(yōu)化時(shí),其尋優(yōu)精度和收斂速度都明顯優(yōu)于粒子群優(yōu)化算法和遺傳算法等優(yōu)化效果,引力搜索算法中的搜索粒子是一組在空間運(yùn)行的物體,物體間通過萬有引力作用相互吸引,并在引力作用下朝著質(zhì)量最大的物體移動(dòng),從而求出優(yōu)化問題的最優(yōu)解,其具有目標(biāo)函數(shù)不必可微、優(yōu)化結(jié)果不依賴于初始值、全局優(yōu)化和隱含并行搜索的恃點(diǎn),己成功地應(yīng)用于諸多領(lǐng)域。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對上述問題,提供了一種用于風(fēng)電功率預(yù)測的的SVM預(yù)測模型,具有提高尋優(yōu)精度和收斂速度的優(yōu)點(diǎn),彌補(bǔ)了局部優(yōu)化能力差的缺憾。
本發(fā)明的目的是這樣實(shí)現(xiàn)的:
一種用于風(fēng)電功率預(yù)測的的SVM預(yù)測模型,其特征在于,包括以下步驟:
1)改進(jìn)引力搜索算法,以提高算法的收斂速度和精度;
2)將改進(jìn)后的引力搜索算法與SVM結(jié)合構(gòu)建風(fēng)電功率的預(yù)測模型;
3)根據(jù)構(gòu)建的風(fēng)電功率的預(yù)測模型,對風(fēng)電功率時(shí)間序列的預(yù)測數(shù)據(jù)進(jìn)行預(yù)測。
其中,所述引力搜索算法的改進(jìn)過程如下:
在一個(gè)D維的搜索空間中,假設(shè)有N個(gè)粒子,定義第i個(gè)粒子的位置為;
Xi=(xi1,...xid,...xin),i=1,2,..N;
上式中,xid為第i個(gè)粒子在第d維上的位置;粒子的質(zhì)量通過適應(yīng)度值的大小來計(jì)算,粒子質(zhì)量更新公式為:
Mai=Mpi=Mii=Mi,i=1,2,...,N
上式中,Mai為粒子個(gè)體質(zhì)量;Mpi為粒子引力質(zhì)量;Mii為粒子慣性質(zhì)量;為適應(yīng)度值;mbestt(t)、mworst(t)是整個(gè)種群在t時(shí)刻的最好、最差適應(yīng)度值;
則在某t時(shí)刻,定義粒子j作用在粒子i上的萬有引力Fijd(t)為:
上式中,Mpi(t)為t時(shí)刻受力粒子i的引力質(zhì)量;Moj(t)為t時(shí)刻施力粒子i的引力質(zhì)量;Rij(t)為兩粒子間的歐式距離;G(t)是t時(shí)刻的萬有引力常系數(shù);
接著,定義kbest(t)為第t次迭代的時(shí)候一組質(zhì)量較大的粒子的數(shù)量,設(shè)定kbest(t)初值為搜索粒子群體的數(shù)量N,隨著迭代次數(shù)的遞增,作用粒子持續(xù)減少,最后kbest(t)的線性值遞減為1,因此,在第d維空間中,粒子i所受來自其他所有粒子作用力的合力定義進(jìn)化為:
得到粒子i在第d維空間的速度vid和位置xid更新分別如下:
式中,R是[0,1]之間的隨機(jī)數(shù);
最后,將精英策略引入引力搜索算法中,形成新的解組合,以提高迭代過程中粒子的質(zhì)量:
Xi_new=Xi_besr×Q
Q=Rtop×rand(-0.5,0.5)/D
Xi_worst=Xi_new
式中,Xi_besr為適應(yīng)度最好的前20%″精英解″所處的位置;Xi_worst為將要被替代掉的適應(yīng)度最差的后20%的解位置,Xi_new為產(chǎn)生的新解位置,Rtop為最優(yōu)解與距離最優(yōu)解最近的解之間的歐氏距離;rand(-0.5,0.5)為一個(gè)[-0.5,0.5]范圍內(nèi)的偽隨機(jī)數(shù);D為搜索空間的維數(shù)。
其中,所述風(fēng)電功率的預(yù)測模型的構(gòu)建包括以下分步驟:
2.1)將風(fēng)電功率時(shí)間序列的訓(xùn)練樣本分為訓(xùn)練數(shù)據(jù)x1和預(yù)測數(shù)據(jù)x2;
2.2)利用改進(jìn)后的引力搜索算法進(jìn)行SVM的參數(shù)優(yōu)化。
其中,所述SVM的參數(shù)優(yōu)化包括以下子步驟:
2.2.1)將訓(xùn)練數(shù)據(jù)x1再分為作為參數(shù)尋優(yōu)過程中的訓(xùn)練集S1和作為參數(shù)尋優(yōu)過程中的驗(yàn)證集S2,采用簡單交叉驗(yàn)證的方法提高模型的泛化能力,尋優(yōu)目標(biāo)為驗(yàn)證集S2輸出預(yù)測值與真值之間的均方誤差最小值;
2.2.2)初始化改進(jìn)的引力搜索算法,產(chǎn)生初始種群;
2.2.3)輸入訓(xùn)練集x1,生成初始SVM參數(shù)組合;
2.2.4)將目標(biāo)函數(shù)的最小值作為尋優(yōu)目標(biāo),為每個(gè)粒子計(jì)算適應(yīng)度值,更新種群最優(yōu)解和最差解;
2.2.5)利用精英策略產(chǎn)生新解,替代種群中最差的20%的解,形成新的解的組合;
2.2.6)更新常系數(shù)G(t),計(jì)算解中每個(gè)粒子的質(zhì)量Mi(t),計(jì)算粒子所受合力Fid(t)和加速度aid(t);
2.2.7)更新粒子的速度和位置,新的位置即為新的SVM參數(shù)值;
2.2.8)如果達(dá)到最大迭代次數(shù),則終止迭代,返回最優(yōu)參數(shù)值;否則返回搭配步驟2.2.3)。
本發(fā)明的有益效果為:通過將改進(jìn)的引力搜索方法引入到SVM的參數(shù)優(yōu)化中,從而提高尋優(yōu)精度和收斂速度,彌補(bǔ)局部優(yōu)化能力差的缺憾,最終優(yōu)化風(fēng)電功率預(yù)測的預(yù)測精度。
附圖說明
圖1為本發(fā)明的流程圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例和附圖,進(jìn)一步闡述本發(fā)明。
本發(fā)明的流程如附圖1所示,主要包括兩部分:對引力搜索方法進(jìn)行改進(jìn);在SVM算法的參數(shù)優(yōu)化中引進(jìn)改進(jìn)引力搜索算法,建立組合預(yù)測的模型。
具體包括以下步驟:
1)改進(jìn)引力搜索算法:
在一個(gè)D維的搜索空間中,假設(shè)有N個(gè)粒子,定義第i個(gè)粒子的位置為:
Xi=(xi1,...xid,...xin),i=1,2,..N
上式中,xid為第i個(gè)粒子在第d維上的位置。粒子的質(zhì)量通過適應(yīng)度值的大小來計(jì)算。粒子的質(zhì)量越大,就意味著它越接近最優(yōu)值,并且有越大的吸引力和越慢的移動(dòng)速度。粒子質(zhì)量更新公式為:
Mai=Mpi=Mii=Mi,i=1,2,...,N
上式中,Mai為粒子個(gè)體質(zhì)量;Mpi為粒子引力質(zhì)量;Mii為粒子慣性質(zhì)量;為適應(yīng)度值;mbestt(t)、mworst(t)是整個(gè)種群在t時(shí)刻的最好、最差適應(yīng)度值。
在某t時(shí)刻,定義粒子j作用在粒子i上的萬有引力Fijd(t)為:
上式中,Mpi(t)為t時(shí)刻受力粒子i的引力質(zhì)量;Moj(t)為t時(shí)刻施力粒子i的引力質(zhì)量;Rij(t)為兩粒子間的歐式距離;G(t)是t時(shí)刻的萬有引力常系數(shù)。
定義kbest(t)為第t次迭代的時(shí)候一組質(zhì)量較大的粒子的數(shù)量,且它是一個(gè)隨時(shí)間遞減的線性函數(shù)。這里,設(shè)定kbest(t)初值為搜索粒子群體的數(shù)量N,即優(yōu)化初期所有的粒子都相互作用,但隨著迭代次數(shù)的遞增,作用粒子持續(xù)減少,最后kbest(t)的線性值遞減為1,即只有一個(gè)慣性質(zhì)量最大的粒子作用其他的粒子,因此,在第d維空間中,粒子i所受來自其他所有粒子作用力的合力定義進(jìn)化為:
粒子i在第d維空間的速度vid和位置xid更新分別如下:
式中,R是[0,1]之間的隨機(jī)數(shù)。這從一定程度上可增加種群多樣性,有利于避免陷入局部最優(yōu)。
將精英策略引入引力搜索算法中,即將每個(gè)粒子按適應(yīng)度大小排序,找出20%適應(yīng)度最好的解和20%適應(yīng)度最差的解,利用適應(yīng)度最好的20%″精英解″按照下式生成新的解,并將新的解替代原來適應(yīng)度最差的20%解,形成新的解組合,以提高迭代過程中粒子的質(zhì)量:
Xi_new=Xi_besr×Q
Q=Rtop×rand(-0.5,0.5)/D
Xi_worst=Xi_new
式中,Xi_besr為適應(yīng)度最好的前20%″精英解″所處的位置;Xi_worst為將要被替代掉的適應(yīng)度最差的后20%的解位置,Xi_new為產(chǎn)生的新解位置。Rtop為最優(yōu)解與距離最優(yōu)解最近的解之間的歐氏距離;rand(-0.5,0.5)為一個(gè)[-0.5,0.5]范圍內(nèi)的偽隨機(jī)數(shù);D為搜索空間的維數(shù)。
該改進(jìn)的引力搜索算法的優(yōu)點(diǎn)在于可使算法在保持全局收斂性的同時(shí),增強(qiáng)在最優(yōu)解區(qū)域的局部搜索能為,并提高了算法前期向全局最優(yōu)解靠攏的速度,進(jìn)一步提高算法的收斂速度和精度。
2)將改進(jìn)的引力搜索算法與SVM結(jié)合構(gòu)建風(fēng)電功率的預(yù)測模型:
2.1)將風(fēng)電功率時(shí)間序列的訓(xùn)練樣本分為訓(xùn)練數(shù)據(jù)x1和預(yù)測數(shù)據(jù)x2。
2.2)利用改進(jìn)引力搜索算法進(jìn)行SVM的參數(shù)優(yōu)化:
2.2.1)將訓(xùn)練數(shù)據(jù)x1再分為訓(xùn)練集S1和驗(yàn)證集S2,S1作為參數(shù)尋優(yōu)過程中的訓(xùn)練集,S2作為參數(shù)尋優(yōu)過程中的驗(yàn)證集,采用簡單交叉驗(yàn)證的方法提高模型的泛化能力,尋優(yōu)目標(biāo)為驗(yàn)證集S2輸出預(yù)測值與真值之間的均方誤差最小值。
2.2.2)給定種群規(guī)模N、最大迭代次數(shù)T,產(chǎn)生初始種群,即初始化改進(jìn)引力搜索算法。
2.2.3)輸入訓(xùn)練集x1,生成初始SVM參數(shù)組合,即各個(gè)粒子的位置值。
2.2.4)將目標(biāo)函數(shù)的最小值作為尋優(yōu)目標(biāo),為每個(gè)粒子計(jì)算適應(yīng)度值,更新種群最優(yōu)解、最差解。
2.2.5)利用精英策略產(chǎn)生新解,替代種群中最差的20%的解,形成新的解的組合。
2.2.6)更新常系數(shù)G(t),計(jì)算解中每個(gè)粒子的質(zhì)量Mi(t),計(jì)算粒子所受合力Fid(t)和加速度aid(t)。
2.2.7)更新粒子的速度和位置,新的位置即為新的SVM參數(shù)值。
2.2.8)如果達(dá)到最大迭代次數(shù),則終止迭代,返回最優(yōu)參數(shù)值;否則返回步驟2.2.3)。
3)根據(jù)學(xué)習(xí)獲得的模型,對風(fēng)電功率時(shí)間序列的預(yù)測數(shù)據(jù)x2進(jìn)行預(yù)測。
比較預(yù)測數(shù)據(jù)X2的真實(shí)值和預(yù)測值算出誤差,該模型對風(fēng)電功率的預(yù)測的誤差比傳統(tǒng)SVM的誤差較小,能夠提高功率預(yù)測的精度,從而對風(fēng)電功率的控制具有重要意義,例如有助于通過儲(chǔ)能平抑風(fēng)功率波動(dòng)等。