本發(fā)明涉及一種電力信息網(wǎng)絡(luò)流量異常檢測(cè)方法,屬于電力系統(tǒng)技術(shù)領(lǐng)域。
背景技術(shù):
隨著電力信息網(wǎng)絡(luò)規(guī)模不斷擴(kuò)大、復(fù)雜性不斷增加,基于信息網(wǎng)絡(luò)的各類應(yīng)用業(yè)務(wù)也越來越廣泛,產(chǎn)生的數(shù)據(jù)量非常龐大,這就導(dǎo)致網(wǎng)絡(luò)出現(xiàn)異常的可能性大大增加。而且在信息網(wǎng)絡(luò)中,很難找到發(fā)生問題的根源,未被診斷的網(wǎng)絡(luò)異常會(huì)進(jìn)一步傳播并影響網(wǎng)絡(luò)的正常信息傳輸。因此,如何對(duì)網(wǎng)絡(luò)流量進(jìn)行實(shí)時(shí)的監(jiān)測(cè)和評(píng)估,并及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)的異常,對(duì)提高網(wǎng)絡(luò)的穩(wěn)定性和安全性具有重要意義。
目前網(wǎng)絡(luò)異常診斷比較常規(guī)的做法是根據(jù)網(wǎng)絡(luò)運(yùn)行質(zhì)量監(jiān)測(cè)和評(píng)估的指標(biāo)來觀察網(wǎng)絡(luò)的行為規(guī)律,并進(jìn)一步發(fā)現(xiàn)和排除異常。但是目前國內(nèi)針對(duì)電力信息網(wǎng)絡(luò)的流量分析手段處理能力弱,顆粒度大,這些問題造成了電力信息網(wǎng)絡(luò)的數(shù)據(jù)盲視和流量數(shù)據(jù)信息黑洞,同時(shí)在流量飽和或網(wǎng)絡(luò)擁塞等情況發(fā)生時(shí),無法進(jìn)一步對(duì)異常源進(jìn)行深層次排查分析。另外,網(wǎng)絡(luò)管理中心需要處理網(wǎng)絡(luò)中各種各樣的故障信息,這些大多需要?dú)v史經(jīng)驗(yàn)來指導(dǎo),然而龐大的數(shù)據(jù)量不可能都由人工來完成。因此,目前電力信息網(wǎng)急需一種流量問題的預(yù)警機(jī)制,能夠在第一時(shí)間發(fā)現(xiàn)異常,并讓管理中心能快速地通過流量管理手段解決問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決技術(shù)問題是:克服上述技術(shù)的缺點(diǎn)。提供一種更加關(guān)注數(shù)據(jù)的局部性,提高了檢測(cè)精確度的電力信息網(wǎng)絡(luò)流量異常檢查方法。
為了解決上述技術(shù)問題,本發(fā)明提出的技術(shù)方案是:一種電力信息網(wǎng)絡(luò)流量異常檢測(cè)方法,包括如下步驟:
S1、在電力信息網(wǎng)中,通過部署在網(wǎng)絡(luò)節(jié)點(diǎn)上的流量采集設(shè)備采集樣本數(shù)據(jù),采集到的樣本數(shù)據(jù)包括數(shù)據(jù)包包頭各個(gè)字段的信息;
S2、使用離差標(biāo)準(zhǔn)化方法對(duì)采集到的樣本數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,使數(shù)據(jù)都轉(zhuǎn)換為[0,1]區(qū)間上的值;
S3、將上步驟所得到數(shù)據(jù)的集合定義為pj;定義pj中的對(duì)象p與距離它第k近的鄰居的距離為dk(p),則至少有k個(gè)對(duì)象oi,滿足d(oi,p)≤d(ok,p),最多有k-1個(gè)對(duì)象oj,滿足:d(oj,p)<d(ok,p);對(duì)象p的k近鄰定義為表示由所有與對(duì)象p之間距離小于dk(p)的對(duì)象組成的集合,將對(duì)象p到k近鄰的距離求平均,得到p的m距離;計(jì)算公式為:
S4、得到m距離后,定義對(duì)象p的m近鄰:表示所有與p之間距離小于m距離的對(duì)象組成的集合;定義對(duì)象p相對(duì)于對(duì)象o的可達(dá)距離reach_distm(o,p),表示對(duì)象p的m距離和對(duì)象p與o之間距離的最大值;計(jì)算該值,其公式為:reach_distm(p,o)=max{m_dk(o),d(o,p)};
S5、計(jì)算對(duì)象p的局部密度(對(duì)象p的m近鄰集合個(gè)數(shù)除以集合內(nèi)對(duì)象到p的可達(dá)距離和),公式為:
S6、計(jì)算對(duì)象p的局部異常因子(局部異常因子定義為局部密度的倒數(shù)),公式為:
S7、遞歸S1至S6,直到pj中所有對(duì)象均計(jì)算完成;將所得的結(jié)果與設(shè)定閾值進(jìn)行比較,大于閾值的則為異常點(diǎn);將異常點(diǎn)輸出。
上述方案進(jìn)一步的改進(jìn)在于:所述步驟S4中的ε是常量。
上述方案進(jìn)一步的改進(jìn)在于:所述步驟S9中的閾值可以根據(jù)經(jīng)驗(yàn)值給定,也可根據(jù)實(shí)際流量變化進(jìn)行動(dòng)態(tài)調(diào)整。
本發(fā)明提供的電力信息網(wǎng)絡(luò)流量異常檢測(cè)方法,在LOF算法的k距離和k近鄰的基礎(chǔ)上,提出了m距離和m近鄰的概念,并基于m距離和m近鄰對(duì)異常點(diǎn)進(jìn)行檢測(cè),降低傳統(tǒng)的LOF算法的k取值敏感性,更加關(guān)注數(shù)據(jù)的局部性,提高了檢測(cè)精確度;能夠?qū)﹄娏π畔⒕W(wǎng)絡(luò)流量實(shí)時(shí)監(jiān)控,及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)異常。
附圖說明
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說明。
圖1是本發(fā)明實(shí)施例的一個(gè)優(yōu)選的實(shí)施例K取10時(shí)10000個(gè)連續(xù)流量包檢測(cè)結(jié)果。
圖2是本發(fā)明實(shí)施例的一個(gè)優(yōu)選的實(shí)施例K取30時(shí)10000個(gè)連續(xù)流量包檢測(cè)結(jié)果。
圖3是本發(fā)明實(shí)施例的一個(gè)優(yōu)選的實(shí)施例與LOF算法的準(zhǔn)確率比較。
具體實(shí)施方式
實(shí)施例
本實(shí)施例的電力信息網(wǎng)絡(luò)流量異常檢測(cè)方法,包括如下步驟:
S1、在電力信息網(wǎng)中,通過部署在網(wǎng)絡(luò)節(jié)點(diǎn)(網(wǎng)路上的交換機(jī)或者路由器)上的流量采集設(shè)備采集樣本數(shù)據(jù),采集到的數(shù)據(jù)包括數(shù)據(jù)包包頭各個(gè)字段的信息;
S2、從采集到的數(shù)據(jù)中剔除無關(guān)維度的數(shù)據(jù),無關(guān)維度通過經(jīng)驗(yàn)確定,并刪除數(shù)據(jù)中的明顯的異常值;
S3、使用離差標(biāo)準(zhǔn)化方法對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,使數(shù)據(jù)都轉(zhuǎn)換為[0,1]區(qū)間上的值,使用如下公式:
S4、將上步驟所得到的數(shù)據(jù)集合定義為pj;定義pj中的對(duì)象p與距離它第k近的鄰居的距離為dk(p),則至少有k個(gè)對(duì)象oi,滿足d(oi,p)≤d(ok,p),最多有k-1個(gè)對(duì)象oj,滿足:d(oj,p)<d(ok,p);對(duì)象p的k近鄰定義為表示由所有與對(duì)象p之間距離小于dk(p)的對(duì)象組成的集合,將對(duì)象p到k近鄰的距離求平均,得到p的m距離;計(jì)算公式為:公式中ε是用來提高準(zhǔn)確度的常量;
S5、對(duì)象p的m近鄰,針對(duì)m距離,可以得到對(duì)象p的m近鄰:表示所有與p之間距離小于m距離的對(duì)象組成的集合;
S6、對(duì)象p相對(duì)于對(duì)象o的可達(dá)距離reach_distm(p,o),表示p的m距離和p與o之間距離的最大值;計(jì)算該值,其公式為:reach_distm(p,o)=max{m_dk(o),d(o,p)};
S7、計(jì)算對(duì)象p的局部密度(對(duì)象p的m近鄰集合個(gè)數(shù)除以集合內(nèi)對(duì)象到p的可達(dá)距離和),公式為:
S8、計(jì)算對(duì)象p的局部異常因子(局部異常因子定義為局部密度的倒數(shù)),公式為:
S9、遞歸S1至S8,直到pj中所有對(duì)象均計(jì)算完成;將所得的結(jié)果與設(shè)定閾值進(jìn)行比較,大于閾值的則為異常點(diǎn);該閾值可以根據(jù)經(jīng)驗(yàn)值給定,也可根據(jù)實(shí)際流量變化進(jìn)行動(dòng)態(tài)調(diào)整;最后將異常點(diǎn)輸出。
傳統(tǒng)的LOF算法對(duì)算法中鄰居k的取值比較敏感,當(dāng)數(shù)據(jù)量很大時(shí),k如果取值過小,會(huì)將很多比較集中的異常點(diǎn)判斷為正常點(diǎn),k如果取值過大,又會(huì)使正常點(diǎn)受影響被判斷為異常點(diǎn)。而本實(shí)施例提出的M-LOF算法雖然也會(huì)受k值影響,但對(duì)k值的敏感性比LOF降低很多。
如圖1和圖2所示,分別為K取10和30兩種情況下的結(jié)果。在k=10的實(shí)驗(yàn)中,由于異常因子值的均值在2.5左右,95%的數(shù)據(jù)都小于2.5,可以將異常的閾值設(shè)置為2.5,即所有大于2.5的點(diǎn)都判為異常。實(shí)際使用中,閾值的設(shè)置是通過經(jīng)驗(yàn)數(shù)據(jù)來調(diào)整的,為了提高算法召回率可以將門限提高。同樣的方法,在k=30的實(shí)驗(yàn)中,將異常的閾值設(shè)置為5。通過比較發(fā)現(xiàn),在k=30的實(shí)驗(yàn)中,90%的數(shù)據(jù)都在閾值以下,精度要比k=10的實(shí)驗(yàn)低5個(gè)百分點(diǎn)。這表明在k值較大時(shí),會(huì)使小部分正常點(diǎn)被誤判為異常點(diǎn)。所以,在本實(shí)施例中,選用k=10的M-LOF算法作為具體模型。
為了測(cè)試本算法在不同數(shù)據(jù)集時(shí)的準(zhǔn)確度,通過設(shè)置數(shù)據(jù)集的大小,從1000,2000…到9000,10000條數(shù)據(jù)量,對(duì)M-LOF算法和LOF算法的運(yùn)行情況進(jìn)行了分析比較,結(jié)果如圖3所示,數(shù)據(jù)集較小時(shí),兩種方法的準(zhǔn)確率都比較低,這是因?yàn)閿?shù)據(jù)量不夠,各個(gè)數(shù)據(jù)間的距離仍然比較稀疏,基于密度的算法不能從稀疏的數(shù)據(jù)集中很好地區(qū)分異常點(diǎn)和正常點(diǎn)。當(dāng)數(shù)據(jù)集大小大于2000時(shí),雖然隨著數(shù)據(jù)集個(gè)數(shù)的增加,兩種算法的效率都會(huì)下降,但是M-LOF算法的檢測(cè)精度明顯高于傳統(tǒng)的LOF算法,更適合在數(shù)據(jù)量大的網(wǎng)絡(luò)流量數(shù)據(jù)集中作為異常檢測(cè)的算法模型。通過大量的真實(shí)電力信息網(wǎng)流量數(shù)據(jù)驗(yàn)證了上述方法具有較高的準(zhǔn)確率和較低的誤報(bào)率,能快速地對(duì)網(wǎng)絡(luò)中的流量異常發(fā)出提前預(yù)警,從而進(jìn)一步提高網(wǎng)絡(luò)質(zhì)量,增加電力信息網(wǎng)絡(luò)的穩(wěn)定性。
本發(fā)明不局限于上述實(shí)施例所述的具體技術(shù)方案,除上述實(shí)施例外,本發(fā)明還可以有其他實(shí)施方式。凡采用等同替換形成的技術(shù)方案,均為本發(fā)明要求的保護(hù)范圍。