胡林靜,郭朝澤,王景帥
(內蒙古工業大學電力學院,呼和浩特 010080)
短期電力負荷預測對電力系統有著重要的影響,準確的負荷預測對保障電力系統的穩定運行以及負荷管理提供了支持。隨著電力系統復雜化,對于負荷預測模型的要求越來越高,近幾年人工智能方法逐漸成為主要的研究對象,但是單一的人工智能預測模型也存在一定的缺陷,其預測效果極易受到模型中參數的影響,為了解決此問題,大量的研究通過引入優化算法確定預測模型的參數從而搭建組合預測模型。魏騰飛等[1]用粒子群算法(partical swarm optimization,PSO)優化長短期記憶神經網絡(long short-term memory,LSTM)并且通過引入遺傳算法中變異思想對PSO進行了改進,結果表明提高了預測結果的穩定性。張金金等[2]提出了將改進的隨機森林算法與密度聚類算法結合的組合預測方法,通過對小波分解后的不同分量單獨預測,其結果反映了電力負荷的隨機性,預測模型具有更高的精度。劉曉悅等[3]提出了基于改進模糊灰色聚類法選取相似日并通過蝙蝠算法(bat algorithm,BA)優化的BP神將網絡(back propagation,BP)預測模型BA-BP,預測過程通過引入蝙蝠算法克服了BP神經網絡易陷入局部值和收斂速度慢的問題。
近幾年的研究表明,引入優化算法可以提高單一模型的預測精度。但是由于優化算法自身存在的一些問題,比如隨機選擇的初始種群由于分布不均影響優化結果,種群多樣性隨迭代次數的增加而下降,優化結果可能陷入局部最優值,最終導致預測結果難以達到理想效果。所以現將針對麻雀搜索算法中的這些問題進行改進并結合最小二乘支持向量機搭建組合預測模型進一步提高短期電力負荷的預測精度。賈會群等[4]首先使用三角函數變化方式調整不同階段的權重因子與加速因子,以此提高算法的搜索能力;而后通過利用雞群算法中的更新方程對粒子群算法進行擾動,并且利用最優解使擾動后的粒子靠近全局最優位置。司剛全等[5]通過判斷種群不同的迭代次數之間的最優值確定合適的步長公式,自適應更新步長提高了果蠅算法的全局搜索能力。
麻雀搜索算法是Xue等[6]于2020年新提出的群智能優化算法,相比于其他優化算法擁有更好的搜索精度與收斂速度,但是其在種群迭代后期同樣存在種群數量減少,容易陷入局部最優解的問題,針對上述問題對基礎麻雀搜索算法進行改進。首先引入Sobol序列產生分布更加均勻的初始種群,降低由于初始種群分布不均對優化效果的影響;其次通過錦標賽算法保證種群數量在迭代的過程中保持不變;最后通過柯西變異與高斯變異提高麻雀種群的多樣性,同時增強全局尋優能力與重點區域局部尋優能力。通過標準測試函數對改進后的麻雀搜索算法檢驗并將其應用于短期電力負荷預測。
麻雀搜索算法(sparrow search algorithm,SSA)是新群智能優化算法,具有良好的全局搜索能力和快速收斂性。與其他群智能算法一樣來源于對生物體覓食情況的觀察,麻雀種群在覓食過程中分為兩個部分:發現者和加入者。發現者負責搜索食物并為種群中的其他個體提供覓食區域和方向,通常是具有高能源儲備的個體,其所對應的適應度函數值更優。加入者對應為適應度函數值較差的個體,它們通過發現者留下的信息獲得食物。適應度值最差的部分麻雀找不到食物,為了尋找到食物它們可能跳出當前的搜索區域,到其他的地方覓食。種群中的每只麻雀都會監視其他同伴的行為,并且部分麻雀會攻擊攝取量較高的同伴爭奪資源。當種群中個別麻雀發現捕食者后發出報警信號,一旦報警值大于安全值時發現者會把加入者帶到其他安全的區域覓食。
種群中發現者和加入者的總數和比例不變,但是兩者的身份是動態變化的。尋找到更好的食物來源的任何一只麻雀都可能變成發現者,此時其所對應的適應度值變優,與此同時必然會有一只麻雀變成加入者,其適應度值變差。加入者的能量值越低,在搜索范圍內的位置對自己越不利越不容易找到食物,這些極其渴望得到食物的麻雀可能飛到別的領域覓食,從而使自己獲得能量。在整個覓食的過程中,加入者能搜索到能量更高的發現者,從而獲得食物或者伺機奪取食物。
當意識到可能有危險時,為了獲得更安全的位置,種群邊緣的麻雀快速向安全范圍內移動,而在種群中間的麻雀隨機走動靠近其他的同伴。
設麻雀的位置用矩陣表示為
(1)
式(1)中:n為麻雀的數量;d為優化問題的維數。
每個個體對應的適應度函數可表示為
(2)
式(2)中的每一行代表一只麻雀的適應度值,適應度值高的個體可以更快地獲得食物,并且為未獲得食物的同伴提供方向。
在更新的過程中,發現者更新的規則為
(3)

加入者時刻在監視著發現者,一旦有機會就會離開自己當前的位置和發現者競爭,如果贏了就按式(4)進行位置更新,否則就按式(5)更新。
(4)
式(4)中:Xp為發現者占據的最優位置;Xworst為當前全局最差的位置;A為1×d維隨機賦值1或-1的矩陣,A+=AT(AAT)-1;i>2/n表明適應度值最差,麻雀可能挨餓。
(5)
麻雀搜索算法種群初始化的過程是隨機的,產生的麻雀種群可能由于在空間中的分布不均勻進而影響尋優性能。首先采用Sobol序列產生初始種群,Sobol序列可以在很短時間內在空間中產生一組均勻的低差異、高質量的分布,與偽隨機數相比將會有更好的收斂效率[7]。圖1為采用Sobol序列在空間中產生的400個點,其中x、y的取值范圍是x∈(0.6,2.0),y∈(0.10,0.50),可以看出,這些點分布比較均勻。

圖1 Sobol序列產生初始點
標準錦標賽算法是經典的排序算法,其思想來源于體育比賽中分組競賽然后逐步晉級的比賽策略,通過分組對比能更快地對數據進行排列,而且可以減少比較的次數,避免重復比較。當用其選擇最優值時不需要對所有數據進行排列,只需要將每組中的最優值提取出來重新分組排序,直至找到全部數據中的最優值即可。錦標賽算法尋找數據中最值的策略如圖2所示。

圖2 錦標賽算法選擇最優過程
借助此思想對麻雀搜索算法中后期種群數量減少的問題進行改進。假設初始種群中共有m只麻雀,經過一次迭代后剩余滿足條件的麻雀共有n只,從n只麻雀中隨機選取固定數量k只麻雀并計算其適應度值,保留下適應度值最優的個體,重復上述步驟,直到保留下來的麻雀數量與原種群數量一致。
麻雀種群迭代后期可能會出現大量麻雀聚集,從而陷入局部最優值。因此在種群迭代過程中引入柯西變異算子[8]與高斯變異算子[9]??挛髯儺愊喈斢谠谡w范圍內重新生成一些不同的個體,以此增加麻雀種群多樣性;高斯變異是在部分接近極值點個體附近隨機產生一個新的麻雀個體,實現在其附近的區域內重點搜索??挛髯儺惻c高斯變異的過程就是在進行變異操作時分別加入一個符合Cauchy分布和標準正態分布的隨機向量。變異公式為
xnew=x+xCaucay(0,1)
(6)
xnew=x+xN(0,1)
(7)
通過比較式(6)、式(7)變異后的新個體xnew與原個體x的適應度值判斷是否發生替換,將適應度值更優地保留下來。
改進的麻雀搜索算法引入了Sobol序列初始化麻雀種群,用錦標賽算法保證麻雀種群的數量不變,引入柯西變異與高斯變異提高搜索能力,增加種群多樣性。其優化過程如下。
(1)參數初始化。確定種群的規模,最大迭代次數,能感覺到危險的麻雀數量,預警值以及發現者和加入者的比例。
(2)應用Sobol序列產生初始麻雀種群。并將其映射到原空間中的取值范圍。
(3)計算適應度值。將適應度值從小到大排序,對應著麻雀個體在種群中的位置越來越差。最小值對應XP,最大值對應Xworse。
(4)利用式(3)更新發現者的位置。
(5)利用式(4)更新加入者的位置。
(6)當意識到危險后可利用式(5)進行位置更新并計算適應度值。
(7)一次更新完成后利用錦標賽算法保持種群的原始數量。
(8)利用公式對麻雀進行變異,并且計算變異后麻雀個體適應度值,保留下適應度值更優的個體進行接下來的步驟。
(9)對當前種群進行適應度值計算,并找到最優位置與最差位置。
(10)判斷是否停止。不滿足停止條件則重新進行(3)~(9)。
為了驗證改進麻雀搜索算法的性能,對ISSA算法用基準測試函數進行了測試,表1、表2為部分基準測試函數與測試結果,并且與改進前的麻雀搜索算法SSA,粒子群算法(particle swarm optimization,PSO),灰狼優化算法(grey wolf qptimizer,GWO),鯨魚算法(whale optimization algorithm,WOA)算法進行了對比。表1中xi為在搜索空間內隨機生成的d維數組。

表1 基準測試函數

表2 測試函數結果
實驗中所有選取的種群數量均為30,生產者數量占種群的20%,最大迭代次數為1 000,其他的參數由表1中的各個函數確定。列舉了函數1的測試結果如圖3所示,函數1的最小值為0,最小值對應的坐標為(0,0)。從圖3中可以看到改進的麻雀搜索算法與原算法達到相同的精度時經歷的迭代次數更少。表2為對部分測試函數運行多次優化結果處理后的值,根據表2中的結果可以發現,ISSA對于單峰測試函數的結果非常明顯,收斂速度更快穩定性更好。對于個別多峰測試函數和低維函數的改進效果不明顯,但是尋優結果與穩定性仍然比其他的算法效果好。

圖3 函數1測試結果
最小二乘支持向量機對于支持向量機的改進過程是將原算法中的不等式約束條件改為了等式約束,并且將誤差平方和作為經驗損失[10]。
給定訓練樣本{xi,yi},i=1,2,3,…,n,n為樣本總數。xi∈Rd,d為Rd空間的維數,yi∈R,把原空間中的樣本用非線性函數φ(x)映射到特征空間。在高維空間中構建的最優決策函數為
f(x)=ωTφ(x)+b
(8)
式(8)中:ω為權向量;b為常數且b∈R。LSSVM采用函數擬合精度ξi的平方項,根據SRM準則優化目標和約束條件為
(9)
式(9)中:參數c>0,代表著懲罰函數,用于控制超出誤差樣本的懲罰程度。根據Mercer定理,核函數定義為
K(xi,yi)=φT(xi)φ(xi)
(10)
引入拉格朗日乘子αi(αi∈R),求解羅需-庫恩-塔克(Karush Kuhn Tucker,KTT)等式約束條件可得
(11)
用最小二乘法求解式(11)可以得到α和b。線性回歸函數可表示為
(12)
此時就將原支持向量機中的二次規劃問題轉變成了利用最小二乘法求解線性方程組問題[11]。
民用電力負荷所受的影響因素較多,且具有很強的隨機性,充分考慮影響因素會提高預測的效果,但是將降低預測模型的效率。通過研究發現,短期負荷預測中居民用電負荷與前幾天的歷史負荷以及預測日當天的氣溫有極大的關系[12]。實例分別用ISSA-LSSVM模型與SSA-LSSVM模型對寧夏地區2018年6月22日的實際負荷進行預測并進行對比,選擇了6月17—21日5 d的歷史負荷與6月22日當天的溫度作為輸入變量對負荷進行預測,歷史數據的采樣間隔為15 min。
由于在采樣過程中會受到外部環境及其他因素的干擾,首先對原始數據進行去噪聲處理。將去噪后的數據分為訓練數據與預測數據,訓練數據占整個數據集80%;預測數據用于對6月22日負荷的預測,占整個數據集的20%。由于歷史數據與溫度數據的數值差異較大,首先對其進行歸一化處理。歸一化公式為
(13)
式(13)中:x*為歸一化后的數值,作為預測模型的輸入值;xmax、xmin為原數據中的最大、最小值。
對于預測模型的性能評價需要有一定的評價指標,本文中采用常見的4種性能評價指標:相對誤差(relative error,RE)、平均絕對誤差(mean absolute error,MAE)、平均絕對百分比誤差(mean absolute percentage error,MAPE)、均方根誤差(root mean square error,RMSE)對預測性能做出評價。計算式為
(14)
(15)
(16)
(17)
式中:y′t、yt表示t時刻的預測值和實際值;n為預測樣本的個數。采用上述四個指標對ISSA-LSSVM模型與SSA-LSSVM模型進行對比分析。ISSA-LSSVM模型預測的流程圖如圖4所示。

圖4 ISSA-LSSVM模型預測流程圖
通過實際的仿真,預測結果如圖5所示。從圖5中可以看到原始數據序列的波動較大,總體用電趨勢符合民用負荷的“峰谷”特性,但是在短期時間內的波動性越大,對預測模型的要求越高。從預測結果可以看到ISSA-LSSVM模型的預測效果更好,對用電高峰和低谷的預測更準確,尤其在短期時間內負荷波動較大情況下的預測精度也高于SSA-LSSVM模型。從圖6可以到ISSA-LSSVM模型的相對誤差更小且相對穩定,預測性能大大提高。表3中的各項評價指標顯示ISSA-LSSVM模型的預測性能都有所提高。由此可見,ISSA-LSSVM模型的預測精度更高,預測性能更好,滿足實際的短期電力負荷預測問題;改進的麻雀搜索算法也可以應用于實際工程問題。

圖5 預測結果

圖6 預測結果相對誤差

表3 預測性能對比
為了提高短期負荷預測的精度,對麻雀搜索算法進行了改進并用其優化最小二乘支持向量機的參數。首先通過Sobol序列使得初始種群分布更加均勻,用錦標賽算法保證搜索后期種群數量與最初保持一致,通過柯西-高斯雙變異增加種群的多樣性。通過測試函數的驗證發現改進的麻雀搜索算法優化性能提高且更加穩定。將ISSA-LSSVM模型應用于短期負荷預測,通過對比發現預測精度提高,預測誤差減小,實驗結果證明改進的麻雀搜索算法可以應用于實際工程問題。