趙忠啟, 常喜強,*, 樊艷芳, 徐 森, 樊 茂
(1.新疆大學電氣工程學院, 烏魯木齊 830047; 2.國網新疆電力有限公司, 烏魯木齊 830011)
近年來,隨著智能采集感知控制技術的廣泛應用,積累了大量的電力負荷數據[1]。通過聚類技術,在電力負荷數據中挖掘不同類型的用電負荷的典型負荷曲線,提取有效的特征,從而有助于電網進行負荷建模、節能改造、需求響應管理等工作[2]。因此,對負荷曲線聚類方法的研究,具有十分重要的應用價值。
聚類作為一種無監督的機器學習算法,可以對數據集進行分簇,簇內數據之間存在高度的相似性,簇間數據之間有一定的差異性,在數據挖掘領域具有廣泛的應用。對負荷曲線的聚類可以分為直接聚類和間接聚類,直接聚類是對電力負荷數據不做處理而直接運用算法進行聚類[3]。文獻[4]根據樣本密度和樣本集中的距離相對較遠原則選取初始聚類中心,再采用誤差平方和得出最優聚類數目K值,但存在時間復雜度較高的問題。文獻[5]通過數據點之間的緊密性進行排除離群點影響,在數據集中高密度處選取初始聚類中心,但仍需要人工確定聚類數目。文獻[6-7]通過結合自適應學習理論、聚類有效性函數評價計算,解決了傳統聚類算法中K值的人工確定問題,但聚類準確率較低。
然而,隨著負荷數據維度的不斷增加,直接聚類在處理高維數據時遇到了存儲量和計算量的雙重挑戰。間接聚類能夠解決這個問題。間接聚類是先提取電力負荷數據的特征,降低負荷數據維度,再對降維后的序列聚類分析。文獻[8]通過奇異值分解方法對數據進行變換,即處于一種新的坐標系中,各坐標軸上的坐標是降維指標,再運用改進的K-means算法對負荷曲線聚類。文獻[9]通過對負荷數據采用離散傅里葉變換進行降維并提取特征,再對負荷曲線聚類。文獻[10-11]通過Sammon映射、主成分分析等降維算法對負荷數據降維,再通過不同的聚類方法進行聚類,得到有效的聚類曲線結果。
上述研究采用的降維算法對原本負荷數據之間存在的差異性造成破壞,丟失了原始負荷數據的信息,影響了負荷曲線聚類結果的準確度。隨著基于數據驅動的深度學習在電力行業的快速發展應用,已有技術為降維聚類提供了一種新的解決方法。自編碼器作為新型的機器學習模型,可以對負荷數據進行特征提取,通過多層神經網絡從高維的原始負荷數據中獲取低維空間的特征信息,利用無損重構得到原始負荷數據信息。
現提出一種基于自編碼器降維的電力負荷聚類方法,通過自編碼器進行負荷數據特征提取并降維,再采用密度權值Canopy算法對降維后的數據預聚類,獲取初始聚類中心和最優聚類數目K值,預聚類結果結合K-means算法進行聚類。為此,通過聚類有效性指標與其他傳統方法對比分析,以期提升電力負荷聚類效率和聚類結果準確度的效果。
自編碼器是一種用于無監督學習的人工神經網絡,包括輸入層、輸出層和隱藏層3層結構[12],通過把輸入的數據集非線性映射至隱藏層,獲得數據集的壓縮編碼,即得到另一維度空間中原始數據的特征信息,其足以再現輸入層的信息,從而可以達到降低數據維度和提高計算效率的目的。自編碼器網絡結構如圖1所示。
訓練過程分為編碼部分和解碼部分,將均方誤差(mean square error, MSE)作為不斷進行迭代訓練調整自編碼器(auto-encoder, AE)網絡結構參數的損失函數,獲取精確的低維度特征信息。自編碼器的編碼、解碼過程為

(1)

(2)
式中:fencoder和fdecoder分別為編碼部分和解碼部分;x、r為輸入數據、低維度特征向量;h為高維度數。
K-means作為一種劃分式硬聚類算法[13],是大數據挖掘技術中最經典的聚類算法,在工業、科研領域都得到廣泛的應用和研究。K-means算法的基本原理為:在訓練數據集D中,輸入所需的聚類數目K值之后,從D內隨機選取與聚類數目相同的數據向量作為初始聚類中心,計算各個樣本和聚類中心之間的距離,按最小距離原則進行分簇[14],再計算各簇的平均值并更新為新的聚類中心,不斷地迭代循環,最終使簇內緊湊、簇間疏遠,即誤差平方和函數值穩定在最小值時停止迭代。
在計算各樣本之間距離時,K-means算法采用的是歐式距離。設給定數據集D={x1,x2, …,xn},則計算任意兩個樣本點之間的歐氏距離公式為
(3)
式(3)中:xp={xp1,xp2, …,xpm};xq={xq1,xq2, …,xqm};m為樣本元素的維度。
誤差平方和函數為
(4)
式(4)中:K為聚類數目;ri為第i個簇集中樣本元素的數目;xj為第i個簇集中的樣本元素;vi為第i個簇集中全部樣本元素的數據均值。

圖2 傳統K-means算法流程圖Fig.2 Flow chart of traditional K-means algorithm
傳統K-means算法流程圖如圖2所示。在傳統K-means算法中,是隨機選取K值和初始聚類中心,這種隨機性可能導致收斂至局部最優解,使得聚類的質量及穩定性變差[13]。
為了解決傳統K-means算法無法有效處理高維數據,且存在人工給定聚類數目K值及隨機選取初始聚類中心易收斂至局部最優的問題,提出密度權值Canopy的改進K-means算法對降維后的電力負荷數據進行聚類。改進算法通過密度權值Canopy算法對降維后的數據執行預聚類,從而能夠獲取初始聚類中心和合適的聚類數目,將預聚類結果結合K-means算法進行聚類。
數據集D中第i個數據點xi的密度ρ(i)為
(5)

(6)
由式(5)可知,ρ(i)表示的物理意義為:在數據集D中,樣本i與其余樣本之間的距離小于MeanDis(D)的樣本元素數目。
簇內樣本平均距離a(i)可表示為
(7)
簇間距離s(i)可表示為

(8)
式中:I={ρ(j)>ρ(i)},其中ρ(j)為第j個數據點xj的密度;d(i,j)為樣本點i、j之間的歐氏距離。
由式(8)可知,簇間距離s(i)表示的物理意義為:若樣本元素i的局部密度為最大,與距其最遠的樣本元素之間的距離為s(i),即s(i)=max{d(i,j)};否則,與距其最近的樣本元素之間的距離為s(i),即s(i)=min{d(i,j)}。
權值積w的計算公式為
(9)
由樣本密度ρ(i)、簇內樣本平均距離a(i)、簇間距離s(i)以某種形式的乘積構成了最大權值積法,能夠有效對中心特征進行反映,從而為最大權值積的數據點是下一個初始聚類中心。改進的K-means算法流程圖如圖3所示。

圖3 改進的K-means算法流程圖Fig.3 Flow chart of improved K-means algorithm
改進的K-means算法步驟如下。
步驟1對于降維后的數據集D,利用公式(5)進行計算D中全部樣本元素的密度值,第一個聚類中心c1選取其中的密度值最大點,則聚類中心的集合C變化為C={c1},與此同時,將D中距c1小于樣本元素平均距離MeanDis(D)的點去除。
步驟2由式(5)、式(7)、式(8)計算D中剩余樣本數據的ρ(i)、a(i)、s(i),并將其代入式(9)中進行計算權值積w,第二個聚類中心c2選取其中的權值積值最大點,聚類中心的集合C變化為C={c1,c2},與此同時,將D中距c2小于樣本元素平均距離MeanDis(D)的點去除。
步驟3重復執行步驟2,直至降維后的數據集D為空,由此可得C={c1,c2,…,ck}。
步驟4將以上步驟得到的初始聚類中心和K值結合K-means算法,對D聚類并更新聚類中心。當新的聚類中心和初始聚類中心之間無變化時,輸出聚類結果。
隨著能源互聯網的不斷發展,獲取海量基礎的電力負荷用電數據難度逐漸降低[15]。但在數據采集過程中,由于存在終端采集設備故障、數據傳輸通信錯誤、人為因素丟失等問題[16],負荷數據中仍有缺失數據與異常數據的存在。
在數據清洗時,剔除存在較大數據量缺失的負荷曲線數據,利用多階拉格朗日內插法對缺失不嚴重的負荷數據進行填充,如式(10)所示。若某條負荷曲線t時刻的負荷數據變化率與前一時刻的負荷數據變化率存在較大差異,或在預設閾值之外,稱其為異常數據,可以通過高斯濾波方法消噪,也可采用多階拉格朗日內插法對少量異常的負荷曲線數據進行修正。
(10)
為了進行AE神經網絡訓練,對負荷數據進行StandardScaler標準化,消除負荷數據量綱對后續聚類的影響,保證數據之間的可比性,采用Z-Score標準化公式為
(11)
式(11)中:x為清洗后的負荷數據;x′為標準化后的負荷數據;μ、σ分別為樣本數據的均值、標準差。
整體算法包括對負荷數據的預處理、負荷數據降維、初始聚類中心與K值的確定、數據集的聚類及性能評估。整體算法流程圖如圖4所示。具體的流程描述如下。

圖4 整體算法流程圖Fig.4 Overall algorithm flow chart
(1)通過數據校正和數據補全技術對負荷數據進行數據清洗,進行標準化,完成負荷數據的預處理。
(2)利用自編碼器技術提取負荷數據的低維特征,降低負荷數據維度,實現原始數據的無損壓縮,可以提高后續聚類的速度與精度。
(3)采用密度權值Canopy算法對降維后的負荷數據執行預聚類,從而能夠獲取初始聚類中心和合適的聚類數目。
(4)將預聚類結果結合K-means算法聚類,輸出聚類結果,并通過聚類有效性指標與其他傳統方法對比分析。
實驗數據選取新疆某地區2019年74條10 kV線路運行數據,每5 min采集一次負荷數據,每條線路全年共采集17 520個數據點,構成17 520×74階矩陣。
將采用3.1節所述方法進行數據預處理后的負荷實測數據執行自編碼器訓練,學習率為0.5,批尺寸為256,通過1 000次的不斷迭代訓練,其損失函數的迭代過程如圖5所示。

MSE為均方誤差圖5 MSE損失函數訓練曲線Fig.5 MSE loss function training curve
輸入數據在編碼部分可以提取原始數據特征,獲取降維數據,再經過解碼部分重構原始數據。隨著迭代次數的增加,原始數據與輸出數據之間的MSE損失函數不斷減少,損失值穩定在0.001 4左右,表明該降維數據可以有效地對原始數據進行表征。
采用自編碼器網絡模型提取負荷數據的低維特征,降低負荷數據維度,將降維數據輸入至改進的K-means算法聚類,得到的負荷曲線聚類結果如圖6所示。
根據新疆季節特點,供暖季是11月15日—4月15日,圖6聚類結果可分為2種主要區域類型,即實施煤改電區域與未實施煤改電區域。圖6(a)、圖6(b)中,負荷曲線整體趨勢大致相似,考慮接入大量的電采暖設備取代傳統形式煤采暖,電采暖用戶供暖季用電量呈現快速上升,在4月15日、11月15日左右負荷曲線出現明顯的下降、上升,6—8月夏季負荷出現升高,但夏季負荷峰值小于供暖季負荷峰值,簇類負荷曲線供暖季負荷高于非供暖季負荷,為實施煤改電區域。圖6(c)、圖6(d)中,考慮用戶仍采用傳統形式煤采暖,簇類負荷曲線供暖季負荷明顯低于非供暖季負荷,為未實施煤改電區域。
最終的負荷曲線聚類中心是4類,如圖7所示。為了方便進行分析,將4類負荷曲線聚類中心作為每簇類曲線的代表負荷曲線。
由圖7可知,代表負荷曲線數據之間的差異性比較大。雖代表負荷同屬于實施煤改電或未實施煤改電區域,但各區域變壓器的額定容量、型號卻存在著不同,可以承受的總負荷大小也是不一樣,從而負荷數據范圍存在一定的差異性。
聚類有效性指標能夠對聚類后的結果進行定量分析,將采用訓練后的AE模型進行負荷曲線聚類與改進的K-means直接聚類、傳統K-means聚類得到的DBI(Davies-Bouldin index)指標、CHI(Calinski-Harabasz index)指標、運行時間數值做對比[10,17],結果如表1所示。

玫紅色曲線為該簇類負荷的聚類中心圖6 基于AE降維的負荷曲線聚類結果Fig.6 Load curve clustering results based on AE dimensionality reduction
由表1可知,所提降維聚類算法的DBI指標值均比改進的K-means直接聚類、傳統K-means算法低,而CHI指標值均比改進的K-means直接聚類、傳統K-means算法高,表明所提降維聚類算法聚類準確度優于改進的K-means直接聚類和傳統K-means聚類。此外,采用訓練后的AE模型進行負荷曲線聚類,運行時間約為10.323 s,而改進的K-means直接聚類、傳統K-means聚類運行時間分別約為15.843、24.356 s,可見,由于AE對數據集進行了壓縮,降低了數據集規模,從而可提高相應的聚類速度。

圖7 基于AE降維的負荷曲線聚類中心圖Fig.7 Load curve clustering center diagram based on AE dimensionality reduction

表1 不同聚類算法之間結果對比Table 1 Comparison of results between different clustering algorithms
(1)提出一種基于自編碼器的電力負荷聚類方法,通過自編碼器進行負荷數據降維處理,再采用密度權值Canopy算法對降維后的負荷數據預聚類,得到初始聚類中心和最優聚類數目K值,預聚類結果結合K-means算法進行聚類。經過算例分析,驗證了該方法應用于電力負荷聚類能夠減少聚類過程中的復雜度,提高了聚類效率和聚類結果的準確度,分類出不同的區域類型,分析出不同區域中負荷的特點,有助于電網進行負荷建模、負荷特性模擬、需求響應管理等工作。
(2)通過本文方法也對智能樓宇空調、電動汽車等領域的負荷數據進行了分析,取得同樣的驗證結果。隨著智能電網的快速發展,如何結合多源異構大數據融合,構建精細化程度更高的聚類方法是今后的研究方向。