付茂盛,耿 建,張仰飛
(1.南京工程學院電力工程學院,江蘇 南京 211167;2.國網山東省電力公司泰安供電公司,山東 泰安 271000)
伴隨當今社會經濟飛速發(fā)展,能源短缺問題逐漸成為國家關注的焦點。工業(yè)企業(yè)是能源消費的重點,約占全國能源消費的70%[1-3],但大多數工業(yè)企業(yè)缺乏有效的監(jiān)控手段,導致企業(yè)用能粗放。因此,企業(yè)能耗異常精準辨識研究已成為目前高耗能企業(yè)節(jié)能工作亟待解決的關鍵問題[4]。
以往已有部分學者對能耗異常問題展開研究,并取得了不少成果。文獻[5]考慮采用基礎統(tǒng)計算法來獲取能耗閾值,解決了能耗異常問題,實現了用戶能耗異常的精準判斷;文獻[6]從統(tǒng)計學方面入手,通過對用戶能耗數據的深度挖掘,建立了較為精確的能耗預測模型,實現了能耗異常預警。以上文獻均對能耗異常問題進行了探討,但未考慮季節(jié)和時間等場景對能耗異常診斷的影響,可能會影響能耗異常診斷的準確性。
因此,現階段能耗異常檢測主要分為2個步驟:能耗模式的識別和離群數據的檢測?,F有的研究大部分是對這2個步驟進行改進,文獻[7]針對玻璃窯爐能耗異常檢測問題,提出一種基于人工蜂群算法的密度峰值聚類方法,自適應選擇密度峰值聚類參數,實現窯爐能耗異常的檢測。文獻[8]提出一種SA-DBSCAN算法自適應識別建筑能耗模式,有效解決高校建筑能耗容易誤判的問題。文獻[9]根據熔鍋爐生產過程建立不同能耗模式,并基于螢火蟲算法對數據能耗模式進行識別;然后基于改進決策樹算法對熔鍋爐能耗進行異常診斷。文獻[10]針對建筑能耗實時檢測不足問題,提出一種基于數據挖掘和能耗模式匹配的能耗實時監(jiān)測方法。以上文獻均考慮到能耗模式對異常檢測的影響,并取得了較好的效果,但未考慮時序能耗數據運行趨勢,且部分方法在針對實時能耗異常數據時效率偏低。
綜上所述,為了提高企業(yè)能耗異常檢測的準確率,本文采用模態(tài)分解算法與LOF算法進行企業(yè)能耗異常辨識。首先,基于傳統(tǒng)能耗標準區(qū)間進行企業(yè)能耗異常的定性分析;然后,引入完全自適應噪聲集合經驗模態(tài)分解方法(complete EEMD with adaptive noise,CEEMDAN)去除能耗數據中的運行趨勢,提高局部異常因子法(local outlier factor,LOF)對企業(yè)能耗異常檢測的準確度。實驗結果表明,本文所提異常辨識方法在檢測企業(yè)能耗異常數據方面具有較高準確率。
DBSCAN算法[11]存在2個重要參數:掃描半徑E和密度閾值M。即以數據集中任意點為中心,以E為半徑畫圓,判斷圓內數據點個數與密度閾值M的大小關系,并按大小關系將所有數據點分為核心點、邊緣點和噪聲點。但傳統(tǒng)的DBSCAN算法存在參數E和M確定困難的問題。為了解決這一問題,采用HDBSCAN算法對企業(yè)能耗模式進行分析。
HDBSCAN算法[12]的具體步驟如下:
a.重新定義數據點之間的距離dK來降低噪聲點對聚類結果的影響,即
dK(a,b)=maxcK(a),cK(b),d(a,b)
(1)
dK(a,b)為a、b點相互可達距離;cK(x)為K近鄰下點的核心距離;d(a,b)為a、b點的歐氏距離。
b.通過Prim算法構建最小生成樹,并按距離對樹的邊緣進行排序并迭代,為每個樹的邊緣創(chuàng)建一個新的合并集群。
c.設置最小集群大小為5,壓縮數據集層結構,采用λ=1/d計算各簇類的穩(wěn)定性,并從數據集中提取穩(wěn)定性更好的集群作為最終聚類結果。
∑p∈cluster(λp-λb)
(2)
λp為p點脫離所在集群的λ值;λb為集群分裂為自身的λ值。
由于企業(yè)用能模式可能隨用能環(huán)境的變化而變化,因此,首先需要構建企業(yè)能耗模式判別樹,并對企業(yè)能耗實時數據進行模式匹配,具體步驟如下:
a.采用HDBSCAN對企業(yè)歷史能耗數據進行聚類分析,劃分出不同簇類,各簇類代表企業(yè)的不同能耗模式,并在數據中進行標記。
b.對經數據標記后的歷史數據采用隨機森林算法[13]進行分類,確定企業(yè)能耗模式判別樹。
c.分析不同能耗模式下的數據分布,建立不同能耗模式下的企業(yè)標準庫,分別選取能耗最小值xmin作為該模式下的標準區(qū)間的下限,最大值xmax作為標準區(qū)間的上限,進而實現各能耗模式下的標準區(qū)間的劃分。
d.實時判斷當前數據的能耗模式。
EMD算法是經典模態(tài)分解方法,常用于處理非線性、非平穩(wěn)的時間序列數據[14];EEMD和CEEMD算法在經典模態(tài)分解方法基礎上加入高斯白噪聲來減輕EMD算法的模態(tài)混疊問題[15],因此不可避免地會在本征模態(tài)分量中殘留一定的白噪聲,從而影響后續(xù)數據的處理。因此,引入完全自適應噪聲集合經驗模態(tài)分解方法解決上述序列分解所存在的問題。
CEEMDAN具體步驟如下[16]:
(3)
b.計算一階余量r(t)=e(t)-I1,與原始序列處理步驟相同,計算出序列的二階模態(tài)分量I2。
c.重復步驟b直到余量不能再分解,終止運算,輸出所有模態(tài)分量。
局部異常因子算法基于數據點的密度判斷數據是否異常,并同時量化出數據點的異常程度,具有識別速度快、精度高等特點[17]。相關概念如下:
a.定義以點a為圓心,以點a的第k距離為半徑區(qū)域內點的集合為Rk(a)。
b.計算數據點間的可達距離dk(a,b),定義點a的局部可達密度ρk(a)為
(4)
c.局部異常值Lk(a)表示數據a與Rk(a)中其他點的局部可達密度差異程度,計算式為
(5)
由式(5)可知,局部異常值Lk(a)值表現點a的局部密度,Lk(a)越大于1說明該點密度與整體數據密度越不一致,越有可能為離群點。
綜上所述,基于CEEMDAN-LOF的企業(yè)能耗異常辨識過程如圖1所示。
圖1 基于CEEMDAN-LOF的企業(yè)能耗異常辨識流程
具體步驟為:
a.依據1.2節(jié)所提企業(yè)能耗模式判別樹實時判斷當前能耗數據的能耗模式。
b.基于各能耗模式下的標準庫區(qū)間對能耗異常進行定性判斷。
c.采用CEEMDAN算法對企業(yè)能耗時序數據進行分解,得到尺度各不相同的N個分量,選取合并后的低頻分量作為時間序列的運行趨勢。
d.去除時序能耗數據趨勢性對異常辨識的影響,并基于LOF法對能耗數據進行離群點分析,實現企業(yè)能耗異常的精準辨識。
以某省水泥企業(yè)能耗歷史數據為研究樣本,對本文提出的企業(yè)能耗數據異常辨識方法進行研究。選取該企業(yè)2020年1月1日—12月31日內的日級能耗數據作為檢測數據,共計366個數據。
圖2給出了數據歸一化后企業(yè)能耗數據,從圖2中可以看出,數據中存在異常值和連續(xù)零值。
由于數據統(tǒng)計期間存在停產整修,企業(yè)總能耗、煤耗和電耗都為0的數據;為獲取企業(yè)正常生產時能耗模式,應去除該類0數據后進行聚類分析。
圖2 原始數據展示
采用HDBSCAN算法對去零能耗數據進行聚類分析,聚類結果如圖3所示。從圖3中可得,能耗數據被分為A、B和C這3個簇類。
圖3 去零數據后的企業(yè)能耗模式劃分結果
在獲取企業(yè)存在的用能模式之后,構造2個特征:停產檢修和用能模式標簽。判斷能耗數據是否為零數據并將結果填入停產檢修特征中,若是停產檢修,則該數據用能模式為模式D;將非零數據聚類得到的數據簇類結果A、B和C填入用能模式標簽特征中,分別為用能模式A、用能模式B和用能模式C,添加數據特征后的部分能耗數據如表1所示。
表1 構造特征后的部分能耗數據
對能耗數據采用隨機森林算法進行分類,按照3∶1的比例劃分訓練集和檢驗集,分類誤差為2.51%。得到能耗模式判定樹如圖4所示。
圖4 企業(yè)能耗模式判別決策樹
經HDBSCAN聚類后,各簇類詳細信息如表2所示。取各簇類能耗最大值xmax和最小值xmin作為該標準區(qū)間的上下限,即歸一化前簇類A的標準區(qū)間為[5.01 tce,10.54 tce],簇類B的標準區(qū)間為[11.90 tce,16.60 tce],簇類C標準區(qū)間為[4.56 tce,9.04 tce]。對企業(yè)能耗實時數據進行模式匹配后,判斷數據是否在相應標準區(qū)間內,若不在,則判定為能耗異常。
表2 每個簇類中的個案數目和能耗標準區(qū)間
上節(jié)給出企業(yè)能耗用能模式的識別結果,并根據相應模式標準區(qū)間對企業(yè)能耗異常進行定性判斷,但針對短時間內企業(yè)用能局部突變導致的能耗異常問題,標準區(qū)間的檢測精度不足;以用能模式C為例,選取該企業(yè)7月—11月的時序能耗數據進行企業(yè)能耗異常精辨識。
3.2.1 基于CEEMDAN獲取能耗序列運行趨勢
分別采用CEEMDAN和EMD對所選能耗時間序列進行模態(tài)分解,獲得從高頻到低頻共5個分量。從圖5可知,經EMD分解后的分量I2、I3存在較明顯的模態(tài)混疊現象,而序列采用CEEMDAN分解后模態(tài)混疊現象有明顯改善;經CEEMDAN后的分量I3、I4和I5可以大致刻畫出序列趨勢;而分量I1和I2局部變化幅度和頻率較大;所以將低頻分量重組用于表示時序曲線的運行趨勢。
如圖6所示,相比于采用EMD方法,采用CEEMDAN方法獲取的能耗運行趨勢相對平緩,且受到異常點的影響更小,可以更好地表現企業(yè)能耗時序曲線運行趨勢。
圖5 CEEMDAN和EMD模態(tài)分解對比
圖6 企業(yè)能耗數據與運行趨勢對比
3.2.2 基于LOF的時序能耗數據離群點分析
圖7為原始時序能耗數據在k=30時的LOF檢測結果。從圖7中可得,0~20 d的全部數據被識別為離群數據,這是因為檢測結果受到該時間段內企業(yè)有規(guī)律能源使用變化的影響,導致判別結果存在偏差,從而無法準確識別離群數據。
圖7 采用LOF離群數據檢測方法
圖8為采用CEEMDAN去除數據運行趨勢后在k=30時的LOF檢測結果。從圖8中可得,異常能耗數據與正常數據的局部異常值較容易分辨,并能準確地辨識0~20 d中的能耗異常數據。
圖8 采用CEEMDAN-LOF離群數據檢測方法
針對2種算法的詳細檢測結果如表3所示,當k=10、20、30、40時,采用原始序列檢測離群數據時均存在較多誤判值和漏檢值,而采用CEEMDAN消除序列運行趨勢后進行離群數據檢測并無誤判和漏檢值數據,進一步驗證本文方法檢測異常數據的有效性。
表3 采用傳統(tǒng)LOF和CEEMDAN-LOF算法的檢測結果
企業(yè)能耗異常檢測已成為企業(yè)節(jié)能的重要措施,也是后續(xù)企業(yè)能效標桿建立、故障成因檢測和能效評價的基礎,具有十分重要的作用。本文提出了一種基于CEEMDAN-LOF的企業(yè)能耗異常辨識方法,通過引入CEEMDAN去除時序能耗數據的運行趨勢,并基于LOF算法對能耗數據進行離群點分析,實現了企業(yè)能耗異常的精準辨識。實驗表明,與傳統(tǒng)的LOF算法相比,CEEMDAN-LOF算法去除了數據趨勢性對異常辨識的影響,使得企業(yè)能耗異常檢測的準確性得到較高提升。