郭 莉,吳 晨,薛貴元
(國(guó)網(wǎng)江蘇省電力有限公司經(jīng)濟(jì)技術(shù)研究院,江蘇 南京 210000)
熱能種類繁多、數(shù)量龐大,其中包括太陽(yáng)能、工業(yè)余熱等類別,充分利用熱能可以提高能源的利用率,減少石油、煤炭等不可再生資源的消耗。以低溫?zé)崮苡袡C(jī)物循環(huán)發(fā)電系統(tǒng)為例,其為在節(jié)約能源的同時(shí),也造成了發(fā)電大數(shù)據(jù)的迅速增長(zhǎng),隨之出現(xiàn)了數(shù)據(jù)龐大且信息貧乏的情況[1-2]。低溫?zé)崮苡袡C(jī)物循環(huán)發(fā)電系統(tǒng)在受到自身或外界某些因素影響時(shí)會(huì)導(dǎo)致數(shù)據(jù)異常,為了保證熱能發(fā)電系統(tǒng)的穩(wěn)定運(yùn)行,相關(guān)的數(shù)據(jù)異常檢測(cè)方法變得至關(guān)重要。
孫文慧[3]等以供熱末端住戶供暖數(shù)據(jù)為研究對(duì)象,利用高斯混合聚類算法將數(shù)據(jù)集映射到高維空間并完成聚類后,搭建工業(yè)大數(shù)據(jù)分析平臺(tái)實(shí)現(xiàn)異常用熱數(shù)據(jù)集的解釋與辨識(shí)。周嘉琪[4]等為了精準(zhǔn)快速地定位光伏發(fā)電系統(tǒng)中光伏逆變器的異常,提出了一種基于GAN的異常檢測(cè)方法。采用卷積長(zhǎng)短期記憶網(wǎng)絡(luò)的編碼器,提取每個(gè)時(shí)間序列數(shù)據(jù)的時(shí)間信息以及各變量之間的相關(guān)信息后,求解異常評(píng)分函數(shù)實(shí)現(xiàn)光伏逆變器數(shù)據(jù)異常檢測(cè)。肖勇[5]為了解決智能電表遭受的網(wǎng)絡(luò)攻擊的問題,提出了基于深度信念網(wǎng)絡(luò)與數(shù)據(jù)聚合模型的智能電表數(shù)據(jù)異常檢測(cè)方法。將分布式數(shù)據(jù)模型聚合后的數(shù)據(jù)輸入至深度信念網(wǎng)絡(luò)中,將執(zhí)行數(shù)據(jù)經(jīng)過深度信念網(wǎng)絡(luò)提取特征傳送至電表數(shù)據(jù)計(jì)量管理系統(tǒng),實(shí)現(xiàn)智能電表?yè)p失檢測(cè)。上述方法雖然都實(shí)現(xiàn)了異常檢測(cè),但是由于熱能發(fā)電大數(shù)據(jù)種類較多,數(shù)量龐大,導(dǎo)致其存在誤報(bào)率高、檢測(cè)率低和漏報(bào)率高的問題。
為了解決上述方法存在的問題,基于密度的噪聲應(yīng)用空間聚類(density-based spatial clustering of applications with noise,簡(jiǎn)稱DBSCAN)方法可以將簇定義為密度相連的點(diǎn)的最大集合,能夠把具有足夠密度的區(qū)域劃分為簇,并可以在有噪聲的空間數(shù)據(jù)集中發(fā)現(xiàn)任意形狀的簇,提高數(shù)據(jù)檢測(cè)的準(zhǔn)確性,因此將該方法引入熱能發(fā)電大數(shù)據(jù)異常檢測(cè)模型設(shè)計(jì)中,以此提升熱能發(fā)電大數(shù)據(jù)異常檢查命中率,對(duì)異常事件精準(zhǔn)鎖定,從而提高解決問題的效率并降低經(jīng)濟(jì)損失。
低溫?zé)崮苡袡C(jī)物循環(huán)發(fā)電系統(tǒng)主要由膨脹機(jī)蒸發(fā)器、冷凝器、工質(zhì)泵和發(fā)電機(jī)構(gòu)成,該系統(tǒng)的各個(gè)部件均會(huì)產(chǎn)生壓力、質(zhì)量流量、溫度等不同類型且數(shù)量眾多的數(shù)據(jù),一旦其受到大量的無(wú)關(guān)數(shù)據(jù)和噪聲數(shù)據(jù)影響,將會(huì)導(dǎo)致數(shù)據(jù)異?;騺G失,因此在異常檢測(cè)前需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理[6]。
設(shè)延遲算子為B,光滑算子為α(B),可逆算子為β(B),α(B)和β(B)的對(duì)應(yīng)參數(shù)為α1,α2,…,αq和β1,β2,…,βq,?表示1-B,at為滿足正態(tài)分布的噪聲序列點(diǎn),用ARIMA模型對(duì)未檢測(cè)到的熱能發(fā)電大數(shù)據(jù)異常的時(shí)間序列為{Xt}:
(1)
(2)
通過ARIMA模型表示時(shí)刻T的時(shí)間序列,該序列存在已被檢測(cè)到的缺失值和噪聲點(diǎn)[7],具體分為以下兩種情況:
1)持續(xù)異常模型
設(shè){Yt}表示在時(shí)間t處存在持續(xù)異常值的時(shí)間序列,此序列可表示以下形式:
(3)
2)獨(dú)立異常模型
設(shè){Zt}表示在時(shí)間T處存在持續(xù)異常值的時(shí)間序列,該模型被獨(dú)立異常值影響,如下所示:
(4)
由式(2)和式(3)可以看出,Yt和時(shí)間t后的時(shí)間序列Yt+1,Yt+2…均會(huì)受到異常值的影響,由式(4)可以看出,獨(dú)立異常值只對(duì)時(shí)間T處的序列值產(chǎn)生影響。
設(shè)模型擬合誤差為et,t+j項(xiàng)的擬合誤差為et+j,殘差影響算子為πj,得到持續(xù)異常值和獨(dú)立異常值對(duì)時(shí)間序列的影響ωφ和ωφ如下所示:
(5)
(6)
通過以上計(jì)算可以修正時(shí)間序列中數(shù)據(jù)被異常值所影響的部分。
工質(zhì)泵是低溫?zé)崮苡袡C(jī)物循環(huán)發(fā)電系統(tǒng)的動(dòng)力部分,其中包含了循環(huán)效率、工質(zhì)吸熱量、凈輸出功率三個(gè)指標(biāo),上述三個(gè)指標(biāo)的單位和量綱特征量不一致,會(huì)對(duì)熱能發(fā)電大數(shù)據(jù)分析的結(jié)果和數(shù)據(jù)指標(biāo)的可比性產(chǎn)生影響,因此在修正時(shí)間序列中數(shù)據(jù)異常部分后,還需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理,從而使數(shù)據(jù)不受到量綱的影響。將熱能發(fā)電大數(shù)據(jù)歸一化處理后,數(shù)據(jù)的各項(xiàng)指標(biāo)數(shù)量級(jí)統(tǒng)一,能夠?qū)ζ溥M(jìn)行更加準(zhǔn)確的對(duì)比研究?;贒BSCAN聚類的熱能發(fā)電大數(shù)據(jù)異常檢測(cè)模型中,數(shù)據(jù)歸一化處理采用的是離差標(biāo)準(zhǔn)化算法[8]。
設(shè)原始數(shù)據(jù)為x,發(fā)電數(shù)據(jù)集中最大值為xmax,最小值為xmin,將x進(jìn)行線性轉(zhuǎn)換,其結(jié)果x*映射到[0,1]中,歸一化計(jì)算方式如下:
x*=x-xmin/xmax-xmin
(7)
在收集熱能發(fā)電大數(shù)據(jù)用于研究時(shí),發(fā)電數(shù)據(jù)是以數(shù)據(jù)流的形式存在的[9],對(duì)頻率動(dòng)態(tài)聚類進(jìn)行計(jì)算時(shí)需要實(shí)時(shí)更新,從而檢測(cè)異常數(shù)據(jù)?;贒BSCAN聚類的熱能發(fā)電大數(shù)據(jù)異常檢測(cè)模型通過Streaming DBSCAN實(shí)現(xiàn)該檢測(cè)步驟。設(shè)x為一個(gè)新出現(xiàn)的數(shù)據(jù)點(diǎn),對(duì)其建立新的密度聯(lián)系,有如下四種可能的狀態(tài):
1)x為異常值
若新數(shù)據(jù)點(diǎn)x的鄰域內(nèi)不存在核心點(diǎn),則x為異常值。
2)創(chuàng)建新的聚類
若新數(shù)據(jù)點(diǎn)x本身為核心點(diǎn),x不存在于其他現(xiàn)有聚類中,且在x密度可到達(dá)的點(diǎn)中沒有出現(xiàn)聚類核心點(diǎn),則生成新聚類。
3)加入現(xiàn)有聚類
若新數(shù)據(jù)點(diǎn)x與任意一個(gè)聚類的核心點(diǎn)呈現(xiàn)密度可達(dá)的狀態(tài),則將x加入該聚類。
4)合并多個(gè)聚類
若插入新數(shù)據(jù)點(diǎn)x后呈現(xiàn)不同聚類核心點(diǎn)密度可達(dá)的狀態(tài),則將x與相鄰聚類合并生成新聚類。
由于歷史數(shù)據(jù)會(huì)對(duì)新數(shù)據(jù)產(chǎn)生影響,因此引入延遲因子α判斷其影響,當(dāng)α的值為1時(shí),歷史數(shù)據(jù)和新數(shù)據(jù)影響相同,當(dāng)α的值為0時(shí),歷史數(shù)據(jù)的影響可以忽略不計(jì)。設(shè)用xt表示新到達(dá)的數(shù)據(jù),ct表示上一時(shí)刻或歷史時(shí)刻聚類情況,ct+1表示新的聚類,nt+1表示新聚類中數(shù)據(jù)點(diǎn)個(gè)數(shù),nt+1=nt+m,其中nt為歷史數(shù)據(jù)數(shù)量,mt為新到達(dá)數(shù)據(jù)數(shù)量,對(duì)新聚類進(jìn)行計(jì)算得到:
ct+1=ctntα+xtmt/ntα+mt
(8)
處理大量的數(shù)據(jù)流對(duì)系統(tǒng)的性能有很高的要求,為此基于DBSCAN聚類的熱能發(fā)電大數(shù)據(jù)異常檢測(cè)模型采用Spark Streaming進(jìn)行流處理,Spark Streaming可以接入多種數(shù)據(jù)源,是Spark對(duì)于數(shù)據(jù)流處理的一種延伸[10],Spark的優(yōu)點(diǎn)是在數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)需要多次迭代的情況下依然適用,Spark最基本的數(shù)據(jù)結(jié)構(gòu)是RDD[11],其作用是通過本地集合完成分布式數(shù)據(jù)集的操作,Spark中對(duì)數(shù)據(jù)流的抽象為DSsteams,DSsteams用來(lái)描述連續(xù)序列RDDs,其中全部RDD都存在特定時(shí)間間隔的一段數(shù)據(jù)。
通過Spark Streaming設(shè)計(jì)熱能發(fā)電大數(shù)據(jù)Strea-ming DBSCAN算法,該算法對(duì)數(shù)據(jù)流計(jì)算分為以下步驟:
1)歷史數(shù)據(jù)選取利用
選擇具有代表性的歷史數(shù)據(jù)建立訓(xùn)練數(shù)據(jù)集[12],用以獲取不同類型的熱能發(fā)電數(shù)據(jù)特征,將數(shù)據(jù)通過DBSCAN算法聚類處理并進(jìn)行數(shù)據(jù)點(diǎn)標(biāo)注,設(shè)標(biāo)注后的數(shù)據(jù)點(diǎn)為p,數(shù)據(jù)點(diǎn)的屬性、所在聚類和類型分別為xi、y和z,得到
p=(y,[x1,x2,…],z)
(9)
在低溫?zé)崮苡袡C(jī)物循環(huán)發(fā)電系統(tǒng)運(yùn)行過程中,選取的歷史數(shù)據(jù)會(huì)更新為涵蓋多時(shí)間間隔的真實(shí)數(shù)據(jù),對(duì)于Spark Streaming,這些數(shù)據(jù)會(huì)成為廣播變量并下發(fā)到全部節(jié)點(diǎn)。
2)單位時(shí)間內(nèi)的數(shù)據(jù)向量計(jì)算
依據(jù)系統(tǒng)實(shí)時(shí)性需求計(jì)算單位時(shí)間內(nèi)的有效電壓、電流和發(fā)電量,將其作為熱能發(fā)電數(shù)據(jù)的特征量。結(jié)合其他相關(guān)信息,得到數(shù)據(jù)點(diǎn)向量。
利用電流值描述發(fā)電特征[13],設(shè)有效電流值為Ie,采樣周期和采樣時(shí)刻分別為T和i(T),得到
(10)
通過Spark Streaming對(duì)時(shí)間間隔內(nèi)采集到的數(shù)據(jù)點(diǎn)進(jìn)行計(jì)算并輸出向量,計(jì)算分為兩個(gè)部分,分別為Map和Reduce[14],其中Map部分用來(lái)解析數(shù)據(jù),獲取需求數(shù)據(jù);Reduce用來(lái)進(jìn)行數(shù)據(jù)規(guī)約,對(duì)數(shù)據(jù)進(jìn)行合并分類,輸出向量。
3)Streaming DBSCAN
實(shí)時(shí)檢測(cè)輸出的發(fā)電數(shù)據(jù)向量聚類特征,以便識(shí)別其中存在的異常數(shù)據(jù),將其用于低溫?zé)崮苡袡C(jī)物循環(huán)發(fā)電系統(tǒng)的問題判斷。發(fā)電數(shù)據(jù)的聚類特征表現(xiàn)在橫向與縱向上[15],橫向?yàn)橄嗨瓢l(fā)電廠,縱向?yàn)闅v史數(shù)據(jù)。聚類特征分為個(gè)體與群體特征,個(gè)體聚類特征為某發(fā)電廠一天的發(fā)電信息和歷史發(fā)電信息之間會(huì)呈現(xiàn)相似特性[16];群體聚類特征為對(duì)于相似的發(fā)電廠,發(fā)電特征會(huì)呈現(xiàn)相似性。在樣本集中數(shù)據(jù)數(shù)量滿足條件時(shí)[17],若某一發(fā)電廠發(fā)電信息與其歷史信息或與相似發(fā)電廠的信息不相符,則該發(fā)電信息可能有問題出現(xiàn),需要對(duì)其重點(diǎn)觀察。對(duì)異常數(shù)據(jù)的判斷主要通過橫向與縱向上是否表現(xiàn)出聚類特征,若表現(xiàn)出聚類特征,則正常,反之,異常。
4)獲取異常數(shù)據(jù)
采用根據(jù)歷史數(shù)據(jù)獲取的延遲因子將最近的時(shí)間間隔內(nèi)的數(shù)據(jù)建立為訓(xùn)練集,重復(fù)以上步驟,完成異常數(shù)據(jù)的檢測(cè)。
為了驗(yàn)證基于DBSCAN聚類的熱能發(fā)電大數(shù)據(jù)異常檢測(cè)模型的有效性,需要對(duì)其檢測(cè)能力進(jìn)行測(cè)試。
分別以誤報(bào)率、檢測(cè)率和漏報(bào)率為指標(biāo)對(duì)所提方法、文獻(xiàn)[3]方法和文獻(xiàn)[4]方法進(jìn)行如下測(cè)試,每項(xiàng)指標(biāo)進(jìn)行5次不同實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如下:
1)誤報(bào)率測(cè)試
對(duì)所提方法、文獻(xiàn)[3]方法和文獻(xiàn)[4]方法進(jìn)行誤報(bào)率測(cè)試,測(cè)試結(jié)果如圖1所示。
圖1 誤報(bào)率檢測(cè)結(jié)果
由圖1可以看出,采用所提方法、文獻(xiàn)[3]方法和文獻(xiàn)[4]方法建立的模型對(duì)發(fā)電大數(shù)據(jù)異常值進(jìn)行檢測(cè)時(shí),所提方法的整體誤報(bào)率均低于文獻(xiàn)[3]方法和文獻(xiàn)[4]方法,在第5組實(shí)驗(yàn)中,所提方法、文獻(xiàn)[3]方法和文獻(xiàn)[4]方法的誤差率均有升高,但所提方法依舊低于文獻(xiàn)[3]方法和文獻(xiàn)[4]方法,因?yàn)樗岱椒ㄔ趯?duì)異常值檢測(cè)前通過時(shí)間序列模型對(duì)原始發(fā)電大數(shù)據(jù)進(jìn)行了數(shù)據(jù)序列異常值的分析與修復(fù),使數(shù)據(jù)更為精確,更具有代表性。從而降低了所提方法的誤報(bào)率。
2)檢測(cè)率測(cè)試
對(duì)所提方法、文獻(xiàn)[3]方法和文獻(xiàn)[4]方法進(jìn)行檢測(cè)率測(cè)試,測(cè)試結(jié)果如圖2所示。
圖2 檢測(cè)率檢測(cè)結(jié)果
由圖2可以看出,所提方法在5次實(shí)驗(yàn)中的檢測(cè)率均高于文獻(xiàn)[3]方法和文獻(xiàn)[4]方法,說(shuō)明所提方法對(duì)熱能發(fā)電大數(shù)據(jù)檢測(cè)的覆蓋面更廣,對(duì)數(shù)據(jù)的利用性更高,更有助于獲取到準(zhǔn)確的發(fā)電異常值。
3)漏報(bào)率測(cè)試
對(duì)所提方法、文獻(xiàn)[3]方法和文獻(xiàn)[4]方法進(jìn)行漏報(bào)率測(cè)試,測(cè)試結(jié)果如圖3所示。
圖3 漏報(bào)率檢測(cè)結(jié)果
由圖3可以看出,所提方法的漏報(bào)率較為穩(wěn)定且始終低于文獻(xiàn)[3]方法和文獻(xiàn)[4]方法,說(shuō)明所提方法在熱能發(fā)電大數(shù)據(jù)檢測(cè)中的有效性更強(qiáng)。
利用所提方法對(duì)熱能發(fā)電大數(shù)據(jù)異常值進(jìn)行檢測(cè),檢測(cè)結(jié)果如圖4所示。
圖4 異常值檢測(cè)結(jié)果
由圖4可以看出,采用所提方法共獲取到7個(gè)發(fā)電異常值,與發(fā)電廠發(fā)電的實(shí)際情況相吻合,說(shuō)明所提方法對(duì)發(fā)電大數(shù)據(jù)異常情況的檢測(cè)具有較高的可靠性。
低溫?zé)崮苡袡C(jī)物循環(huán)發(fā)電系統(tǒng)的不斷優(yōu)化促使電力數(shù)據(jù)量的不斷增加,對(duì)熱能發(fā)電大數(shù)據(jù)進(jìn)行挖掘研究并建立異常檢測(cè)模型變得至關(guān)重要。為了解決熱能發(fā)電大數(shù)據(jù)異常檢測(cè)存在誤報(bào)率高、檢測(cè)率低和漏報(bào)率高的問題,提出了基于DBSCAN聚類的熱能發(fā)電大數(shù)據(jù)異常檢測(cè)模型,將預(yù)處理后的原始發(fā)電大數(shù)據(jù)通過Streaming DBSCAN算法完成異常值的獲取,解決了誤報(bào)率和漏報(bào)率高的問題,提高了異常數(shù)據(jù)檢測(cè)率,對(duì)保障低溫?zé)崮苡袡C(jī)物循環(huán)發(fā)電系統(tǒng)穩(wěn)定運(yùn)行具有重要的意義。