陶 華,莊友誼*,戴 歡
(1.溫州大學(xué) 電氣與電子工程學(xué)院,浙江 溫州 325035;2.溫州大學(xué) 計(jì)算機(jī)與人工智能學(xué)院,浙江 溫州 325035)
隨著經(jīng)濟(jì)和社會的快速發(fā)展,人民生活水平不斷提高,各類用電設(shè)備越來越多。但是由于不當(dāng)?shù)目刂撇呗院筒缓侠淼挠秒娦袨椋粌H會導(dǎo)致大量能源浪費(fèi),甚至?xí)饑?yán)重故障或事故。近年來,隨著電力大數(shù)據(jù)技術(shù)的普及與應(yīng)用,除了能獲得用戶的最終用電費(fèi)用外,還能收集大量細(xì)時(shí)間粒度的用戶用電過程數(shù)據(jù)。如何從這些海量數(shù)據(jù)中挖掘出用電異常信息,從而為用戶及時(shí)發(fā)現(xiàn)設(shè)備異常、減少能耗損失提供決策依據(jù),對于實(shí)現(xiàn)節(jié)能減排目標(biāo)具有重要意義。
由于傳統(tǒng)的人工檢測方法存在成本高[1]、效率低、實(shí)時(shí)性差[2]等不足,利用機(jī)器學(xué)習(xí)技術(shù)進(jìn)行用電異常檢測已成為國內(nèi)外研究熱點(diǎn)。文獻(xiàn)[3]改進(jìn)K-means 算法,應(yīng)用于電力數(shù)據(jù),實(shí)現(xiàn)了電力數(shù)據(jù)聚類并有效檢測出異常的凈電能輸出曲線。文獻(xiàn)[4]提出了一種基于模糊聚類和孤立森林的異常檢測方法,該算法更適用于異常點(diǎn)較少的實(shí)際用電數(shù)據(jù)。文獻(xiàn)[5]將可能性模糊C 均值(PFCM)算法和改進(jìn)的粒子群優(yōu)化(PSO)算法相結(jié)合,優(yōu)化了PFCM 算法的初始中心和數(shù)目,有效地降低了誤檢率。文獻(xiàn)[6]使用改進(jìn)的自編碼關(guān)聯(lián)規(guī)則挖掘算法(ACT-Apriori)進(jìn)行電網(wǎng)故障診斷。文獻(xiàn)[7]利用隨機(jī)森林和箱線圖相結(jié)合,應(yīng)用于建筑功耗異常值檢測領(lǐng)域。文獻(xiàn)[8]采用長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(LSTM)進(jìn)行功耗預(yù)測和異常檢測,關(guān)注長期電力消耗的異常檢測,大大提高了召回率。文獻(xiàn)[9]提出基于回歸分析的建筑能耗異常識別算法,實(shí)現(xiàn)了多屬性能耗異常數(shù)據(jù)的可靠識別。文獻(xiàn)[10]提出了一種基于D-S 證據(jù)理論的不平衡數(shù)據(jù)多劃分(MP)聚類算法,對建筑能耗中的異常值進(jìn)行檢測,能夠有效避免樣本“均勻效應(yīng)”。
但是,定義居民用電設(shè)備的能耗異常,并且利用居民用電數(shù)據(jù)提取相應(yīng)的分類規(guī)則,最后進(jìn)行異常分類和檢測的研究還較少。異常分類可以及時(shí)找到異常產(chǎn)生的原因,并且及時(shí)反饋給用戶對設(shè)備問題進(jìn)行維護(hù),以及改善用戶非必要的能源浪費(fèi)行為。在此基礎(chǔ)上,本文提出了基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的居民用電異常檢測方法。
近年來,深度學(xué)習(xí)蓬勃發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)在語音識別[11]、圖像處理[12]、自然語言處理[13]以及電力系統(tǒng)
[14]等眾多領(lǐng)域取得重要進(jìn)展。CNN 網(wǎng)絡(luò)結(jié)構(gòu)一般由輸入層、隱含層和輸出層組成,其中隱藏層包含卷積層、池化層和全連接層,見圖1。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)的輸入層為一組二維數(shù)據(jù)矩陣圖。卷積層對卷積核和輸入樣本矩陣的局部區(qū)域進(jìn)行卷積運(yùn)算,經(jīng)過非線性激活函數(shù)后得到多個(gè)特征面。卷積計(jì)算公式為
式中,l 為網(wǎng)絡(luò)層數(shù);y為第l 層的第i 個(gè)特征映射;x為l-1 層的特征面;Ki、b 分別為卷積核的權(quán)值和偏置;激活函數(shù) δ=max(0,x)。
卷積層之后的池化層是對卷積層的輸出進(jìn)行篩選過濾,通過滑動(dòng)窗口對局部接受域進(jìn)行下采樣,在保留原特征的同時(shí)減少神經(jīng)網(wǎng)絡(luò)訓(xùn)練的參數(shù),降低過擬合風(fēng)險(xiǎn)以及減少訓(xùn)練時(shí)間。常見的池化方法有最大池化即取局部接受域中最大的值和均值池化即取局部接受域的均值[13]。最大池化的操作見圖2。
全連接層置于CNN 的最后幾層,其中每個(gè)神經(jīng)元都與前一層所有神經(jīng)元相連,因此被稱為全連接。最終的輸出層使用SoftMax 函數(shù)進(jìn)行分類,返回屬于某一類別的概率。SoftMax 函數(shù)將分類器的輸出值轉(zhuǎn)換為范圍在[0,1]且和為1 的概率分布。轉(zhuǎn)換公式為
式中,Si表示分類器對輸入數(shù)據(jù)在第i 個(gè)類別上的輸出值,C 為類別的個(gè)數(shù)。
研究表明,在家庭中大約可以節(jié)約10%到40%的電力[15],但是,大量居民輕視非必要的能源消耗問題,經(jīng)常在沒有他們實(shí)際存在房屋的情況下保持電器長時(shí)間打開,極大地影響了能源利用率[16],尤其是對于電視機(jī)、空調(diào)、電燈、筆記本電腦、臺式機(jī)和風(fēng)扇等開關(guān)設(shè)備而言。此外,當(dāng)用電器功率過大,出現(xiàn)過載現(xiàn)象,影響正常用電,甚至是損壞設(shè)備或引發(fā)事故。因此,定義設(shè)備空置消耗和設(shè)備過載為居民用電過程中的兩大異常能源消耗。因用電設(shè)備具有打開和關(guān)閉的操作模式,將正常能源消耗定義為使用良好、打開設(shè)備和關(guān)閉設(shè)備。所以,本研究開發(fā)檢測并分類為5 個(gè)類別:“使用良好”、“打開設(shè)備”、“關(guān)閉設(shè)備”、“設(shè)備過載”、“設(shè)備空置”,見表1。
表1 用電類型
用電器在正常使用功耗范圍內(nèi)視為使用良好。而決定用電器打開或關(guān)閉的兩大因素是設(shè)備的最大待機(jī)功耗(maximum standby power consumption, max(S))和最小使用功耗(minimum active power consumption,min(A))。當(dāng)設(shè)備從待機(jī)狀態(tài)切換至使用狀態(tài),則此刻說明設(shè)備打開;反之,則為關(guān)閉電器。
判斷用電器是否過載的條件主要依據(jù)設(shè)備最大使用功耗。當(dāng)設(shè)備功耗大于或等于95%的最大使用功耗(maximum active power consumption, max(A)),則說明該電器過載。此外,特別引入了房間占用情況(occupancy, O),為房間是否存在用戶設(shè)置標(biāo)志,即用戶在房間內(nèi)/外(1/0)。該特征的引入目的是檢測設(shè)備空置異常,若當(dāng)用戶不在房間內(nèi),設(shè)備仍處在運(yùn)行狀態(tài),此時(shí)設(shè)備空置,造成能源浪費(fèi)。
算法1 總結(jié)了上述能源消耗分類規(guī)則,其中輸入為每個(gè)設(shè)備的占用情況(O)、功耗(P)、最大運(yùn)行時(shí)間(max(T))、待機(jī)功耗(S)、使用功耗(A)。
基于卷積神經(jīng)網(wǎng)絡(luò)的居民用電異常檢測流程見圖3。
為了檢測和識別用電設(shè)備的能耗異常,利用能源消耗分類規(guī)則對數(shù)據(jù)進(jìn)行注釋后,獲得相應(yīng)的能耗標(biāo)簽。在此基礎(chǔ)上,采用CNN 分類模型對帶標(biāo)簽的能耗數(shù)據(jù)集進(jìn)行訓(xùn)練學(xué)習(xí),然后,利用真實(shí)設(shè)備能耗數(shù)據(jù)進(jìn)行能耗異常分類和檢測。
在本節(jié)中,主要介紹了卷積神經(jīng)網(wǎng)絡(luò)的模型結(jié)構(gòu)以及分類過程。CNN 模型結(jié)構(gòu)參考AlexNet 模型[17],由兩層卷積層和兩層最大池化層組成,并且在每個(gè)卷積層加入ReLU 激活函數(shù)。為了防止梯度消失或梯度爆炸,并加入Dropout 層消弱過擬合。最后輸入到全連接層,然后再將中間值輸入到輸出層,輸出層使用的是Softmax 函數(shù),見圖4。
CNN 分類器訓(xùn)練過程中,每次模型的輸出與能耗數(shù)據(jù)標(biāo)簽進(jìn)行對比,通過反向傳播調(diào)整權(quán)重參數(shù),最終獲得并保存最優(yōu)模型。
CNN 將經(jīng)過不平衡數(shù)據(jù)處理過后的數(shù)據(jù)集作為輸入,使用多個(gè)卷積核進(jìn)行卷積運(yùn)算,獲得卷積層特征圖。最大池化層則通過3×3 濾波器和步長為2 的滑動(dòng)窗口進(jìn)行降維下采樣,提取數(shù)據(jù)權(quán)重大的特征,最后展平輸出至兩個(gè)全連接層。第一層全連接層實(shí)現(xiàn)特征降維,數(shù)量為32,激活函數(shù)為ReLU;第二層全連接層激活函數(shù)設(shè)置為SoftMax,其神經(jīng)元數(shù)量取決于能源消耗類別的數(shù)量,即數(shù)量為5,輸出最后的分類結(jié)果和準(zhǔn)確率。SoftMax 函數(shù)能夠?qū)Χx的5 種能源消費(fèi)類型進(jìn)行判斷,并且采用one-hot 編碼為5 種能耗類別進(jìn)行編碼。[1,0,0,0,0],[0,1,0,0,0],[0,0,1,0,0]分別對應(yīng)著三種正常能耗類型,而[0,0,0,1,0],[0,0,0,0,1]則對應(yīng)設(shè)備能耗異常狀態(tài)。最終輸出該數(shù)據(jù)在5 個(gè)類別中的評分,評分越高代表該數(shù)據(jù)是這個(gè)類別的可能性越大。
因此通過分類規(guī)則,為能耗數(shù)據(jù)集進(jìn)行類別標(biāo)定,再利用CNN 對設(shè)備能耗數(shù)據(jù)進(jìn)行分類和異常識別,是一種簡單高效的異常檢測方法。
本研究采用的數(shù)據(jù)源為荷蘭住宅能源數(shù)據(jù)集(Dutch Residential Energy Dataset,DRED),該數(shù)據(jù)集在荷蘭某房屋采用智能電表和傳感器收集了12 種用電器功耗,采樣頻率為1 Hz;房間占用情況通過每隔1 分鐘掃描WiFi 接入點(diǎn)、藍(lán)牙信號以及相關(guān)機(jī)器學(xué)習(xí)算法確定居住者的位置。最后,根據(jù)對用電器使用模式的相似性,實(shí)驗(yàn)選取筆記本、電視兩種設(shè)備。
由于使用傳感器收集和記錄數(shù)據(jù)的過程中,數(shù)據(jù)缺失和數(shù)據(jù)異常的情況常有發(fā)生。為了降低數(shù)據(jù)缺失和異常對模型訓(xùn)練造成誤差,本文采用鄰近值求平均值進(jìn)行補(bǔ)充或替換。此外,能源消耗分類規(guī)則對數(shù)據(jù)進(jìn)行標(biāo)注后,能耗標(biāo)簽數(shù)量見表2,正常和異常數(shù)據(jù)產(chǎn)生了數(shù)據(jù)不平衡的問題,打開設(shè)備與關(guān)閉設(shè)備占比較低,容易造成誤分類,因此,本文引入功耗歸一化(power consumption normalization,PN(t)) 和功耗量化(power consumption quantification,PQ(t)),用于提高分類器對打開設(shè)備和關(guān)閉設(shè)備這兩個(gè)類別的檢測效率,緩解數(shù)據(jù)不平衡的問題。
表2 標(biāo)簽數(shù)量
3.2.1 對比設(shè)置
本文的對比實(shí)驗(yàn)選取在能耗異常檢測領(lǐng)域應(yīng)用較為廣泛的4 個(gè)機(jī)器學(xué)習(xí)模型:線性判別分析(LDA)、K近鄰算法(KNN)、隨機(jī)森林(RF)以及支持向量機(jī)(SVM)。
3.2.2 模型評估
本文采用準(zhǔn)確率、F1 分?jǐn)?shù)評價(jià)模型的分類準(zhǔn)確度,計(jì)算公式為
圖5 和圖6 展示了兩個(gè)不同設(shè)備的部分分類效果以及對應(yīng)的功耗概況。黑色實(shí)線表示用戶正在室內(nèi)使用設(shè)備。而灰色虛線代表此刻用戶外出,且如果其高度大于0,則說明電器設(shè)備處在運(yùn)行狀態(tài),造成不必要的能源浪費(fèi)。此外,頂部灰色數(shù)字顯示CNN 分類器分類正確的能耗標(biāo)簽,反之若為黑色,則分類錯(cuò)誤。如圖5 所示的黑色數(shù)字,分類器將其檢測為類別0(使用良好),而其能耗約為64 W,超過了電視的最大使用能耗,且此刻用戶處在室內(nèi),那么,其對應(yīng)能耗標(biāo)簽應(yīng)為類別3(過度使用)。
本文部署了一個(gè)10 倍交叉驗(yàn)證法,避免分類器過度擬合。操作是將輸入數(shù)據(jù)及其標(biāo)簽分成10 個(gè)子組,然后對9 個(gè)子組進(jìn)行監(jiān)督訓(xùn)練,并使用剩余子組評估模型的精度和F1 分?jǐn)?shù)性能,最終結(jié)果取平均值。分類性能結(jié)果見表3。
從表3 可以明顯看出,LDA 的分類性能最差,高斯核的支持向量機(jī)優(yōu)于LDA,這是因?yàn)長DA 難以處理非線性數(shù)據(jù),并驗(yàn)證了特征與相應(yīng)類別之間的復(fù)雜性。SVM、KNN 以及RF 都表現(xiàn)出了高準(zhǔn)確率和低F1分?jǐn)?shù)。原因在于,當(dāng)數(shù)據(jù)存在數(shù)量級極小的異常類,模型總是將數(shù)據(jù)分類為正常類,導(dǎo)致準(zhǔn)確率高,但該模型實(shí)質(zhì)上無法檢測并分類出異常,因此準(zhǔn)確率被視為不穩(wěn)健指標(biāo)。
表3 不同機(jī)器學(xué)習(xí)算法的性能比較
那么,引入F1 分?jǐn)?shù)對分類器性能進(jìn)行綜合評估。F1 分?jǐn)?shù)是召回率和精確度的調(diào)和平均值,是更加可靠的評價(jià)指標(biāo)。從表3 看出,CNN 優(yōu)于其他分類器,在電視數(shù)據(jù)集下獲得99.80%的準(zhǔn)確率和99.85%的F1 分?jǐn)?shù);在筆記本數(shù)據(jù)集中準(zhǔn)確率為99.94%,F(xiàn)1 分?jǐn)?shù)為99.58%。所以,CNN 分類效果最好。
CNN 分類器的混淆矩陣見圖7 和圖8,每個(gè)單元格顯示標(biāo)簽分類的數(shù)量以及分類的百分比。對角線單元格顯示每個(gè)類別正確分類的百分比,對角線之外的單元格均為錯(cuò)誤分類?;煜仃囷@示分類錯(cuò)誤的類型。對于電視數(shù)據(jù)集,CNN 將11 個(gè)類別3(過度使用)錯(cuò)誤分類成類別0(良好使用)。類別3 的分類準(zhǔn)確率為99.68%,類別4 的分類準(zhǔn)確率為100%,平均分類準(zhǔn)確率為99.77%,見圖7。對于筆記本數(shù)據(jù)集,CNN 會將類別4 錯(cuò)誤分類成類別0、類別1、類別2。過度使用(類別3)的分類準(zhǔn)確率為100%,外出消耗(類別4)的分類準(zhǔn)確率為99.93%,平均分類準(zhǔn)確率為99.59%,見圖8。
可視化工具讓用戶獲悉用電異常并減少非必要能源消耗。本節(jié)以筆記本電腦數(shù)據(jù)為例。圖9 為能耗時(shí)序圖,以瓦特(W)為單位,展現(xiàn)了筆記本電腦的能量消耗隨時(shí)間的變化。圖10 和圖11 描繪了5 種能源消耗的散點(diǎn)圖,采樣間隔分別為1 秒鐘和1 分鐘。從圖10 和圖11 可以看出,筆記本電腦長期處于待機(jī)狀態(tài)或運(yùn)行狀態(tài),而用戶外出,造成設(shè)備空置異常(類別4),形成不必要的能源消耗。因此,可視化工具能夠便捷地定位到異常消費(fèi),并反饋給用戶,尤其是對于分別代表“設(shè)備過載”和“設(shè)備空置”(類別3 和類別4)。
本研究提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的居民用電異常檢測方法,將能耗異常定義為設(shè)備過載和設(shè)備空置,從設(shè)備功耗信息、設(shè)備使用特性以及房間占用信息等數(shù)據(jù)提取能耗分類規(guī)則,并采用CNN 模型對其進(jìn)行分類檢測,最后利用可視化工具反饋設(shè)備能耗異常,幫助住戶改善其能源消耗行為,減少非必要的能源消費(fèi)。實(shí)驗(yàn)結(jié)果證明,本文實(shí)現(xiàn)的方法在家用電器數(shù)據(jù)集上進(jìn)行評估,證明了在能耗異常分類的有效性和高效性,在電視、筆記本數(shù)據(jù)集下的準(zhǔn)確率分別達(dá)到了99.80%和99.86%。通過與四種機(jī)器學(xué)習(xí)算法的對比,也證明了本文的算法具有高分類精度。