本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別是涉及一種異常檢測方法及裝置。
背景技術(shù):
當(dāng)今社會(huì)經(jīng)濟(jì)正處于持續(xù)快速發(fā)展的階段,人類社會(huì)生產(chǎn)活動(dòng)對(duì)穩(wěn)定的電力供應(yīng)的依賴越來越強(qiáng)。因此保證電網(wǎng)穩(wěn)定運(yùn)行顯得尤為重要。為了保證電網(wǎng)穩(wěn)定運(yùn)行,其中一個(gè)主要的方面即為能夠及時(shí)發(fā)現(xiàn)電網(wǎng)中的故障,防止整個(gè)電網(wǎng)的失穩(wěn)導(dǎo)致大面積停電事故的發(fā)生。由此可見,如何及時(shí)檢測電網(wǎng)故障,以保障電網(wǎng)安全穩(wěn)定運(yùn)行十分重要。
現(xiàn)有的異常檢測方法,主要依賴電力系統(tǒng)專業(yè)人員通過大量計(jì)算、分析來評(píng)估電網(wǎng)異常。這種方法不僅消耗大量的人力,而且隨著電網(wǎng)格局愈加復(fù)雜,電力系統(tǒng)運(yùn)行數(shù)據(jù)大量產(chǎn)生,從而導(dǎo)致異常檢測效率較低。因此,如何減少電力系統(tǒng)異常檢測工作中的人工工作量,提高異常檢測效率,是一個(gè)亟待解決的技術(shù)難題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例公開了一種電網(wǎng)異常檢測方法及裝置,以提高異常檢測效率。
為達(dá)到上述目的,本發(fā)明實(shí)施例提供了一種異常檢測方法,所述方法包括:
獲得電網(wǎng)系統(tǒng)的目標(biāo)時(shí)間序列數(shù)據(jù),并將所述目標(biāo)時(shí)間序列數(shù)據(jù)轉(zhuǎn)換成第一矩陣;
將所述第一矩陣輸入到預(yù)先訓(xùn)練得到的編解碼模型中,獲得第二矩陣;
計(jì)算所述第二矩陣相對(duì)于所述第一矩陣的第一誤差,并在所述第一誤差超出預(yù)設(shè)的誤差范圍時(shí),確定所述目標(biāo)時(shí)間序列數(shù)據(jù)為異常序列數(shù)據(jù)。
可選的,所述獲得電網(wǎng)系統(tǒng)的目標(biāo)時(shí)間序列數(shù)據(jù)的步驟,包括:
采集預(yù)設(shè)時(shí)長內(nèi)的電網(wǎng)系統(tǒng)的第一數(shù)據(jù),并將所述第一數(shù)據(jù)轉(zhuǎn)換成第二數(shù)據(jù),其中,所述第一數(shù)據(jù)為電壓幅值和電壓相角值,第二數(shù)據(jù)為實(shí)電壓和虛電壓;
將所述第二數(shù)據(jù)組合成所述目標(biāo)時(shí)間序列數(shù)據(jù)。
可選的,所述編解碼模型包括編碼器模型和解碼器模型,其中,所述編碼器模型和所述解碼器模型均為循環(huán)神經(jīng)網(wǎng)絡(luò)模型。
可選的,預(yù)先訓(xùn)練所述編解碼模型的步驟包括:
獲取正常時(shí)間序列數(shù)據(jù);
將所述正常時(shí)間序列數(shù)據(jù)作為訓(xùn)練樣本,輸入到初始編碼器模型,獲得初始編碼器模型隱含層的初始狀態(tài)值;
將所述初始狀態(tài)值輸入到初始解碼器模型,得到滿足訓(xùn)練結(jié)束條件的編解碼模型。
可選的,預(yù)先設(shè)定所述誤差范圍的步驟包括:
獲取正常時(shí)間序列數(shù)據(jù),并將所述正常時(shí)間序列數(shù)據(jù)轉(zhuǎn)換成第三矩陣;
將所述第三矩陣輸入到所述編解碼模型中,獲得第四矩陣;
計(jì)算所述第四矩陣相對(duì)于所述第三矩陣的第二誤差;
獲得所述第二誤差服從正態(tài)分布的平均值和方差,并設(shè)定所述誤差范圍為:μ±3Σ;
其中,μ為所述平均值,Σ為所述方差。
為達(dá)到上述目的,本發(fā)明實(shí)施例還提供了一種異常檢測裝置,所述裝置包括:
第一轉(zhuǎn)換模塊,用于獲得電網(wǎng)系統(tǒng)的目標(biāo)時(shí)間序列數(shù)據(jù),并將所述目標(biāo)時(shí)間序列數(shù)據(jù)轉(zhuǎn)換成第一矩陣;
第一獲得模塊,用于將所述第一矩陣輸入到預(yù)先訓(xùn)練得到的編解碼模型中,獲得第二矩陣;
確定模塊,用于計(jì)算所述第二矩陣相對(duì)于所述第一矩陣的第一誤差,并在所述第一誤差超出預(yù)設(shè)的誤差范圍時(shí),確定所述目標(biāo)時(shí)間序列數(shù)據(jù)為異常序列數(shù)據(jù)。
可選的,所述第一轉(zhuǎn)換模塊,包括:
采集子模塊,用于采集預(yù)設(shè)時(shí)長內(nèi)的電網(wǎng)系統(tǒng)的第一數(shù)據(jù),并將所述第一數(shù)據(jù)轉(zhuǎn)換成第二數(shù)據(jù),其中,所述第一數(shù)據(jù)為電壓幅值和電壓相角值,第二數(shù)據(jù)為實(shí)電壓和虛電壓;
轉(zhuǎn)換子模塊,用于將所述第二數(shù)據(jù)組合成所述目標(biāo)時(shí)間序列數(shù)據(jù),并將所述目標(biāo)時(shí)間序列數(shù)據(jù)轉(zhuǎn)換成第一矩陣。
可選的,所述編解碼模型包括編碼器模型和解碼器模型,其中,所述編碼器模型和所述解碼器模型均為循環(huán)神經(jīng)網(wǎng)絡(luò)模型。
可選的,所述裝置還包括:
獲取模塊,用于獲取正常時(shí)間序列數(shù)據(jù);
訓(xùn)練模塊,將所述正常時(shí)間序列數(shù)據(jù)作為訓(xùn)練樣本,輸入到初始編碼器模型,獲得初始編碼器模型隱含層的初始狀態(tài)值;
第二獲得模塊,用于將所述初始狀態(tài)值輸入到初始解碼器模型,得到滿足訓(xùn)練結(jié)束條件的編解碼模型。
可選的,所述裝置還包括:
第二轉(zhuǎn)換模塊,用于獲取正常時(shí)間序列數(shù)據(jù),并將所述正常時(shí)間序列數(shù)據(jù)轉(zhuǎn)換成第三矩陣;
第三獲得模塊,用于將所述第三矩陣輸入到所述編解碼模型中,獲得第四矩陣;
計(jì)算模塊,用于計(jì)算所述第四矩陣相對(duì)于所述第三矩陣的第二誤差;
設(shè)定模塊,用于獲得所述第二誤差服從正態(tài)分布的平均值和方差,并設(shè)定所述誤差范圍為:μ±3Σ;
其中,μ為所述平均值,Σ為所述方差。
由上述的技術(shù)方案可見,本發(fā)明實(shí)施例提供的異常檢測方法及裝置,可以獲得電網(wǎng)系統(tǒng)的目標(biāo)時(shí)間序列數(shù)據(jù),并將目標(biāo)時(shí)間序列數(shù)據(jù)轉(zhuǎn)換成第一矩陣;然后將第一矩陣輸入到預(yù)先訓(xùn)練得到的編解碼模型中,獲得第二矩陣,之后計(jì)算第二矩陣相對(duì)于所述第一矩陣的第一誤差,并在第一誤差超出預(yù)設(shè)的誤差范圍時(shí),確定目標(biāo)時(shí)間序列數(shù)據(jù)為異常序列數(shù)據(jù)。應(yīng)用本發(fā)明實(shí)施例,利用預(yù)先訓(xùn)練得到的編解碼模型檢測異常,減少了電力系統(tǒng)異常檢測工作中的人工工作量,提高了異常檢測效率。
當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種異常檢測方法的流程示意圖;
圖2為本發(fā)明實(shí)施例提供的一種異常檢測裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開了一種異常檢測方法及裝置,以下分別進(jìn)行詳細(xì)說明。
參見圖1,圖1為本發(fā)明實(shí)施例提供的一種異常檢測方法的流程示意圖,包括如下步驟:
S101,獲得電網(wǎng)系統(tǒng)的目標(biāo)時(shí)間序列數(shù)據(jù),并將目標(biāo)時(shí)間序列數(shù)據(jù)轉(zhuǎn)換成第一矩陣。
本發(fā)明實(shí)施例提供的方法可以應(yīng)用于電網(wǎng)系統(tǒng)的中央控制節(jié)點(diǎn)。具體地,中央控制節(jié)點(diǎn)為可以獲得電網(wǎng)系統(tǒng)中各個(gè)節(jié)點(diǎn)的時(shí)間序列數(shù)據(jù),并可以對(duì)時(shí)間序列數(shù)據(jù)進(jìn)行分析處理的節(jié)點(diǎn)。中央控制節(jié)點(diǎn)的型號(hào)可以根據(jù)用戶需求設(shè)定,本發(fā)明對(duì)此不作限定。
具體的,中央控制節(jié)點(diǎn)獲得電網(wǎng)系統(tǒng)的目標(biāo)時(shí)間序列數(shù)據(jù)的步驟可以為:采集預(yù)設(shè)時(shí)長內(nèi)的電網(wǎng)系統(tǒng)的第一數(shù)據(jù),并將第一數(shù)據(jù)轉(zhuǎn)換成第二數(shù)據(jù),其中,第一數(shù)據(jù)可以為電壓幅值和電壓相角值,第二數(shù)據(jù)可以為實(shí)電壓和虛電壓;將第二數(shù)據(jù)組合成目標(biāo)時(shí)間序列數(shù)據(jù)。
需要說明的是,中央控制節(jié)點(diǎn)采集的第一數(shù)據(jù)可以是各個(gè)節(jié)點(diǎn)的電壓幅值和電壓相角值,然后令采集到的電壓幅值為v,電壓相角值為θ,利用公式vr=vcosθ,vi=vsinθ,將其轉(zhuǎn)換為實(shí)電壓vr和虛電壓vi的形式,以此將第一數(shù)據(jù)轉(zhuǎn)換成第二數(shù)據(jù),保留了采集數(shù)據(jù)的全部信息。
由于第二數(shù)據(jù)由實(shí)電壓和虛電壓組成,而實(shí)電壓和虛電壓的取值范圍相同,因此,將第一數(shù)據(jù)轉(zhuǎn)換成第二數(shù)據(jù)消除了電壓幅值與電壓相角值取值范圍不一致帶來的缺點(diǎn),使得第二數(shù)據(jù)各個(gè)特征的權(quán)重不受取值范圍的影響。并且,可以將預(yù)設(shè)時(shí)長內(nèi)的預(yù)設(shè)數(shù)量個(gè)第二數(shù)據(jù)組合成目標(biāo)時(shí)間序列數(shù)據(jù),并將目標(biāo)時(shí)間序列數(shù)據(jù)轉(zhuǎn)換成第一矩陣,第二數(shù)據(jù)的維數(shù)為:節(jié)點(diǎn)個(gè)數(shù)*特征個(gè)數(shù);第一矩陣的維數(shù)為:第二數(shù)據(jù)的維數(shù)*預(yù)設(shè)數(shù)量。
示例性的,電力系統(tǒng)采用IEEE39節(jié)點(diǎn)的電網(wǎng)拓?fù)浣Y(jié)構(gòu),采集到的第一數(shù)據(jù)是39個(gè)節(jié)點(diǎn)的電壓幅值和電壓相角值,第二數(shù)據(jù)為39個(gè)節(jié)點(diǎn)的實(shí)電壓和虛電壓,則第二數(shù)據(jù)的特征個(gè)數(shù)為2,第二數(shù)據(jù)的維數(shù)為39*2=78,采集時(shí)間長度為10個(gè)時(shí)刻的第二數(shù)據(jù),t5時(shí)刻的采集的第二數(shù)據(jù)是x(5),x(5)是78維向量,則第一矩陣為X={x(1),x(2),…,x(10)},并且第一矩陣的維數(shù)為:78*10。
由此可見,本發(fā)明實(shí)施例可以將整個(gè)電網(wǎng)系統(tǒng)的各個(gè)節(jié)點(diǎn)的時(shí)間序列數(shù)據(jù),整合成多維的時(shí)間序列數(shù)據(jù)。因此,本發(fā)明實(shí)施例提供的異常檢測方法不僅可以適用于單維時(shí)間序列,還可以適用于多維時(shí)間序列。
S102,將第一矩陣輸入到預(yù)先訓(xùn)練得到的編解碼模型中,獲得第二矩陣。
具體的,編解碼模型包括編碼器模型和解碼器模型,其中,編碼器模型和解碼器模型均為循環(huán)神經(jīng)網(wǎng)絡(luò)模型。中央控制節(jié)點(diǎn)預(yù)先訓(xùn)練編解碼模型的步驟可以為:獲取正常時(shí)間序列數(shù)據(jù);將正常時(shí)間序列數(shù)據(jù)作為訓(xùn)練樣本,輸入到初始編碼器模型,獲得初始編碼器模型隱含層的初始狀態(tài)值;將初始狀態(tài)值輸入到初始解碼器模型,得到滿足訓(xùn)練結(jié)束條件的編解碼模型。
在本發(fā)明實(shí)施例中,將正常時(shí)間序列數(shù)據(jù)作為訓(xùn)練樣本,輸入初始的編碼器模型,獲得編碼器模型隱含層的狀態(tài)值,然后解碼器模型獲得編碼器模型隱含層的狀態(tài)值,并經(jīng)過反復(fù)訓(xùn)練,可以得到滿足訓(xùn)練結(jié)束條件的循環(huán)神經(jīng)網(wǎng)絡(luò),將滿足訓(xùn)練結(jié)束條件的循環(huán)神經(jīng)網(wǎng)絡(luò)作為編解碼模型。訓(xùn)練結(jié)束條件可以根據(jù)用戶需求設(shè)定,本發(fā)明實(shí)施例對(duì)此不做限定。編解碼模型接收的輸入值經(jīng)過編碼器模型和解碼器模型的共同作用,可以獲得輸出值,從而,將第一矩陣輸入到編解碼模型中,可以獲得編解碼模型輸出的第二矩陣。
正常情況下,在電網(wǎng)系統(tǒng)收集的大量數(shù)據(jù)中,只有小部分的數(shù)據(jù)是異常數(shù)據(jù)?,F(xiàn)有的基于機(jī)器學(xué)習(xí)算法的異常檢測方法,需要正負(fù)訓(xùn)練樣本的比例近似相等。在不相等的情況下,則需要通過過采樣或欠采樣等手段來達(dá)到樣本的均衡,而這種做法往往會(huì)過分加重某些特征的權(quán)重或造成某些重要信息的損失,使得異常檢測效果不佳。本發(fā)明實(shí)施例在模型訓(xùn)練過程中只需要正常的樣本,解決了正負(fù)樣本不均衡的問題。
在本發(fā)明實(shí)施例中,循環(huán)神經(jīng)網(wǎng)絡(luò)可以由輸入層、隱含層和輸出層組成,輸入層神經(jīng)元的個(gè)數(shù)為第一矩陣中第二數(shù)據(jù)的個(gè)數(shù),輸出神經(jīng)元的個(gè)數(shù)與輸入層神經(jīng)元的個(gè)數(shù)相同,一般來說,循環(huán)神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確性主要受隱含層影響,隱含層的合理設(shè)計(jì)是構(gòu)建循環(huán)神經(jīng)網(wǎng)絡(luò)的關(guān)鍵。
本發(fā)明實(shí)施例的隱含層結(jié)構(gòu)可以采用LSTM(Long Short-Term Memory,長短時(shí)記憶)結(jié)構(gòu)或GRU(Gated Recurrent Unit,門控循環(huán)單元)結(jié)構(gòu),也可以由tanh(Hyperbolic tangent function,雙曲正切)函數(shù),或者sigmoid函數(shù),或者relu(Rectified linear unit,修正線性單元)函數(shù)等激活函數(shù)構(gòu)成的隱含層結(jié)構(gòu)。
一般來說,LSTM結(jié)構(gòu)與GRU結(jié)構(gòu)更加適用于時(shí)間序列長度較長的情況。優(yōu)選的,本發(fā)明實(shí)施例可以選擇LSTM結(jié)構(gòu)或GRU結(jié)構(gòu)來構(gòu)建隱含層結(jié)構(gòu),編碼器模型循環(huán)神經(jīng)網(wǎng)絡(luò)的隱含層結(jié)構(gòu)可以是LSTM結(jié)構(gòu)或者GRU結(jié)構(gòu),解碼器模型循環(huán)神經(jīng)網(wǎng)絡(luò)的隱含層結(jié)構(gòu)可以是LSTM結(jié)構(gòu)或者GRU結(jié)構(gòu),編碼器模型和解碼器模型中的隱含層結(jié)構(gòu)可以相同也可以不同。并且,解碼器模型中的隱含層的初始狀態(tài)值可以由編碼器模型的各個(gè)隱含層的狀態(tài)值的加權(quán)值決定,因此,可以最大可能的保留第一矩陣的所有有用的信息。
LSTM結(jié)構(gòu)由三個(gè)特殊的門組成隱含層單元,分別為輸入門、忘記門和輸出門。輸入門決定輸入層傳輸?shù)诫[含層的信息,忘記門決定之前學(xué)習(xí)到的信息將被存儲(chǔ)的時(shí)間,輸出門決定隱含層傳輸?shù)捷敵鰧拥男畔?。采用LSTM結(jié)構(gòu)時(shí),隱含層的狀態(tài)值的計(jì)算公式為:
h(i)=o*δ(c(i))
其中,
o=σ(x(i)Uo+h(i-1)Wo+bo);f=σ(x(i)Uf+h(i-1)Wf+bf);
i=σ(x(i)Ui+h(i-1)Wi+bi);
其中,x(i)表示ti時(shí)刻的輸入值,h(i)表示ti時(shí)刻隱含層的狀態(tài)值,o表示輸出門的狀態(tài)值,f表示忘記門的狀態(tài)值,i表示輸入門的狀態(tài)值,σ()表示更新狀態(tài)的激活函數(shù),δ()示計(jì)算狀態(tài)的激活函數(shù),Uc表示輸入層到記憶單元的連接邊的權(quán)重矩陣,Uo表示輸入層到輸出門的連接邊的權(quán)重矩陣,Uf表示輸入層到忘記門的連接邊的權(quán)重矩陣,Ui表示輸入層到輸入門的連接邊的權(quán)重矩陣,Wc表示記憶單元自連接邊的權(quán)值矩陣,Wo表示輸出門自連接邊的權(quán)值矩陣,Wf表示忘記門自連接邊的權(quán)值矩陣,Wi表示輸入門自連接邊的權(quán)值矩陣,bc表示記憶單元的偏置向量,bo表示輸出門的偏置向量,bf表示忘記門的偏置向量,bi表示輸入門的偏置向量。
GRU結(jié)構(gòu)由兩個(gè)特殊的門組成隱含層單元,分別為重置門和更新門。重置門過濾掉之前不相干的隱含層的狀態(tài)信息。更新門決定之前的隱含層的狀態(tài)將會(huì)傳輸?shù)浆F(xiàn)在的隱含層的狀態(tài)的信息。采用GRU結(jié)構(gòu)時(shí),隱含層的狀態(tài)值的計(jì)算公式為:
其中,
z=σ(x(i)Uz+h(i-1)Wz+bz);
其中,x(i)表示ti時(shí)刻的輸入值,h(i)表示ti時(shí)刻隱含層的狀態(tài)值,z表示更新門的狀態(tài)值,r表示重置門的狀態(tài)值,表示ti時(shí)刻記憶單元的狀態(tài)值,h(i-1)表示ti-1時(shí)刻隱含層的狀態(tài)值,Uh表示輸入層到記憶單元的連接邊的權(quán)重矩陣,Ur表示輸入層到重置門的連接邊的權(quán)重矩陣,Uz表示輸入層到更新門的連接邊的權(quán)重矩陣,Wh表示記憶單元自連接邊的權(quán)值矩陣,Wr表示重置門自連接邊的權(quán)值矩陣,Wz表示更新門自連接邊的權(quán)值矩陣,bh表示記憶單元的偏置向量,br表示重置門的偏置向量,bz表示更新門的偏置向量,σ()表示更新狀態(tài)的激活函數(shù),φ()表示計(jì)算狀態(tài)的激活函數(shù)。
僅采用激活函數(shù)時(shí),隱含層的狀態(tài)值的計(jì)算公式為:
h(i)=φ(Wh(i-1)+Ux(i)+b)
其中,x(i)表示ti時(shí)刻的輸入值,h(i)表示ti時(shí)刻隱含層的狀態(tài)值,W表示隱含層自連接邊的權(quán)值矩陣,h(i-1)表示ti-1時(shí)刻隱含層的狀態(tài)值,U表示輸入層到隱含層的連接邊的權(quán)重矩陣,b表示隱含層的偏置向量,φ()表示隱含層的激活函數(shù)。
示例性的,輸入層的輸入向量為第一矩陣X={x(1),x(2),…,x(L)},x(i)表示ti時(shí)刻的輸入值,輸出層的輸出向量為第二矩陣X′={x′(1),x′(2),…,x′(L)},x′(i)表示ti時(shí)刻的輸出值,編碼器模型和隱含層模型都采用激活函數(shù),則編碼器模型的隱含層的狀態(tài)值可以為:
其中,表示ti時(shí)刻的編碼器模型的隱含層狀態(tài)值,Wencodet表示編碼器模型的隱含層自連接邊的權(quán)值矩陣,表示ti-1時(shí)刻編碼器模型的隱含層狀態(tài)值,Uencoder表示輸入層到編碼器模型的隱含層的連接邊的權(quán)重矩陣,bencoder表示編碼器模型的隱含層偏置向量,φ()表示編碼器模型的隱含層的激活函數(shù),可以為tanh函數(shù),或者sigmoid函數(shù),或者relu函數(shù)等。
需要說明的是,編碼器模型隱含層的維度可以根據(jù)用戶需求定義,假設(shè)編碼器模型隱含層的維度為m,則是m維向量。的狀態(tài)值受ti時(shí)刻的輸入值x(i)和ti-1時(shí)刻隱含層狀態(tài)值影響。在實(shí)際應(yīng)用中,一般采用隨機(jī)初始化的方法獲得Wencoder、Uencoder以及bencoder。
初始時(shí)刻編碼器隱含層的狀態(tài)值為:
第一時(shí)刻的隱含層的狀態(tài)值為:
第二時(shí)刻的隱含層的狀態(tài)值為:
依次類推,可以獲得各個(gè)時(shí)刻編碼器模型隱含層的狀態(tài)值。
解碼器模型的隱含層的狀態(tài)值可以為:
其中,表示tn時(shí)刻解碼器模型的隱含層狀態(tài)值,α(i)表示的權(quán)重值。
根據(jù)計(jì)算輸出值,計(jì)算公式可以為:
其中,A表示解碼器模型的隱含層自連接邊的權(quán)值矩陣,b表示解碼器模型的隱含層的偏置向量。
然后由后向前更新解碼器模型的隱含層的狀態(tài)值,計(jì)算公式如下:
其中,表示ti時(shí)刻的解碼器模型的隱含層的狀態(tài)值,Wdecoder表示解碼器模型的隱含層自連接邊的權(quán)值矩陣,表示ti+1時(shí)刻的解碼器模型的隱含層的狀態(tài)值,Udecoder表示輸出層到解碼器模型的隱含層的連接邊的權(quán)重矩陣,bdecoder表示解碼器模型的隱含層偏置向量,表示解碼器模型的隱含層的激活函數(shù),可以為tanh函數(shù),或者sigmoid函數(shù),或者relu函數(shù)等。
從而,根據(jù)計(jì)算ti時(shí)刻的輸出值為:
其中,A表示解碼器模型的隱含層自連接邊的權(quán)值矩陣,b表示解碼器模型的隱含層的偏置向量。
S103,計(jì)算第二矩陣相對(duì)于第一矩陣的第一誤差,并在第一誤差超出預(yù)設(shè)的誤差范圍時(shí),確定目標(biāo)時(shí)間序列數(shù)據(jù)為異常序列數(shù)據(jù)。
具體的,中央控制節(jié)點(diǎn)預(yù)先設(shè)定誤差范圍的步驟可以為:獲取正常時(shí)間序列數(shù)據(jù),并將正常時(shí)間序列數(shù)據(jù)轉(zhuǎn)換成第三矩陣;將第三矩陣輸入到編解碼模型中,獲得第四矩陣;計(jì)算第四矩陣相對(duì)于第三矩陣的第二誤差;獲得第二誤差服從正態(tài)分布的平均值和方差,并設(shè)定誤差范圍為:μ±3Σ;其中,μ為平均值,Σ為方差。
需要說明的是,可以預(yù)先定義誤差的計(jì)算公式為:e(i)=|x(i)-x′(i)|,其中,x(i)表示ti時(shí)刻的輸入值,x′(i)表示ti時(shí)刻的輸出值,當(dāng)輸入為第一矩陣,輸出為第二矩陣時(shí),可以根據(jù)誤差的計(jì)算公式,計(jì)算第二矩陣相對(duì)于第一矩陣的第一誤差;類似的,當(dāng)輸入為第三矩陣,輸出為第四矩陣時(shí),可以根據(jù)誤差的計(jì)算公式,計(jì)算第四矩陣相對(duì)于第三矩陣的第二誤差。
由于第二誤差能夠反映出正常時(shí)間序列數(shù)據(jù)的誤差分布規(guī)律,假設(shè),第二誤差滿足正態(tài)分布,則可以利用最大似然法估計(jì)第二誤差服從正態(tài)分布的平均值和方差,從而獲得誤差范圍為:μ±3Σ;其中,μ為平均值,Σ為方差。當(dāng)異常的目標(biāo)時(shí)間序列數(shù)據(jù)作為第一矩陣,輸入到編解碼模型中時(shí),其得到的第一誤差必會(huì)不屬于該誤差范圍,因此,可以判斷該目標(biāo)時(shí)間序列數(shù)據(jù)為異常序列數(shù)據(jù)。具體的利用最大似然法估計(jì)第二誤差服從正態(tài)分布的平均值和方差的方法,屬于現(xiàn)有技術(shù),本發(fā)明在此不再贅述。
示例性的,μ為3,Σ為0.2,則誤差范圍為:3±3*0.2,即誤差范圍為:2.4~3.6,如果第一誤差為2.3,則不屬于誤差范圍,則可以確定目標(biāo)時(shí)間序列數(shù)據(jù)為異常序列數(shù)據(jù)。
當(dāng)確定第二矩陣相對(duì)于第一矩陣的第一誤差不屬于預(yù)設(shè)的誤差范圍內(nèi)時(shí),則可以確定目標(biāo)時(shí)間序列數(shù)據(jù)為異常序列數(shù)據(jù),進(jìn)而可以確定電力系統(tǒng)存在異常。
可見,應(yīng)用本發(fā)明實(shí)施例提供的異常檢測方法,利用預(yù)先訓(xùn)練得到的編解碼模型檢測異常,減少了電力系統(tǒng)異常檢測工作中的人工工作量,提高了異常檢測效率。
與上述的方法實(shí)施例相對(duì)應(yīng),本發(fā)明實(shí)施例還提供一種異常檢測裝置。
參見圖2,圖2為本發(fā)明實(shí)施例所提供的一種異常檢測裝置的結(jié)構(gòu)示意圖,包括:
第一轉(zhuǎn)換模塊201,用于獲得電網(wǎng)系統(tǒng)的目標(biāo)時(shí)間序列數(shù)據(jù),并將所述目標(biāo)時(shí)間序列數(shù)據(jù)轉(zhuǎn)換成第一矩陣;
第一獲得模塊202,用于將所述第一矩陣輸入到預(yù)先訓(xùn)練得到的編解碼模型中,獲得第二矩陣;
確定模塊203,用于計(jì)算所述第二矩陣相對(duì)于所述第一矩陣的第一誤差,并在所述第一誤差超出預(yù)設(shè)的誤差范圍時(shí),確定所述目標(biāo)時(shí)間序列數(shù)據(jù)為異常序列數(shù)據(jù)。
應(yīng)用本發(fā)明實(shí)施例提供的異常檢測裝置,利用預(yù)先訓(xùn)練得到的編解碼模型檢測異常,減少了電力系統(tǒng)異常檢測工作中的人工工作量,提高了異常檢測效率。
其中,第一轉(zhuǎn)換模塊201,包括:
采集子模塊(圖中未示出),用于采集預(yù)設(shè)時(shí)長內(nèi)的電網(wǎng)系統(tǒng)的第一數(shù)據(jù),并將所述第一數(shù)據(jù)轉(zhuǎn)換成第二數(shù)據(jù),其中,所述第一數(shù)據(jù)為電壓幅值和電壓相角值,第二數(shù)據(jù)為實(shí)電壓和虛電壓;
轉(zhuǎn)換子模塊(圖中未示出),用于將所述第二數(shù)據(jù)組合成所述目標(biāo)時(shí)間序列數(shù)據(jù),并將所述目標(biāo)時(shí)間序列數(shù)據(jù)轉(zhuǎn)換成第一矩陣。
其中,所述編解碼模型包括編碼器模型和解碼器模型,其中,所述編碼器模型和所述解碼器模型均為循環(huán)神經(jīng)網(wǎng)絡(luò)模型。
其中,所述裝置還包括:
獲取模塊(圖中未示出),用于獲取正常時(shí)間序列數(shù)據(jù);
訓(xùn)練模塊(圖中未示出),將所述正常時(shí)間序列數(shù)據(jù)作為訓(xùn)練樣本,輸入到初始編碼器模型,獲得初始編碼器模型隱含層的初始狀態(tài)值;
第二獲得模塊,用于將所述初始狀態(tài)值輸入到初始解碼器模型,得到滿足訓(xùn)練結(jié)束條件的編解碼模型。
在實(shí)際應(yīng)用中,該裝置還可以包括:
第二轉(zhuǎn)換模塊(圖中未示出),用于獲取正常時(shí)間序列數(shù)據(jù),并將正常時(shí)間序列數(shù)據(jù)轉(zhuǎn)換成第三矩陣;
第三獲得模塊(圖中未示出),用于將第三矩陣輸入到所述編解碼模型中,獲得第四矩陣;
計(jì)算模塊(圖中未示出),用于計(jì)算第四矩陣相對(duì)于所述第三矩陣的第二誤差;
設(shè)定模塊(圖中未示出),用于獲得第二誤差服從正態(tài)分布的平均值和方差,并設(shè)定誤差范圍為:μ±3Σ;
其中,μ為平均值,Σ為方差。
對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施方式中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,這里所稱得的存儲(chǔ)介質(zhì),如:ROM/RAM、磁碟、光盤等。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。