李晉源,保富,胡凱,張麗娟
(1.云南電網(wǎng)有限責任公司信息中心,昆明 650217; 2. 云南電網(wǎng)有限責任公司,昆明 650200)
在電力系統(tǒng)中,線損管理是電網(wǎng)運維和供電企業(yè)電能營銷服務(wù)系統(tǒng)的重要基礎(chǔ)業(yè)務(wù)[1]。在我國,臺區(qū)線損約占整個電網(wǎng)線損的20%,嚴重的電力損耗不僅損害了電網(wǎng)公司的利益,也與我國雙碳這一目標的實現(xiàn)背道而馳,對臺區(qū)線損進行管理迫在眉睫[2]。而線損率的準確預測有助于提高線損管理水平,因此,對線損率預測方法進行研究具有重要的實際意義。
目前,國內(nèi)外有許多研究人員對線損率計算方法進行了深度研究,主要集中在深度學習、集成學習等智能算法上。文獻[3]中,提出了一種將級聯(lián)BP神經(jīng)網(wǎng)絡(luò)和小生境遺傳算法相結(jié)合的臺區(qū)線損率預測模型。結(jié)果表明,該預測方法的訓練效率和泛化能力均優(yōu)于傳統(tǒng)預測方法。文獻[4]中,提出了一種改進的自編碼器方法來預測臺區(qū)的線損率。結(jié)果表明,該預測方法的相對誤差和計算效率均優(yōu)于傳統(tǒng)的預測方法。文獻[5]中,提出了一種將變分模態(tài)分解和改進最小二乘支持向量機相結(jié)合來預測臺區(qū)線損率。結(jié)果表明,該預測方法的精度和效率均優(yōu)于傳統(tǒng)預測方法。文獻[6]中,提出了一種降噪自編碼器和長短期記憶網(wǎng)絡(luò)相結(jié)合的線損率預測方法。結(jié)果表明,該模型預測線損率精度高,運行速度適中,具有一定的應用價值。雖然上述預測方法在一定程度上比傳統(tǒng)方法更準確、更高效,但在線損率預測精度方面并不理想,需要進一步提高。
在此基礎(chǔ)上,提出了一種結(jié)合Stacking集成學習模型和改進的k-均值聚類方法來預測臺區(qū)的線損率。通過聚類方法進行數(shù)據(jù)聚類,在通過Stacking集成學習模型對臺區(qū)線損率進行預測。通過試驗進行了對比分析。
原始輸入數(shù)據(jù)為某省電力公司臺區(qū)數(shù)據(jù),采樣為1天/次,將連續(xù)30天的數(shù)據(jù)作為輸入,對第31日的線損率進行預測。由于采集設(shè)備故障和人為操作等因素的干擾,存在缺失和異常等情況,在預測低壓臺區(qū)線損率之前,應對這些線損數(shù)據(jù)進行處理[7]。
(1)缺失值處理技術(shù)。
部分線損率數(shù)據(jù)為零或為空,影響線損率預測效果。文中用拉格朗日插值法對這些數(shù)據(jù)進行了補充。
提取缺失點前后的五個數(shù)據(jù),并用式(1)和式(2)進行補充[8]。
(1)
(2)
式中r為缺數(shù)據(jù)對應的下標序號;ri為非缺失數(shù)據(jù)yi的下標序號;Ln(r)為補充數(shù)據(jù);li(r)為拉格朗日多項式。
(2)異常值處理。
對數(shù)據(jù)進一步分析,找出異常值進行剔除。線損率:剔除線損率≤0%或>40%的異常高損耗臺區(qū)。功率因數(shù):剔除功率因數(shù)<0.6的臺區(qū)[9]。
(3)數(shù)據(jù)歸一化。
為了更全面地預測線損率,需要對數(shù)據(jù)進行歸一化處理,數(shù)據(jù)歸一化過程如式(3)所示[10]:
(3)
式中x和x′分別為原始數(shù)據(jù)的實際值和歸一化數(shù)據(jù);xmax和xmin分別為原始數(shù)據(jù)的最大值和最小值。
麥奎因提出了k-均值聚類算法,不再考慮相似性問題,而是考慮距離問題[11]。作為一種優(yōu)化,它是通過找到目標函數(shù)的極值來調(diào)整的。步驟如下:
步驟1:將類別數(shù)k定義為初始化過程中初始集群中心的數(shù)量。
步驟2:根據(jù)式(4)計算樣品與每個中心點之間的距離。樣本和最近的中心點被分組為一類,形成k個簇[12]。
(4)
式中Iij為樣本點i到j(luò)的距離;m為樣本點坐標的維數(shù);Zik和Zjk分別第k個簇中樣本點i和j的坐標。
步驟3:將坐標平均值作為新聚類中心。
步驟4:通過式(5)判斷是否收斂[13]。
(5)
式中Zq為Ci類中的樣本q的坐標;mi為Ci類的聚類中心坐標;E為平方誤差。
k-均值聚類方法需要在聚類之前確定聚類的數(shù)目[14]。其次,聚類中心的確定原則不明確,如果初始值選擇不正確,后續(xù)工作就無法得到理想的聚類擬合結(jié)果[15]。
為了優(yōu)化k-means聚類方法,使用聚類結(jié)果的總輪廓系數(shù)St(值越高,效果越好)來選擇最優(yōu)k值。對于任何采樣點i,輪廓系數(shù)S(i)的計算如式(6)所示[16]:
(6)
式中q(i)為點i與聚類中其他點的距離值;p(i)為點i與聚類中其他點的最小平均距離。
聚類結(jié)果總輪廓系數(shù)計算如式(7)所示[17]:
(7)
采用評價指標PE評估聚類的質(zhì)量,聚類如式(8)所示[18]:
(8)
式中ωj為第j個特征參數(shù)的權(quán)重;Zij為第j個簇中樣本點i的坐標;Zjmin為距離最近的第j個聚類中心坐標。根據(jù)PE值的升序原則,將樣本平均劃分為k個類別,并將每個類別的中心樣本設(shè)置為該類別的聚類中心。使用上述公式通過迭代計算確定理想分類。
Stacking集成學習模型融合了多個預測模型,將原始數(shù)據(jù)劃分多個子集,輸入第1層的各基學習器,輸出結(jié)果作為第2層的元學習器的輸入[19]。學習方法如圖1所示。
圖1 Stacking集成學習模型學習方法
模型的訓練方法如下:
對于數(shù)據(jù)集S={(xn,yn),n=1,…,N},xn為第n個樣本的特征向量;yn為第n個樣本對應的預測值;p為包含的特征個數(shù)。即每個特征向量為(x1,x2,…,xp)。將數(shù)據(jù)隨機分成k個大小相同的子集S1,S2,…,Sk。
以第1個基學習器為例,每個子數(shù)據(jù)Si(i=1,2,…,K)作為測試集,剩下的作為訓練集,得到預測結(jié)果,組合成集合L1[20]。L1長度與S相同。 所有L={L1,L1,…,Ln}基學習器得到集合L1,L1,…,Ln作為新的數(shù)據(jù)集L,作為第2層的輸入,第2層對第1層的誤差進行修正,從而提高診斷模型的準確性[21]。
Stacking集成模型第1層選擇不同類型的基學習器對數(shù)據(jù)進行多角度分析。第2層元學習器要泛化能力強的模型,這有助于糾正第1層診斷錯誤并獲得最佳診斷結(jié)果[22]。
基于基學習器的預測能力,在Stacking模型的第1層選擇XGBoost模型、長短時記憶網(wǎng)絡(luò)(Long Short Term Memory, LSTM)和梯度提升決策樹(Gradient Boosted Decision Tree,GBDT)。這是因為LSTM能夠充分挖掘包含在大量數(shù)據(jù)中的有效信息,具有長期記憶以及深度學習的能力[23]。采用bagging 集成的GBDT適用于高維數(shù)據(jù),學習能力較強,擁有并行處理能力[24]。采用boosting方法集成的XGBoost增加了正則化項,有效地防止了過度擬合,效率較高[25]。
第2層選擇泛化能力強的模型。根據(jù)該模型,總結(jié)和糾正了各種學習算法對訓練集的偏差,并通過集合方法防止了過度擬合效應。在第2層中, XGBoost 被選為元學習器,模型架構(gòu)如圖2所示。
圖2 Stacking集成模型結(jié)構(gòu)
預測方法的具體步驟如下:
步驟1:輸入原始數(shù)據(jù);
步驟2:數(shù)據(jù)預處理。補充缺失數(shù)據(jù),刪除異常數(shù)據(jù),對所有數(shù)據(jù)進行歸一化;
步驟3:通過灰色關(guān)聯(lián)度分析對指標體系進行構(gòu)建;
步驟4:降低樣本數(shù)據(jù)指標的維度,消除指標之間相關(guān)性的影響,從而更好地對樣本進行分類;
步驟5:利用改進的k-均值聚類技術(shù)對臺區(qū)進行聚類;
步驟6:選擇XGBoost模型、GNDT模型和LSTM模型作為元學習器,建立Stacking集成學習模型預測線損率;
步驟7:與傳統(tǒng)模型進行對比比較。圖3所示預測方法的流程。
圖3 預測方法流程
此次試驗的CPU為Intel i52450m,操作系統(tǒng)為Windows 10 64位旗艦,內(nèi)存為64 G,硬盤為1 T,頻率為2.5 GHz,仿真軟件為MATLAB。為了驗證所提方法的優(yōu)越性,選取了9 000個有源臺區(qū)對線損率進行了計算和分析。訓練集與測試集的比值為2:1。算法參數(shù)如表1所示,算法參數(shù)通過參考文獻[26-27]和多次試驗取值。
表1 算法參數(shù)
為了更好地評估文中模型的性能,選擇兩個指標對模型進行評估,均方誤差(Mean Square Error,MAE)和R2,如式(9)和式(10)所示:
(9)
(10)
式中xs和x′s分別為s時刻臺區(qū)線損率的實際值和預測值;N為計算的總時間;x′為臺區(qū)線損率平均值。
使用所提的聚類算法對數(shù)據(jù)進行聚類,將初始聚類數(shù)k從2增加到9,并計算不同k值的輪廓系數(shù),如表2所示。
表2 不同 k時的輪廓系數(shù)
從表2可以看出,當k=5時,輪廓系數(shù)的值為最大值0.341,聚類效果最優(yōu)。文中選取k=5。
將樣本根據(jù)PE從小到大分為五類,樣本中心是初始聚類中心。五個中心的樣本數(shù)如表3所示。
表3 各類樣本數(shù)
基于上述分類結(jié)果,使用Stacking集成學習對5類樣本的訓練集進行訓練,測試樣本用于預測訓練模型的線損率,并與傳統(tǒng)模型(XGBoost、GBDT、LSTM)進行比較。預測結(jié)果如表4所示,部分評估結(jié)果如表5所示,運行時間如表6所示。
表4 不同模型的預測誤差對比
從表4和表5可以看出,文中模型預測結(jié)果中相對誤差小于5%或10%的臺區(qū)占比高于傳統(tǒng)方法,相對誤差大于20%占比與其相反。說明所提方法預測精度最高,與實際值最為接近。這是因為所提方法融合多種模型進行互補,預測結(jié)果較為精準。由表6可以看出,文中模型相比于單一模型運行時間最長。這是因為集成模型中每個基分類器都需要交叉訓練,導致運行時間過長。
表5 部分評估結(jié)果
表6 不同模型運行時間對比
為了進一步驗證所提方法的優(yōu)越性。MSE和R2被用作衡量不同模型擬合程度的指標,如圖4和圖5所示。
圖4 不同方法MSE結(jié)果對比
圖5 不同方法R2結(jié)果對比
從圖4和圖5可以看出,文中模型的MSE值一直處于最低水平,R2值一直處于最大值,說明文中預測方法相比于傳統(tǒng)XGBoost、GNDT、LSTM模型具有更好的預測效果,結(jié)果更加準確,泛化能力更強。
提出了一種改進的k-均值聚類方法和Stacking集成學習模型相結(jié)合用于預測臺區(qū)線損率。通過聚類算法進行聚類,在通過Stacking集成學習模型對臺區(qū)線損率進行預測。Stacking集成學習模型由XGBoost模型、GBDT模型、LSTM模型構(gòu)成。結(jié)果表明,與傳統(tǒng)預測模型相比,該方法具有更好的性能,預測結(jié)果更加準確、泛化能力更強和實用價值更高。鑒于目前的測試設(shè)備和數(shù)據(jù)規(guī)模,文章對線損率預測方法的研究還處于起步階段。由于采用Stacking集成學習模型,計算時間較長。因此,未來的研究需要結(jié)合分布式計算,逐步提高模型的性能,有效減少模型的執(zhí)行時間。