段 晶,李 勇,張振宇,李巍巍,蔣 林,李 磊
(1. 湖南大學電氣與信息工程學院,湖南省長沙市 410082;2. 長沙新奧長燃能源發展有限公司,湖南省長沙市 410005;3. 利物浦大學電氣工程與電子系,利物浦L69 3BX,英國;4. 長沙新奧湘江新能源發展有限公司,湖南省長沙市 410005)
為提高電力用戶終端負荷的能源利用效率、減少電量消耗、促進用戶參與需求側管理或實現遠程優化控制,電力負荷的在線監測必不可少[1-2]。電力負荷的在線監測方法主要有侵入式負荷監測(ILM)和非侵入式負荷監測(NILM)兩種。ILM 需要為每個監測設備配置一個或多個傳感器,雖然監測結果更為準確,但成本高、配置復雜、維護困難。NILM的概念最早由Hart 于1992 年提出[3],它只需在被監測系統的電力入口處安裝一個電力信息采集裝置,再通過信號分析和處理實現負荷的分解與辨識,雖然精度稍低,但是硬件結構簡單,便于安裝和維護,更切合智能電網建設的實際需求[4-5]。因此,近年來NILM 方法的研究備受國內外學者的關注。
負荷辨識是負荷監測的核心內容,負荷辨識方法可分為三大類:優化方法、監督學習方法和無監督學習方法。優化方法是負荷辨識最直接的方法,將提取的負荷特征數據與模板庫中的特征數據進行對比,采用優化算法最小化誤差,找到匹配度最高的電氣設備狀態組合,包括動態時間彎曲(DTW)算法[6]、遺傳算法[7]、粒子群優化算法[8]等,但優化方法進行負荷辨識普遍需要根據歷史信息提前建立負荷特征模板庫。監督學習方法需要已知電氣設備的特定運行信息進行模型的初始訓練,且算法的性能很大程度取決于模型學習的數據標簽,基本上是將負荷辨識問題轉換為分類學習問題進行解決,主要方法包括貝葉斯分類器[9]、支持向量機(SVM)[10]和人工神經網絡(ANN)[11-13]。無監督學習方法可以在沒有任何先驗信息的情況下運行,相較于監督學習方法減少了訓練步驟的干擾性,主要算法包括隱馬爾可夫模型(HMM)[14]及其擴展,如文獻[15]中的因子隱馬爾可夫模型(FHMM)和文獻[16]中的隱式半馬爾可夫模型(HSMM)均被應用到負荷辨識中。
不同類型的負荷具有不同的負荷特征,按照其運行狀態可大致分為3 類[17]。對于連續變化(Type-Ⅲ)型的負荷,由于其工作狀態的功率值保持連續變化的特性,導致其狀態空間極其巨大。文獻[18]指出,對于常用的基于HMM 的負荷辨識方法,僅對Type-Ⅰ型的開關負荷表現較好,在面對狀態更為復雜的其他類型負荷時效果將被極大的削弱。因此Type-Ⅲ型負荷的辨識一直是NILM 中研究的重點和難點之一。
為有效辨識Type-Ⅲ型負荷,滿足負荷辨識算法對辨識準確率和算法魯棒性的要求,本文提出了一種基于深度卷積神經網絡(CNN)和HMM 的非侵入式負荷辨識算法。通過深度CNN 提取負荷的多維特征,進行負荷的初次辨識,將連續變化的負荷狀態辨識問題重構為二分類狀態辨識;根據負荷狀態的時間依賴性,利用HMM 解決負荷的二分類狀態再辨識,減少CNN 辨識結果中出現的狀態斷點現象,提高辨識準確率。本文以工商業電力負荷為例,在具有代表性的Type-Ⅲ型負荷數據上進行訓練和測試,證明了本文算法的有效性,并且可達到97.9%的辨識準確率。
附錄A 圖A1 展示了3 種典型的負荷曲線,其中Type-Ⅲ型負荷的狀態連續可變性特點非常明顯。工商業用電在總負荷中占有很大的比重,研究工商業用電特性,對電力系統安全經濟運行和電力市場的發展有著重要的作用。對工商業電力負荷進行監測和辨識,可以幫助電力部門了解客戶的用電行為,進而為不同的客戶群制訂相應的市場策略,使雙方都受益。因此,本文使用Type-Ⅲ型工商業負荷來驗證非侵入式負荷辨識算法的性能。
本文所用的數據集為實測電力數據。測量儀器為日置電能質量分析儀PQ3198,可完成無間隙的連續運算、事件檢測、GPS 時間同步等標準要求的測量,測量項目包括有功功率、無功功率、頻率、電壓、電流及其有效值、最值和高次諧波成分等多維負荷特征數據,并具備波形記錄和存儲功能。在電力入口處安裝數據采集裝備,采樣頻率為1 Hz,采樣時長為7 d。為了驗證辨識效果,在待辨識負荷處也安裝采集設備以準確獲取其運行狀態,從而為辨識模型提供參考數據。
對于電力入口處采集的任一負荷特征數據,可用時間序列R=[R0,R1,…,RT]表示,其中T為負荷數據的時間長度。數據處理中可通過差分的方式來增強特征的表達能力,因此可以得到負荷的差值特征序列x=[x1,x2,…,xT],其中任一元素xt皆滿足:

給定時間窗口長度w,并通過特征選擇確定n種負荷特征,由此可生成CNN 模型能學習的輸入負荷數據{H1,H2,…,HL},其中L為輸入數據的總長度。

式中:Xi,j為第j種負荷特征的第i個窗口的差值時間序列,如式(3)所示。

式中:i=1,2,…,T-w+1;j=1,2,…,n。
對于采集的待辨識負荷數據,以其電流有效值Ii+w/2的大小為標準,生成設備的標簽狀態集{y1,y2,…,yL},其中yi為第i個時間窗口內的i+w/2 時刻點的負荷的運行狀態,i=1,2,…,L。

其中,將1 A 作為狀態標記的基準是根據待辨識負荷運行時的最小電流值所選擇的。
由電能質量分析儀采集的電力數據共包含3 537 種負荷特征,其中包括能反映待辨識負荷運行狀態變化的相關特征和與待辨識負荷狀態變化不相關的無關特征。除此之外,負荷特征中還包括一類冗余特征,即這類特征中所包含的信息可從其他特征中提取[19]。冗余特征在負荷辨識模型學習中幾乎不起作用,而無關特征反而會對模型學習造成干擾。因此,在進行模型訓練之前要進行特征選擇,去除無關特征和冗余特征,從而提高負荷辨識的準確率,并且特征選擇可以在很大程度上降低維數,減少了模型的運算量。
時間窗口長度、特征維度與CNN 的乘-加操作(multiply-accumulate operations,MAC)次數之間的關系如附錄A 圖A2 所示。隨著特征數目的增加,神經網絡的操作次數逐漸變得不可接受,另外,由于特征之間的組合狀態爆炸增長,導致需要大量的數據才能對網絡進行合適的訓練。因此,為了降低網絡運算復雜度、縮短模型訓練時間,本文采用互信息算法進行特征選擇。
在概率論和信息論中,2 個隨機變量的互信息是變量間相互依賴性的量度,互信息熵越大表明2 個隨機變量之間的相關性越強,反之互信息熵越小,2 個隨機變量之間的相關性就越弱[20]。互信息值I(x,y)的計算如下:

式中:p(x)和p(y)分別為隨機變量x和y的邊緣概率密度函數;p(x,y)為x和y的聯合概率密度函數。
本文采用互信息進行特征選擇的具體步驟為:根據式(5)計算每個負荷特征與待辨識負荷運行狀態之間的互信息值;按照互信息的大小對所有特征按從大到小進行排序;然后選擇前n個互信息最大的特征,構成負荷辨識的初始特征集合{f1,f2,…,fn};計算fi與fj(i<j)之間的互信息大小,若fi與某個特征fj的互信息值大于閾值,則將fj移除特征子集,并按照順序添加新的特征;重新計算新的特征子集中特征之間的互信息值,重復篩選直到兩兩特征之間的互信息值皆小于閾值,并構建新的特征集合。
附錄A 圖A3 以熱圖的形式展示了負荷特征之間的相關性。圖A3(a)中互信息值很小,不同特征之間的相關性很弱,而圖A3(b)則相反,說明不同負荷特征之間存在冗余性,特征提取時可從不同的特征中提取重疊的信息,以致于增加了許多不必要的運算。因此,去除冗余特征可使得模型在相同的運算維度內,提取到更多的隱含特征。
對于Type-Ⅲ型負荷,本文引入了具備強特征提取能力的CNN 模型,用于提取連續的負荷功率變化中隱含的特征。但是,純CNN 類的方法具有另一種弊端,在本文中將其表述為辨識結果的非連續性問題,如附錄A 圖A4 所示。由于CNN 本身不具備時序建模能力,所以其對時序數據的感知范圍僅能停留在所選取的時間窗長度內,這導致CNN 的辨識結果中經常出現局部性的辨識錯誤。值得注意的是,使用CNN 重新提取負荷數據中的特征并將其重構為運行或非運行的二分類狀態,可以解決HMM面臨的狀態空間過大的問題,使其重新適用于HMM 對負荷狀態的表達。因此,本文最終確立了使用CNN-HMM 架構的Type-Ⅲ型負荷運行狀態辨識的解決方案。
基于深度CNN-HMM 的非侵入式負荷辨識算法流程如圖1 所示。

圖1 基于深度CNN-HMM 的負荷辨識算法流程圖Fig.1 Flow chart of load identification algorithm based on deep CNN-HMM
第1 階段為數據處理:采用互信息算法對電力入口處采集的高維負荷數據進行特征選擇,并采用差分處理的方式強化特征表達能力;對于待辨識負荷數據,根據電流有效值大小確定其運行狀態,生成設備的標簽數據集。
第2 階段為模型訓練:將負荷特征數據和標簽數據合成模型的訓練數據集,訓練深度CNN,使其學習擬合特征數據與標簽之間的非線性映射關系;通過深度CNN 得到負荷的初始辨識結果,并將其作為HMM 的已知觀測序列,訓練HMM 的參數。
第3 階段為模型評估:將負荷特征數據和標簽數據合成模型的測試數據集,采用深度CNN 模型提取負荷的隱含特征并進行初次辨識,然后采用HMM 優化CNN 辨識結果中的狀態斷點問題,由此得到負荷的最終狀態序列,并根據負荷標簽數據對CNN-HMM 辨識結果的準確率進行評估。
殘差神經網絡(ResNet)因其特殊的捷徑連接結構,不僅能通過增加網絡的深度來提高準確率,而且可緩解由深度增加所帶來的梯度消失問題[21-22]。因此,本文采用ResNet-50 網絡作為深度CNN 的基本架構,通過ResNet-50 的學習,逐漸增加輸入特征向量的深度,減小其數據維度,提取數據的深層隱含特征,由此優化神經網絡的學習性能。附錄A 表A1為ResNet-50 網絡結構的超參數。
HMM 是關于時間序列的概率模型,可用一個五元組參數λ={U,V,A,B,π}來表示,其參數定義如下。
1)U={u1,u2,…,uN}是一組隱含狀態的集合,其中N為隱含狀態數目,系統在t時刻的隱含狀態Qt∈U。本文采用CNN 進行負荷特征提取,并將其重構為二分類狀態負荷辨識問題,所以本文實驗所選擇的待辨識負荷的隱含狀態數目N=2,只有工作狀態和非工作狀態,即U={0,1}。
2)V={v1,v2,…,vM}是一組觀測狀態的集合,其中M為每一個隱含狀態可能輸出的不同觀測值的數目,系統在t時刻的觀測值St∈V。對于待辨識負荷,觀測狀態數目M=2,即V={0,1}。
3)狀態轉移概率矩陣A=(aij),其中aij為在t時刻狀態為ui的條件下,在t+1 時刻狀態為uj的概率,計算公式如下。

4)觀測狀態轉移概率矩陣B=(bi(k)),其中bi(k)為在t時刻隱含狀態為ui的條件下,觀測狀態為vk的概率。

5)初始狀態概率矩陣π=(πi)為t=1 時刻初始狀態的概率分布。

本文提出的非侵入式負荷辨識算法采用ResNet-50 模型對負荷數據進行初辨識,并將其重構為運行或非運行的二分類問題,再采用HMM 對初始辨識結果進行優化。HMM 算法的具體步驟為:①初始化HMM 可更新參數λ′0={A,B,π};②根據深度CNN 的初辨識結果生成觀測序列S=[S1,S2,…,SL];③迭代更新的參數λ′,直到觀測序列出現的概率P(S|λ′)達最大值;④通過最優參數λ′和觀測序列S,采用維特比算法求使得可能性P(Q|S,λ′)最大的狀態序列Q=[Q1,Q2,…,QL],即為待辨識負荷的最終辨識結果。
負荷辨識算法的性能可用準確率Acc、精確度P′、召回率R以及調和平均評價指標Fscore進行評估。準確率Acc的計算如下:

式中:m為經過算法辨識預測正確的數量。
精確度P′用來表示算法抗誤檢的能力,召回率R用來表示算法抗漏檢的能力。

式中:TP為被辨識為正樣本、實際為正樣本的數量;FP為被辨識為正樣本、實際為負樣本的數量;FN為被辨識為負樣本、實際為正樣本的數量。
Fscore是用來平衡精確度和召回率的評價指標。

此外,本文采用Wasserstein 距離衡量負荷辨識結果的運行時間概率分布與實際負荷運行時間概率分布之間的差異[23],距離可表征算法解決識別錯誤斷點的能力,該值越小表明2 個概率分布之間的擬合程度越好。Wasserstein 距離的計算公式如下。

式中:pr和pg為需要計算二者之間距離的2 個概率分布;inf(·)表示取最小值;Π(pr,pg)為以pr和pg為邊緣分布的所有可能的聯合概率分布γ的集合。從γ中采樣(x,y)~γ,計算其范數距離||x-y||,由此計算該聯合分布下的距離期望值E(x,y)~γ(||x-y||),所有可能的聯合分布中取該期望值的下確界為Wasserstein 距離。
本文實驗所用數據集為實測電力數據,數據采集地點分別為湖南大學研究生教學樓和湘江歡樂城能源站。其中,教學樓背景負荷較為簡單,主要用能設備包括電梯與中央空調。而能源站用能結構較為復雜,它是一個冷熱電綜合能源站,包括溴化鋰機組、蒸汽鍋爐、燃氣熱水鍋爐、熱水鍋爐循環泵等多種用能設備以及內燃發電機等發電設備。除去大型設備外,也存在數量眾多的中小型負荷,由于供能覆蓋范圍較大,難以窮舉。為滿足2 所酒店與冰雪世界的用能需求,設備機組經常處于復雜的動態調控過程中,用電情況多變、辨識難度較高,是一個典型的工商業復雜負荷。
附錄A 圖A5 為實驗數據采集地點的電網拓撲結構圖,數據采集裝置的安裝位置已在圖中標記。圖A5(a)為教學樓低壓側的拓撲,包括相互獨立的1 號與2 號電梯、中央空調、照明設備等,本文選擇1 號電梯負荷為待辨識負荷,采集的部分電梯負荷數據見附錄B。圖A5(b)為能源站低壓側的拓撲與其部分負荷,為保障能源站供電的安全可靠性,其中包含兩支獨立的進線,電源進線為消防負荷供電,非消防負荷進線為其他電力負荷供電,本文選擇鍋爐負荷作為待辨識負荷。
圖2 為待辨識負荷的有功功率和無功功率的聯合分布圖。可以看出,電梯負荷和鍋爐負荷的有功和無功功率變化范圍都非常廣泛,并且分布較隨機,不能簡單地將其聚類處理劃分為有限個狀態,且其有功功率并非維持在一個或多個穩定值附近。電梯負荷和鍋爐負荷的狀態多變復雜,是典型的Type-Ⅲ型負荷,因此可以作為驗證本文算法有效性的待辨識負荷。

圖2 待辨識負荷的有功、無功功率聯合分布圖Fig.2 Diagrams of active and reactive power joint distribution for load to be identified
對采集的數據集進行預處理和特征選擇時,選擇不同的時間窗口長度w和特征數量n會產生不同的辨識結果。表1 為固定w=50 s 時,不同的特征數目對ResNet-50 網絡每輪訓練時間的影響。由表1 可知,隨著特征數目的增加,輸入數據維度變大,網絡的訓練時間也會隨之變長,因此采用互信息進行特征選擇可以縮短模型的訓練時間,從而提高模型運算效率。

表1 ResNet-50 網絡每輪的訓練時間Table 1 Training time of each epoch in ResNet-50 network
圖3 展示了算法辨識準確率與時間長度和特征數目的關系。由圖可見,隨著n的增加,負荷辨識模型可從輸入數據中提取更多的隱含特征,但當n達到某一數值后,選擇的負荷特征中開始出現重疊信息或是無關信息,反而會對模型辨識產生干擾,降低辨識的準確率;隨著w的增加,模型可從一個時間窗口內學習待辨識負荷狀態之間的時間連續性,從而減少辨識結果非連續性的現象,但當w覆蓋負荷的最大運行周期值時,模型逐漸達到飽和,負荷辨識準確率便不會隨著w的增大而增大。綜合考慮算法的運算量和準確率,本文選擇時間窗口長度w=60 s、特征數量n=40 進行特征選擇和模型訓練。

圖3 時間長度和特征數量與辨識準確率的關系Fig.3 Relationship of time length, number of characteristics and identification accuracy
從實驗數據集中選擇周六的數據作為網絡的訓練數據,選擇周一的數據作為測試數據,并且在訓練數據中將80%用于訓練,其余20%用于模型的評估,從而選擇出效果最佳的模型。在訓練過程中,采用Adam 優化器,設置初始學習率為0.001,并使用線性整流函數(ReLu)以加快模型的收斂速度,用交叉熵函數計算分類誤差。附錄A 圖A6 為損失函數值隨訓練過程迭代次數的變化曲線圖。可以看出,在迭代次數達到30 左右時,無論是訓練誤差還是評估誤差,模型的損失值都趨于平緩,達到收斂狀態。
本文將幾種常用的非侵入式負荷辨識算法作為對比算法進行測試,包括k最近鄰(KNN)[24]、隨機森林(RF)[25]、HMM[14]、長短期記憶(LSTM)網絡[12]、CNN[11]以及CNN-LSTM 模型。其中,選擇HMM和CNN 算法是為了對比本文算法相較于單獨模型的優化效果。KNN 和RF 算法是經典的分類識別算法,而LSTM 網絡模型是處理時間序列的神經網絡,這3 種算法均被普遍應用于非侵入式負荷辨識領域中。
待辨識負荷的辨識結果如表2 所示,圖4 展示了幾種負荷辨識算法在相同時間內的辨識結果。由圖4 可見,LSTM 和CNN 算法的辨識結果中都存在一定的狀態斷點問題,導致負荷辨識的準確率降低;而2 層模型CNN-LSTM 和CNN-HMM 相較于單獨模型在一定程度上優化了辨識結果的非連續性,提高了負荷辨識的準確率,且HMM 比LSTM 的優化效果更為顯著,本文提出的CNN-HMM 算法具有更高的精度。結合表2 中的評價指標對比,可在數據上證實這一觀點。雖然在精確度P′和召回率R上,本文算法并非是最優的,即本文算法在所有對比算法中并不具有最強的抗誤檢和抗漏檢的能力,但是對于能綜合反映辨識結果的可靠程度指標Fscore,提出的算法取得了0.987 9 的最高值;對于反映負荷辨識結果與實際運行狀態之間差異的Wasserstein 距離,提出的算法取得了最小值,而d值越小表明算法解決識別錯誤斷點的能力越強。綜上所述,本文算法對于Type-Ⅲ型工商業負荷的辨識效果優于其他對比算法,并且具有最高的辨識準確率,能達到97.9%。

表2 待辨識負荷的辨識結果Table 2 Identification results of load to be identified

圖4 辨識結果對比Fig.4 Comparison of identification results
用戶的用電行為是指在什么時間用了什么電器產生了多大的負荷,通過NILM 技術可以方便地獲得各電器的使用情況,進而可以對各電器的用電信息如啟停時間、持續時間及用電量等進行統計,以得到用戶準確的用電行為,從而幫助電網公司制定供需互動策略。
附錄A 圖A7 為根據負荷辨識結果得到的電梯負荷和鍋爐負荷一天的用能統計。由圖A7(a)可知,電梯負荷的運行具有明顯的時間特性,主要用電行為集中在09:00—23:00,而在00:00—06:00 時段內幾乎沒有運作,且工作日的運行時長較周末的略長,這與電梯負荷所處的學校環境有關,電梯的運行時段與學生上下課時段重合。由圖A7(b)可知,鍋爐負荷的運行幾乎與時間無關,因其處于供能站內,要滿足站內所有的供熱需求,所以鍋爐負荷每天的工作時間都很長,用能量很大,且工作日與周末的用能并沒有很大區別。
為有效辨識Type-Ⅲ型負荷,本文提出了基于深度CNN-HMM 的非侵入式負荷辨識算法。首先,根據互信息原理進行特征選擇并去除冗余特征,采用參數搜索確定最優時間窗口長度和特征數目;由于ResNet-50 網絡可有效解決深度網絡訓練過程中梯度消失的問題,將其作為深度CNN 模型的架構,提取負荷的多維特征,并完成初次辨識;根據初次辨識結果,計算HMM 的參數,并完成負荷的二次辨識,從而優化CNN 模型辨識中存在的辨識結果非連續性問題;最后,與其他負荷辨識算法的對比測試結果表明,本文算法能有效辨識Type-Ⅲ型工商業電力負荷,具有更好的準確率和辨識精度。
下一步的工作重點是研究Type-Ⅲ型負荷運行時的典型狀態辨識問題。
附錄見本刊網絡版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網絡全文。