徐良德,郭挺,雷才嘉,陳中豪,劉恒瑋
(廣東電網有限責任公司廣州供電局,廣東廣州 510600)
電網負荷指的是某一特定用電單位或用電區域所使用的電能總和。而電網短期負荷預測[1-3]則是指以小時、天、周和月等為單位,對電網未來某時間段內的負荷數據進行預測,且對其準確預測可為電力部門的后續輸電策略提供有力支持。通常電網負荷的預測方法是通過利用過往數據來進行推斷及預測,但由于其具備不確定性,使得預測結果會受未來各方面因素的影響。傳統電網負荷預測依靠專家決策的方法,通過以往的數據及經驗對未來用電量進行判斷。該方法的適應度較差,因此預測精度通常難以滿足要求。尤其在電網智能化的大趨勢下,網格化管理勢在必行,而這樣則會產生更大規模的用電數據[4-6]。
該文使用改進的支持向量機(Support Vector Machine,SVM)算法來實現網格化電網負荷的短期預測。該算法可快速對多數量、小樣本集合進行擬合與預測,同時還具有良好的性能,可以滿足某地區網格化電網的負荷預測需求。
支持向量機是一種數據分類算法,該算法起源于統計學,能通過函數的擬合對有限數據加以訓練,進而得到訓練結果。其可訓練線性及非線性數據,且算法所需的樣本數量較少,同時數據特征的抓取能力也較強。
SVM[7-8]由線性學習機發展而來,該運算的本質即將樣本數據映射至一個二維平面,再通過預設的平面分割函數對該平面進行分割。而分割所期望達到的結果,便是最大限度地將不同類別的數據進行切分,具體示意圖如圖1 所示。
假設最優平面為H;樣本集合為(xi,yi),i=1,2,3,…,n;x向量的維度是m;y則表示數據的類別,通常使用1 或-1 表示。而在圖1 中,可見H平面將不同類別的數據分為了兩個部分。若方塊表示的數據類別為1,圓形為-1,則H平面可表示為:
式中,ω為權值,b為閾值。
除了最優平面H外,圖中還有兩個與其平行的平面H1及H2。假設H1面的數據點是x,該點投影至最優平面H的點為x0,而H1與H面的距離為γ,ω表示垂直于面H且指向面H1的向量,則上述參數間的數學關系如下:
樣本點xi到最優平面距離的最小值為:
最終目標函數可確定為maxd,則轉化得到的優化方程就可以表征為:
式中,C為算法懲罰因數,ξi為松弛因數,s.t.則是函數的約束條件。除了圖1 所示的數據外,在實際應用中,若樣本數據處于相同平面,還需將數據映射至高維空間中。常用的方法即為增加核函數,具體如下:
式中,核函數為U(·),Φ(·)·Φ(·)為最優平面的內積。此時式(4)的問題可轉化為式(6)所示的函數:
由以上計算過程可得到最終的決策函數,具體如下:
其中,和b*是參數最優經驗值。
基礎SVM 算法的執行過程如圖2 所示。

圖2 SVM算法執行過程
由SVM 可知,在算法執行過程中,最重要的步驟是選擇合適的參數,例如懲罰因數C、投影距離γ及核函數U(·)等。SVM 模型的性能與此類參數的相關性較大,但這些參數的最優值是未知的,故需對最優參數進行搜索。傳統的方法為多次仿真SVM 模型使用網格類搜索算法。然而該算法的參數搜索時間較長,同時收斂度也較差。因此,文中對粒子群算法(Particle Swarm Optimization,PSO)進行優化,且對SVM 參數進行最優選取。
PSO[9-11]是一種啟發式算法,其將鳥類的捕食行為作為參照,使算法通過不斷迭代以優化粒子的最佳位置。同時還采用粒子群中的特征信息完成共享,從而進一步提升算法的準確度。
首先PSO 執行初始化,并通過一定規則的迭代獲得結果。在迭代過程中,需搜索個體與全局極值兩個粒子,之后再對迭代速度及二次迭代值進行確認。假設集合樣本數量為m,數據維度為d,而樣本為Xi=(xi1,xi2,…,xid),i∈(1,m),迭代發生的速度則是Vi=(vi1,vi2,…,vid),i∈(1,m)。若搜索后得到的局部最佳粒子位置為Qi=(qi1,qi2,…,qid),而種群所有粒子內部的最佳位置為Qall=(qall1,qall2,…,qalld),最終可得到粒子的更新速度如下:
式中,c1、c2為加速因數,r1、r2為隨機數,k為迭代次數。最終得到的下一代粒子為:
PSO 算法的執行流程如圖3 所示。

圖3 PSO算法執行流程
PSO 可對SVM 參數進行優化與訓練,但若數據的維度較高,在對一些含有噪聲的信息進行訓練后,則易出現擬合過量及特征種類提取不完整的問題。因此,需進一步提取數據特征。
主元分析法(Principle Component Analysis,PCA)[12-14]是一種降低數據維度的算法。其可通過多種類的數據完成主要指標的提取,進而實現樣本數據從高維到低維空間的轉變,同時還能降低算法的冗余度。
假定樣本數據數量為m,數據維度為d,樣本為Xi=(xi1,xi2…xij),i∈(1,m),j∈(1,d),則此時樣本數據可用m行d列的矩陣表示為(Xij)m×d。
通過多維數據對主成分特征進行提取,可由以下步驟執行:
1)矩陣標準化。對數據矩陣(Xij)m×d進行標準化,則有:
2)計算的協方差矩陣,并對其進行分解,最終得到矩陣特征值集合λ=[λi]及特征向量集合A=[Ai],i∈(1,n)。
3)計算矩陣的解,并獲得各個特征向量的單特征貢獻率及多特征累計貢獻率。則有:
基于PCA-PSO 的SVM 參數優化算法流程如圖4 所示。

圖4 PCA-PSO算法的SVM參數優化算法流程
從圖4 中可見,程序分為數據處理及預測兩個部分。其中數據處理模塊包括PCA 與PSO 算法,該模塊主要對采集到的電力負荷數據進行取樣,并提取其特征,從而降低數據維度帶來的冗余度。然后,再利用PSO 模型對SVM 參數進行優化選取。而數據預測部分則將PSO 優化得到的參數傳入至SVM 模型中,且對負荷數據進行訓練,最終完成電力負荷數據預測。
文中采用的電力負荷數據集合為某地區2020—2021 年的用電數據及環境、日期、經濟信息等。將其作為訓練與驗證數據集,則實驗環境配置與樣本集數據信息,如表1 所示。

表1 實驗環境及樣本集數據
該文首先使用PCA 來分析原始樣本數據,并對影響電力負荷的各個特征因素進行訓練及排序。然后,計算各特征向量的單特征貢獻率與多特征累計貢獻率,訓練結果如圖5 所示。

圖5 訓練結果
由圖5 可知,隨著主元個數的增加,多特征累計貢獻率也逐漸提升。為了保證特征提取的準確性,此次選取的累計貢獻率為91%,而特征個數則為6 個。具體特征類型如表2 所示。

表2 特征類型
為驗證模型的性能,使用經典算法SVM、PSO-SVM[15]、高斯回歸過程(Gaussian Process Regression,GPR)[16]進行對比。同時算法最大迭代次數為100,其他參數則使用默認值,且所有算法均采用相同的數據集與完全一致的訓練方式。此外,訓練數據集合選擇2020 年連續10 d 內的電力負荷數據,而驗證數據集選擇了2021 年的相同時間段。該文算法首先利用PSO 對SVM 參數進行訓練,獲得最佳參數后,再使用測試集合所具備的特征類型作為輸入變量,進而得到最終的實驗結果,如圖6 所示。

圖6 實驗結果示意圖
從圖6 可看出,該文算法模型的性能指標較優,預測的結果也更貼近真實值。相比之下,其他算法的預測結果則在曲線貼合度上與實際值存在一定的差距。這說明所提算法的預測精準度較優,能夠對短期電力負荷數據進行精準預測。
為了定量分析預測結果,使用均方根誤差(RMSE)、平均絕對誤差(MAE)及平均絕對百分比誤差(MAPE)進行評估。最終結果如表3 所示。

表3 誤差計算結果
由表3 可看出,該文算法的三項指標均較為理想,這也從側面證明了該算法的準確性較高。
該文提出了一種可用于短期網格化電網負荷預測的PCA-PSO-SVM 模型。該模型在經典粒子群算法的基礎上加入了主元分析法進行改進,隨即使用改進后的PCA-PSO 模型對SVM 關鍵參數加以訓練,最終通過實驗證明了所設計算法的有效性。實驗結果顯示,與其他算法相比,該文算法在RMSE、MAE及MAPE 三項指標中的誤差均為最小。由此表明算法的性能較優,能夠為短時間內的電力負荷數據做出準確預測。