黃家續 ,曾獻輝 ,2,施陳俊
(1.東華大學 信息科學與技術學院,上海201620;2.數字化紡織服裝技術教育部工程研究中心,上海201620)
節能降耗是企業面對的一個迫在眉睫的問題,設備節能是其中的一種有效手段。企業能源浪費很大一部分來自用電設備的管理維護不夠精確、不夠及時。人走忘記關燈、忘記關水、設備爆管、設備老化等異常不能夠及時檢測出來,給企業造成了一定程度上的損失。
目前企業中大多都使用了設備能耗數據采集系統[1],采集到的數據量大、實時產生。因此,設備運行過程中產生的各種異常也會在數據上有直接反映。所以為了能夠及時、精確地檢測出設備運行中產生的各種異常,對能耗數據異常的檢測以及分類有著重要的研究意義。
目前國內外許多研究者對用電數據的異常檢測進行了大量的研究。黃悅華等提出了一種基于用電特征分析的無監督方式異常檢測方法[2],具有較高的準確性;張春輝等提出了基于小波檢測電力負荷異常的方法,利用ARFIMA 統計方法結合小波,能夠快速準確全面地發現電力負荷異常數據[3];趙嫚等利用模糊聚類和孤立森林算法相結合進行異常檢測[4];徐瑤等采用卷積神經網絡挖掘用戶時間序列中的用電規律,并通過反向傳播來實現網絡參數的更新,利用支持向量機檢測出異常用電行為[5];ANGELOS EWS 等人使用模糊分類矩陣來改進C均值聚類,歸一化度量距離最大的即為異常用電行為[6];ARISOY I 等基于電力公司長期運營的專家知識,對用電數據的時間關聯關系進行了數學建模,實現了用戶異常用電量的檢測[7]。
但是對于設備用電數據異常分類目前國內相關的研究比較少,異常分類可以及時地找到異常產生的原因,能及時通知工作人員進行快速精準的維護,減少不必要的能源浪費。本文提出了一種基于多特征提取的企業用電異常分類方法。因為本文采用的數據是企業設備每天24 h 的能耗量數據,屬于一維時間序列數據,所以并不能直接對用電量數據進行分類。如何對用能設備所產生的時間序列數據的特征進行提取[8]是本研究中很重要的一環。孤立森林算法[9-10]能夠快速準確地對異常點進行檢測,它利用異常點數據少、異常數據特征值與正常數據差別大這兩大特點來孤立異常點。該方法效率高,能有效地處理海量數據。本文利用孤立森林算法對異常數據進行檢測,分離出正常數據和異常數據,同時標定正常數據類型。為了對異常數據進一步地劃分標定,采用K-means 聚類算法[11],選取特征,設定聚類數目k為3,此方法經驗證能夠很好地分離出三種不同的異常,并對其進行標定。最后針對企業設備用電數據量大并且實時產生的特點,本文提出了一種注意力機制和LSTM 算法[12-13]相結合的設備用電異常分類方法。
在進入分類器進行訓練之前,首先要進行輸入數據特征的提取工作,將輸入數據轉化成多種特征。特征提取對于分類器最后的效果有很大的影響。本文將設備的運行異常分為了三種類型:設備空置異常、高能耗用電異常、用電規律變化異常。
一種典型的設備空置異常曲線如圖1 所示。從圖中可以看出,處于空置狀態的設備以一種低能耗的方式運行。這種異常在企業中是很常見的,比如人走后設備沒有正常關閉。

圖1 設備空置異常曲線
圖2 所示是一種典型的高能耗用電異常曲線,從圖中可以看出,設備用電量在某一個時刻急劇升高,超過一個閾值,并且這種高能耗的狀態持續很長時間。比如設備爆管就會引起這種異常。

圖2 高能耗用電異常曲線
一種典型的用電規律變化異常曲線如圖3 所示,從圖中可以看出,從第16 小時開始,設備的用電量數據相比于之前發生了明顯的變化。

圖3 用電規律變化異常
為了更好地對數據進行分類,本文在對設備能耗數據集的處理中構建了如下特征。
低能耗時間比在一定程度上反映了一段時間序列中設備處于低能耗狀態的時間比值。為了描述低能耗時間比,為每個小時的用電量數據設定一個上限Emax和一個下限Emin,處于這個上下限范圍之內的用電量數據在本文中定義為低能耗數據。每小時的用電量是否屬于低能耗的判定為:

其中,E(i)(i=0,1,2,…,N-1)為一個長度為N的用電量時間序列,則低能耗時間比定義為:

高能耗時間量反映了樣本時間序列數據中設備處于高能耗狀態的用時總量。為了判定設備的用電量是否屬于高能耗,為每小時的用電量設置一個閾值,當數據超過設定的閾值,則判定該時刻的用電量屬于高能耗。則高能耗時間量T定義為:

為了描述設備用電規律是否發生了變化,引入了動態時間彎曲距離即DTW 距離[14]。DTW 是時間序列相似性度量的一種方法。下面介紹如何求得新輸入的設備用電時間序列與歷史時間序列的DTW距離。
若設備歷史用電時間序列為:X={x1,x2,…,xm},新輸入的 用電時間序列為:Y={y1,y2,…,yn}。首先構造兩者的累積距離:


彎曲路徑W=(w1,w2,…,wk)滿足條件:max(m,n)≤k≤m+n-1,元素wr=(i,j)定義了序列X和序列Y的映射。并且必須滿足以下兩個約束條件:
(1)W從矩陣B的左下角出發,到右上角結束,即w1=(1,1),wk=(m,n);
(2)W上的元素不可能跨過某個點去匹配,只能和自己相鄰的點對齊。即若有wk=(ak,bk),wk+1=(ak+1,bk+1)則滿足0≤ak+1-ak≤1 以及0≤bk+1-bk≤1。
最終DTW 距離定義為:

其中K為彎曲路徑W的長度,綜上所述,該特征值即為D(X,Y)。
高斯模型[15]就是用高斯概率密度函數將事務以量化的方式進行刻畫,將一組數據分解為若干高斯概率密度函數的疊加。在本文使用的模型中,僅僅假設樣本來自于一個正態分布,下面給出正態分布的定義。
定義1若隨機變量X服從一個均值參數為μ、方差參數為σ 的概率分布,并且它的概率密度函數為以下形式:

則將該隨機變量叫做正態隨機變量,其服從的分布叫做正態分布,記為xN(μ,σ2)。本文高斯特征的提取中假設設備用電時間序列來自于一個正態分布,那么可以通過參數估計的方法得出模型的參數:

對于設備用電時間序列X={x1,x2,…,xn},對其做一階差分得到Y={y1,y2,…,yn-1},使得yk=xk-1-xk,該序列反映了設備用電量的變化特征。對其做k階差分直到其成為一個平穩序列,然后對于每一階的差分序列,都可以得出其高斯特征,本文采用設備用電原始序列值X={x1,x2,…,xn}以及一階差分序列值Y={y1,y2,…,yn-1}分別建立高斯模型,得到高斯模型參數該高斯模型參數反映了時間序列本身的均值和抖動情況,以及時間序列變化的平均大小和抖動情況。本文以高斯模型的參數作為分類的特征值。
差值平均量是用新輸入的時間序列數據與正常時間序列做差并求均值,描述了與正常時序數據的差異大小。若設備用電時間序列為X=(x1,x2,…,xn),新輸入的時間序列為Y=(y1,y2,…,yn),兩者作差得到(δ1,δ2,…,δn),其中δk=xk-yk。則差值平均量的定義如下:

圖4 為基于多特征提取的企業用電異常分類流程架構,首先對用電量時序數據樣本集中的每一條樣本進行特征提取,本文對每條樣本都提取了8個特征,分別是低能耗時間比、高能耗用時量、DTW距離、反映時序數據本身均值和抖動情況以及反映時序數據變化的平均大小和抖動情況的4 個高斯模型系數,以及差值平均量特征。特征提取過后的樣本并不能直接進入分類器進行訓練,因為本文中采用的樣本數據屬于無標簽數據,還需為樣本數據打上標簽,對類型進行標定,隨后才會進行分類器模型訓練。對輸入的每條樣本數據進行特征提取,進入訓練好的模型,得到分類結果。
本文所采用的數據集為企業設備的用電量數據,每一條時間序列數據中包括每天24 h 設備的用電量,同時也屬于無標簽數據,所以在進入分類器模型訓練之前,要利用算法為每條樣本數據打上標簽。本文為樣本數據標定類型同時使用了孤立森林模型以及K-means 模型。利用孤立森林模型能夠很精確地檢測出異常數據,從而分離正常數據和異常數據,然后對異常數據利用K-means 模型進行聚類,聚類數目K為3,經過考慮和試驗選用低能耗時間比、高能耗時間量、DTW 距離、原始序列高斯系數μ1以及差值平均量5 個特征構成樣本數據作為K-means 算法的輸入,經檢驗此方法能夠很好地對設備空置異常、高能耗用電異常以及用電規律變化異常進行類型標定。樣本數據類型標定的流程圖如圖5 所示。

圖5 樣本數據類型標定流程圖
針對企業設備用電數據量大并且實時產生的特點,本文提出了一種基于注意力機制和LSTM 的神經網絡設備用電異常分類方法。圖6 為注意力LSTM 神經網絡的整體框圖,其中包含兩個LSTM 層、注意力層和輸出層。
傳統的RNN(循環神經網絡)能夠鏈接以前的信息和現在的任務,但是它有一個缺點,即容易產生梯度消失和梯度爆炸問題。LSTM 就是為了解決梯度的問題,其內部增加了長期存儲有效信息的單元。LSTM 每個神經元內部都包含輸入門、輸出門和遺忘門,它們被用作網絡內信息傳播的接口。

圖6 注意力LSTM 神經網絡框圖
LSTM 的計算公式如下:

其中,Wf、Wi、Wc、Wo是權重參數,bf、bi、bc、bo是偏置,xt作為輸入序列,結合上一個隱含層ht-1的狀態,通過激活函數構成遺忘門ft。輸入門it和輸出門Ot也由xt和ht-1計算。遺忘門ft與前單元狀態Ct-1聯合以確定是否丟棄信息。本節采用雙層LSTM 模型,并將其輸出與注意力機制相結合,突出序列中所提取的特征。
近年來注意力機制被廣泛地應用于深度學習中。注意力機制沒有嚴格的數學定義,而是根據具體的任務目標,對關注的方向和加權模型進行調整。
對于輸入x的序列中的每個向量xi,可以根據式(12)計算注意力權重αi,其中f(xi)是評分函數。

注意力層的輸出attentive_x是輸入序列的權重之和,如式(13)所示:

本文在LSTM 之后引入注意力機制,可以實現設備用電異常分類結果與特征輸出每一項的對應關系。上文從原始序列中提取了8 個特征作為模型的輸入,輸出為該設備用電異常類型,采用Softmax函數把輸入映射到[0,1]空間中,并且進行歸一化操作,保證其和為1,將最大的概率值作為判別出的異常類型。
本文采用的數據集為上海某公司某設備每天24 h 的用電量數據,共有715 條樣本數據。通過Python 編程得到每條樣本數據的8 個特征值,并利用孤立森林算法和K-means 聚類算法為樣本數據打上標簽。本文使用TensorFlow 框架進行注意力LSTM 模型結構的搭建,對設備能耗異常進行識別。為了方便訓練,將類型標簽轉換為one-hot 標簽。然后將數據集按70%和30%劃分為訓練集和測試集。經處理后,輸入的特征序列,x的shape 為(715,8),y的shape 為(715,4),每條設備能耗數據的特征值個數為8,數據集的樣本總量為715,數據類型的數量為4。
經過實驗測試后,基于注意力LSTM 異常用電分類模型的準確率達到了97.76%。圖7 是注意力LSTM 異常用電分類模型在訓練集和測試集上的10 次epoch 迭代過程中的準確率,圖8 為其對應的損失。

圖7 模型訓練過程中的準確率

圖8 模型訓練中的損失
為了驗證所述方法的優越性,本文在使用相同數據集并且訓練10 輪的情況下,用不加注意力機制的LSTM 神經網絡分類模型進行訓練和測試,準確率為95.45%。而注意力LSTM 模型的準確率為97.76%,經過對比可得出基于注意力LSTM 異常分類模型具有更高的分類精確度。
針對能耗設備的節能,本文利用企業中實時采集到的數據流,提出了一種基于多特征提取的設備能耗異常識別方法。首先對原始序列數據進行特征提取,利用孤立森林算法和K-means 聚類算法為每條樣本數據打上標簽。最后針對企業中設備用電數據量大并且實時產生的特點,提出了一種基于注意力LSTM 的設備用電異常分類算法。提取的8 個特征作為LSTM 的輸入,將LSTM 的輸出作為注意力層的輸入,通過調整權重然后輸入到全連接層及Softmax 層進行分類。通過數據驗證,注意力LSTM設備用電異常分類模型相比于沒有添加注意力機制的LSTM 分類模型效果要更好,分類準確率也更高,更為可靠,可以高效地識別出不同類型的設備能耗異常,從而可以為企業及時作出處理,減少能耗損失提供決策依據。