吳青筱,王合寧,仇浩宇,結藝頔,董駿峰
(合肥工業大學 管理學院,合肥 230009)
在電力物聯網的背景下,智能電表廣泛應用于住宅小區,配備了測量和通信能力,能夠記錄細粒度的能源消耗的客戶和提供額外的信息給公用事業公司[1]。通過挖掘智能電表記錄的海量電力負載數據,識別住宅居民電力負載模式,可以幫助制定科學合理的機制,引導用戶積極參與需求響應[2]。另外,對于電力公司來說,了解用戶如何以及何時用電也是至關重要的[3]。因此,對住宅居民用電負載模式的研究具有十分重要的應用價值。
負載模式識別的核心是聚類,目前的研究以K 均值聚類算法(K-Means)、層次聚類、譜聚類等淺層的聚類方法為主。利用基于密度改進的K-Means 算法來探究典型的用戶用電模式[4],通過密度法和指標解決聚類數目的選擇問題和局部最優問題。提出利用改進的KMeans 算法,通過余弦距離定義和描述不同的電力用戶群體,當聚類的數量太多而無法解釋時,通過層次聚類以使用適當的距離度量進行另一次聚類[5]。提出了一種改進的層次聚類算法,比較了基于數據劃分的層次聚類和傳統層次聚類以及劃分聚類算法的不同,通過聚類的評價指標和時間來驗證聚類效果[6]。提出一種基于優化特征向量選取的遺傳譜聚類算法,對算法中特征向量的提取過程進行了合理優化,防止數據信息缺失帶來的影響[7]。
隨著電力負載數據維度的不斷增加,直接利用K-Means、譜聚類和層次聚類等淺層的聚類進行負載模式識別變得越來越困難,高維負載數據的內在特征被忽視。在這種維度高、深度特征越來越重要的情況下,利用深度神經網絡進行聚類的方法有很好的應用效果。提出了一種基于生成性對抗網絡的場景生成方法,對負載的不確定性和變化進行建模,訓練后的網絡模型會生成以日類型、溫度和歷史負荷為條件的剩余情景[8]。利用深度卷積神經網絡首先從大規模負荷曲線中提取特征,然后,通過支持向量機識別電力用戶的特征[9]。
本文提出了一種深度自編碼器和K-Means 結合的方法,利用自編碼器對負載數據進行特征提取,提取負荷時序數據的內在特征。另外,考慮到聚類的本質為數據之間的距離性,聚類層的誤差將參與到自編碼器的參數更新中,聯合優化自編碼器和聚類層,進一步改善特征提取效果,從而能夠獲得更加準確的聚類結果,實現住宅用戶的負載模式識別。
K-Means 算法可以把n維數據在無監督的條件下分為k類[10],是一種經典的廣泛用于智能電表數據分析的聚類算法,它可以識別不同的用電模式和具有相同用電模式的居民[11]。它的算法基本思路大致如下:從一個給定的數據集的n個樣本點中隨機選取k個樣本點為其初始迭代的聚類中心點,通過距離函數來計算出其余的每個候選樣本點至其各個初始迭代聚類中心點之間的距離,并將所有候選樣本中心點都歸屬到距離自身最小的一個簇中,隨后再更換其中每一個簇的中心點,成為其下一次初始迭代過程中新的初始聚類中心,重復上述迭代過程,直至達到給定的最大迭代重復次數Tmax或k個聚類中心保持不變。
但是,傳統K-Means 算法中的距離度量受困限于原始數據空間。面對高維度數據時,數據點的間距會偏向于相互接近,數據點間的距離關系也會減弱,因此,直接使用傳統K-Means 對電力用戶負載模式識別并不理想,對輸入的高維數據進行處理十分必要。
自編碼器(auto-encoder,AE)由Rumelhart 等[12]首先提出,是一種典型的可以無監督學習到特征的一種人工神經網絡。它的訓練過程主要有編碼和解碼2 個步驟,在編碼時,輸入的數據為無標簽的樣本,旨在學習數據的內部特征,而隱藏層輸出的低維數據為學習到樣本的抽象特征,在解碼時稱對稱結構,輸出層的維數和輸入層維數保持一致,并且與原始數據盡可能保持一致。
深度自動編碼器本質上就是增加中間隱藏層數,用來學到更復雜的編碼。深度自動編碼器是一個全連接對稱模型,輸入高維數據的編碼過程和解碼過程是一個完全對應的相反過程。深度自動編碼器需要訓練大量參數,訓練時間長,且隱藏層輸出的數據和輸入數據表達的相同特征較少,與聚類的本質不同,直接用于聚類效果不理想,故有必要和其他方法結合來實現更有效的聚類。另外,深度自編碼器具有較強的非線性表示特征的能力,并且普適性較高,幾乎可以與任何聚類方法相結合[13],因此,自編碼器中間層輸出數據可以通過其他聚類算法進行聚類。
本文設計了一種以深度自編碼器和K-Means 算法為基礎的電力負載模式識別方法,在本節將會介紹其算法框架以及如何實施。
在電力數據的收集過程中,由于傳感器的故障或數據傳輸誤碼等原因,電力數據會出現異常[14],負荷數據中通常存在著少量異常數據和缺失數據。
聚類對異常數據十分敏感,為了防止異常數據造成聚類結果偏離實際,首先進行數據清洗。考慮到樣本數量充足,直接剔除大量數據缺失的負荷曲線和異常值,然后對數據進行離差標準化,如式(1)所示。

式中:max 為數據的最大值;min 為數據的最小值;x*為標準化后的數據,映射結果在[0,1]內。
對于清洗后的負荷數據,先利用深度自編碼器提取深度特征,實現負荷數據的時序特征的提取。如圖1所示,未經自編碼器處理的負荷曲線交織在一起,時序特征不明顯,經過特征提取的數據深度特征更加明顯,數據之間距離得到強化,更有利于進一步的聚類。

圖1 負荷曲線特征提取示意圖
然后,將已被提取特征的數據輸入聚類層進行聚類,通過K-Means 算法對深度自編碼器中間層的輸出數據進行聚類。
自編碼器的損失函數如式(2)所示,重構出的XR盡可能恢復原來的輸入數據X。

K-Means 的損失函數如式(3)所示,簇內的點盡可能離簇中心近。

整個模型的損失函數由自編碼器和K-Means 的誤差組成,如式(4)所示,保證了自編碼器中輸出層和輸入層數據相似性的同時使聚類結果簇內距離較近。根據Loss3聯合優化整個模型,提高特征表示的效果,同時提升聚類準確度。

最后通過無監督聚類的指標與其他傳統方法進行對比。
方法框架圖如圖2 所示,算法如下所示。

圖2 算法框架圖示意圖
輸入:數據集X={x1,x2,…,xn},隱藏層節點數q,激活函數g(*),學習速率η,最大迭代次數tmax
輸出:聚類結果Cluster
(1)初始化。構建并預訓練auto-encoder 模型,隨機對W,bm,bd賦值,W,bm,bd分別為連接權重和節點偏置。
(2)while:t<tmax。
(3)t=t+1 。
(4)正向傳播,計算中間層輸出X'和樣本重構結果XR。(5)計算重構誤差Loss1并進行反向傳播,并更新W,bm,bd。
(6)進行聚類Cluster=KMeans(X')并計算聚類誤差Loss2。
(7)計算聯合誤差Loss3=Loss1+λLoss2,并修正模型參數。
(8)判斷停止訓練條件。
(9)End while 。
(10)返回聚類結果Cluster。
實驗數據采用英國倫敦居民的家庭用電數據集,數據集包含參與英國電力網絡領導的倫敦低碳項目的
倫敦家庭的家庭用電負載情況,共有超過5 000 個家
庭參與,采樣頻率為30 min。
戴維森堡丁指數(Davies-Bouldin Index,DBI)最早由大衛L·戴維斯和唐納德·Bouldin 提出,戴維森堡丁指數的最小值可以達到0,數值越小則代表聚類效果越好,計算公式如式(5)所示。

式中:k為聚類出簇的數目;si為第i類中每個樣本點與該類聚類中心的平均距離,DBI代表數據的分散程度。
整體方法利用深度自編碼器對進行異常值處理和標準化之后的電力負荷曲線進行深度特征的提取,將數據輸入進K-Means 算法進行聚類。其中,深度自編碼器共有9 層,編碼的維度分別為48、64、128、64、48,學習率為0.000 1,利用其他常見參數得到結果均劣于此情況。最終得到的曲線如圖3 所示,圖3 給出了k=5時的典型居民用戶電力負載模式。


圖3 k=5 時的居民用戶電力負載模式曲線示意圖
從圖3 中可以看出,第一種負載曲線模式趨于平緩,此類用戶全天用電量均較少,屬于低電量用戶模式;第二種負載曲線模式與第一種負載曲線模式形狀較為一致,但在10:00 和21:00 左右曲線波動大于第一種負載曲線模式,2 處高峰值均高于第一種負載曲線模式,屬于中低電量用戶模式;第三種負荷曲線模式屬于典型的“上升型”模式,7:30—10:00 用電量不斷增加,從10:00—15:00 呈現平緩下降的趨勢,從15:00—21:00 又呈現緩慢上升的趨勢,在21:00 之后用電量又快速下降,符合大部分人的規律作息時間,屬于高電量用戶;第四種負載曲線模式與第三種較為相似,區別表現在:10:00—15:00 期間用電量下降較快,15:00—21:00 期間用電量上升較快,且整體用電量低于第三種,屬于中電量用戶;第五種負載曲線模式呈現后端用電量大的情況,22:00 處于高峰,且用電量增加和減少幅度都較大,此類負載曲線模式對應用戶生活習慣較晚,且深夜用電量較大,其余時間均較少,屬于中低電量用戶。基于以上的結果分析,可以設計5種不同的用電階梯套餐,對應不同種用電模式。
為了進一步說明所提算法的效果,本文利用DBI指標定量地對聚類結果進行分析。本文所提出的誤差聯合優化自編碼器和聚類層的方法將與傳統K-Means 聚類、譜聚類、層次聚類方法比較。另外,從實際考慮,行業專家建議集群的數量不應超過10個,從行業角度來看,產生的集群數量可用于規劃關稅,或為營銷提供證據,提供10 種不同關稅或營銷策略的運營成本將在可承受的成本范圍內[15]。故對比聚類數目在[2,10]時,不同聚類方法的DBI結果如圖4 所示。

圖4 不同聚類數下的DBI
由圖4 可知,本文所提方法優于所對比的3 種方法。圖中可以看出,當聚類數為2 時,4 種方法DBI很接近。k大于2 時,傳統K-Means 聚類、譜聚類、層次聚類的DBI相差不大,但所提方法的DBI均小于它們,所提方法的曲線始終在其他3 個曲線下方,從而說明本文提出方法的聚類效果優于傳統K-Means 聚類、譜聚類和層次聚類。
針對電力用戶負載模式的識別,本文提出了一種深度自編碼器和K-Means 結合的方法,利用誤差聯合優化自編碼器和K-Means 算法,通過深度自編碼器對電力用戶數據進行抽象特征的提取,保證時序數據的深度特征不被破壞,再采用K-Means 算法將抽象特征進行聚類。通過對英國倫敦電力居民用戶數據集的結果分析,驗證了該方法應用于住宅用戶負載模式識別能夠獲得準確的聚類結果,可以分析出不同類型的負載模式,有助于電網了解電力用戶負載模式,提高能源利用效率,進行需求響應管理等工作。