陳朔, 陳小龍, 張婷, 王艷龍, 張照, 王雙
(1.國網(wǎng)安徽省電力有限公司合肥供電公司, 安徽,合肥 230000;2.國網(wǎng)安徽省電力有限公司肥西縣供電公司, 安徽,合肥 231299;3.安徽明生恒卓科技有限公司, 安徽,合肥 230001)
隨著電力建設(shè)規(guī)模的不斷擴(kuò)大,智能電網(wǎng)覆蓋的范圍也在持續(xù)增大,電網(wǎng)系統(tǒng)中的各項電力運(yùn)行數(shù)據(jù)也隨之增多[1]。當(dāng)電網(wǎng)系統(tǒng)中出現(xiàn)問題,如變電站設(shè)備故障、電表保險熔斷、輸電線路中斷等[2],智能電網(wǎng)中的電表數(shù)據(jù)會隨之發(fā)生異常。因此,對智能電網(wǎng)能源大數(shù)據(jù)中心中的電表數(shù)據(jù)進(jìn)行持續(xù)實時的監(jiān)控和異常檢測,可以及時發(fā)現(xiàn)電網(wǎng)中出現(xiàn)的異?;蚴鹿剩苊庖蚬收咸幚聿患皶r導(dǎo)致的更嚴(yán)重的電量損失和設(shè)備損壞[3]。因此,對能源大數(shù)據(jù)中心的數(shù)據(jù)進(jìn)行異常檢測對智能電網(wǎng)來說有著重大的經(jīng)濟(jì)和安全價值。
異常檢測一直是數(shù)據(jù)分析中的熱門領(lǐng)域,現(xiàn)階段對時間序列進(jìn)行異常檢測的算法主要可以分為時間序列分解法、分類和回歸樹、ARIMA、指數(shù)平滑法和神經(jīng)網(wǎng)絡(luò)這幾種[4]。ZENG等[5]利用分解法將圖像分為正常部分和殘差部分來檢測醫(yī)學(xué)圖像中的異常區(qū)域。PANAGIOTIS等[6]利用決策樹和機(jī)器學(xué)習(xí)算法設(shè)計了一種基于異常的智能電網(wǎng)入侵檢測系統(tǒng)。YAACOB等[7]利用ARIMA技術(shù)進(jìn)行異常檢測來查找網(wǎng)絡(luò)中的潛在攻擊。ANDRYUKHIN等[8]使用基于指數(shù)平滑的模型來對工業(yè)網(wǎng)絡(luò)中的異常行為進(jìn)行檢測。WANG等[9]采用基于LSTM的功耗預(yù)測和異常檢測方法來識別異常功率消耗數(shù)據(jù)。由于智能電網(wǎng)中數(shù)據(jù)量龐大,這些算法不能同時滿足速度和準(zhǔn)確率的雙重需求。
基于此,本文設(shè)計了一種基于云計算平臺的能源大數(shù)據(jù)中心的數(shù)據(jù)異常檢測方法,利用云計算架構(gòu),實現(xiàn)對智能電網(wǎng)能源大數(shù)據(jù)中心中超大數(shù)據(jù)量的存儲和計算。此外,根據(jù)用電數(shù)據(jù)隨季節(jié)變化的特征,采用STL分解法將電表數(shù)據(jù)進(jìn)行分解,再利用分解后的殘差數(shù)據(jù)進(jìn)行異常分析,完成對能源大數(shù)據(jù)中心異常數(shù)據(jù)的檢測。
云計算是一種基于互聯(lián)網(wǎng)的,通過網(wǎng)絡(luò)互聯(lián)異構(gòu)和按需為個人用戶或企業(yè)用戶提供取用的計算方式[10]。云計算是一種新興的IT服務(wù)交付方式,它具有超大規(guī)模、通用性、高可擴(kuò)展性、廉價性、高可靠性和按需服務(wù)等特點[11]。因此,它可以為用戶提供更加方便快捷的使用體驗和更加低廉的服務(wù)成本。云計算的應(yīng)用場景目前也已增多,IDC云、企業(yè)云、云存儲系統(tǒng)、開發(fā)測試云、協(xié)作云等已經(jīng)被廣泛應(yīng)用[12]。
云計算架構(gòu)通常分為服務(wù)和管理兩部分[13]。服務(wù)部分為用戶提供各種基于云的服務(wù),包括軟件服務(wù)、平臺服務(wù)和基礎(chǔ)架構(gòu)服務(wù)。管理部分則以管理層為主,它可以對云計算中心進(jìn)行及時有效的管理,確保整個云計算中心運(yùn)行的穩(wěn)定和安全。
Robert B Cleveland提出的A Seasonal-Trend Decomposition Procedure Based on Loess,即STL是一種專門用來處理時間序列數(shù)據(jù)的分解算法,其原理是以魯棒局部加權(quán)回歸作為平滑方法,將某個時間序列Y=(T,X)分解為3個分量,即趨勢分量Q、周期分量C和殘余分量R。其中:T={t1,…,tn},tn表示第n個時間節(jié)點;X={x1,…,xn},xn表示第n個時間節(jié)點對應(yīng)數(shù)據(jù)。
Y=Q+C+R
(1)
其中,趨勢分量可以顯示時間序列中低頻的變化率,周期分量可以顯示頻率周期性變化,殘余分量顧名思義則為時間序列去除趨勢分量和周期分量后的分量。
STL時間序列分解算法主要分為兩部分,分別為內(nèi)循環(huán)和外循環(huán)。在內(nèi)循環(huán)階段需要對時間序列Y進(jìn)行Loess平滑,得到趨勢分量Q和周期分量C。在外循環(huán)部分則為殘余分量的獲取。
(2)
其中,xFarthest表示區(qū)間內(nèi)距離xi最遠(yuǎn)的點。
通過該區(qū)域內(nèi)所有時間點,對xi進(jìn)行線性回歸得到平滑直線y′=a+bt,則時間點ti處的平滑值為yi。
對于時間序列Y,在確定區(qū)間大小為sc以后,可以得到子序列,通過對子序列進(jìn)行平滑,即可得到周期子序列C′,對其進(jìn)行低通濾波得到低頻分量L,則周期分量C=C′-L。接著計算:
Q′=Y-C
(3)
對Q′進(jìn)行區(qū)間大小為sq的平滑,得到趨勢分量Q。則殘余分量R=Y-Q-C。
圖1為本文提出的智能電網(wǎng)云計算平臺整體框架。它分為顯示云層、分析計算云層、數(shù)據(jù)云層、基礎(chǔ)設(shè)施云層和管理云層。其中,顯示云層提供軟件服務(wù),用戶可以通過該層發(fā)布命令,并獲得反饋。分析計算云層和數(shù)據(jù)云層提供平臺服務(wù),龐大的計算任務(wù)在該層完成?;A(chǔ)設(shè)施云層提供基礎(chǔ)架構(gòu)服務(wù),它為云計算提供硬件和軟件支撐。管理云層提供賬號、安全、運(yùn)維、服務(wù)、計費(fèi)等方面的管理,對整個智能電網(wǎng)云計算平臺進(jìn)行高效的管理,保證整個平臺的穩(wěn)定運(yùn)行。
圖1 智能電網(wǎng)云計算平臺整體框架
由于智能電網(wǎng)能源大數(shù)據(jù)中心中的電表數(shù)據(jù)來源廣泛,又經(jīng)過了長時間的傳輸,所以會存在數(shù)據(jù)缺失和格式不一致的問題,因此,在進(jìn)行數(shù)據(jù)分解之前,需要對數(shù)據(jù)進(jìn)行預(yù)處理。本文采用牛頓插值法對缺失數(shù)據(jù)進(jìn)行補(bǔ)全,再采用min-max標(biāo)準(zhǔn)化函數(shù)對所有格式不一致的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化操作。
設(shè)時間序列T={t1,…,tn}對應(yīng)的原始數(shù)據(jù)集為X={x1,…,xn}={f(t1),…,f(tn)},假設(shè)(ti,xi)數(shù)據(jù)缺失,則:
P(ti)=f(t1)+(ti-t1)f[t2,t1]+(ti-t1)(ti-t2)f[t3,t2,t1]+…+(ti-t1)(ti-t2)…(ti-tn-1)f[tn-1,…,t2,t1]
(4)
R(ti)=(ti-t1)(ti-t2)…(ti-tn)f[tn-1,…,t2,t1]
(5)
P(ti)=f(t1)+(ti-t1)f[t2,t1]+(ti-t1)(ti-t2)f[t3,t2,t1]+…+(ti-t1)(ti-t2)…(ti-tn-1)f[tn-1,…,t2,t1]
(6)
其中,f[ti,tj]為f(t)在點ti、tj處的一階差商,P(ti)為牛頓插值逼近函數(shù),R(ti)為余項函數(shù)。
(7)
完成預(yù)處理之后的數(shù)據(jù)集為Y={y1,…,yn}。
能源大數(shù)據(jù)中心中的電表數(shù)據(jù)具備明顯的晝夜周期特征和趨勢變化率,因此通過STL時序分解法去除數(shù)據(jù)中的趨勢分量和周期分量,可以較為明顯輕松地找到異常數(shù)據(jù),降低異常數(shù)據(jù)引起的故障報錯等問題。
對預(yù)處理后的數(shù)據(jù)集采用1.2中提到的STL時序分解法,得到殘余分量R,對R進(jìn)行ESD檢驗。其步驟如下。
(1) 計算殘余分量序列數(shù)據(jù)R的中位數(shù)M。
(2) 計算M的絕對中位數(shù)誤差mad。
(3) 計算R中每個數(shù)據(jù)點的統(tǒng)計量:
(8)
(4) 統(tǒng)計S中最大的數(shù),若該數(shù)大于閾值σ則將其認(rèn)為為異常點,從時序數(shù)據(jù)集中將其去除。
(5) 迭代執(zhí)行步驟(1)~步驟(4)。
本文實驗數(shù)據(jù)選自國家電網(wǎng)安徽省某變電站采集的2020年變壓器數(shù)據(jù),其中70%的數(shù)據(jù)作為訓(xùn)練集,剩下30%作為測試集。為驗證算法的可行性,如圖2、圖3分別為改變參數(shù)sc和sq觀察算法的檢測準(zhǔn)確率。
圖2 參數(shù)sc對算法精度的影響
圖3 參數(shù)sq對算法精度的影響
為驗證算法的性能,圖4通過將本文的算法與ARIMA,回歸樹做對比,通過準(zhǔn)確率,召回率來衡量本文的算法優(yōu)越性。
準(zhǔn)確率公式為
(9)
召回率公式為
(10)
其中,TP表示真正的異常值被區(qū)分,F(xiàn)P表示非異常值被分為異常值,F(xiàn)N表示真正的異常值未被區(qū)分,TN表示非異常值未被分為異常值。
圖4 3個算法評估指標(biāo)
為了避免因故障處理不及時導(dǎo)致的電量損失和設(shè)備損壞,需要對能源大數(shù)據(jù)中心中的數(shù)據(jù)進(jìn)行異常檢測。本文設(shè)計了一種基于能源大數(shù)據(jù)中心的數(shù)據(jù)異常檢測方法,方法利用云計算架構(gòu),實現(xiàn)了對能源大數(shù)據(jù)中心中超大數(shù)據(jù)量的存儲和計算。采用STL分解法將電表數(shù)據(jù)進(jìn)行分解,再利用分解后的殘差數(shù)據(jù)進(jìn)行異常分析,完成對智能電網(wǎng)能源大數(shù)據(jù)中心中異常數(shù)據(jù)的檢測。并通過實驗驗證了該方法的準(zhǔn)確性。