劉建
摘要: 根據大數據的特征即數據量大、維數高,本文提出了基于大數據的高效分布式離群點檢測算法。該種算法就是在數據處理的初級階段,根據計算距離的方法將數據進行精確的計算,并在計算的過程中建立查詢檢測模型,通過模型將數據進行二次檢測;進入離群點檢測的階段,通過大數據模型對其結果進行批量的過濾。最后,就在基于距離的數據與局部數據集驗證相結合的方式去檢驗大數據的實效性與精確度。實驗結果表明,與現有算法相對比,基于距離的算法在一定程度上大大提高了計算的精確率。
關鍵詞:大數據;分布式;離群點檢測;算法;
中圖分類號:G642? ? ? 文獻標識碼:A? ? ? 文章編號:1009-3044(2019)03-0014-02
離群點檢測主要就是為了挖掘數據,使得相關的工作更加有效,通常采用這種檢測方法會發現相關的特異行為數據,這就會提高相關的工作效率,減少不必要的探尋數據的時間。根據對離群點的具體定義表述為離群點就是對應相應的觀察點,如果離群點與其他觀測點的偏離較大,那就有理由懷疑是不是由于機制上的不同而產生的[1]。若是這些偏離的數據與不滿足的數據統一起來可以取一個名稱也就是離群點,離群點也可以稱為孤立點或者異常點。離群點挖掘也就是離群點檢測,這也是為什么要進行數據挖掘的原因,一般來說數據挖掘是一個非常常見的概念,最近幾年使用的也非常廣泛,但是傳統的方法檢測出來的數據總是會產生這樣或者那樣的問題,就使得相關人員對這種檢測方式產生了質疑的態度,但是這種算法又是必不可少,所以,就需要我們對其進行探索,看是否能尋找到更加有效的方式方法。社會上近些年也出現了很多種不同的算法,大眾對其的真實效果褒貶不一。社會基本上給出了一個一般性的意義就是離群點以及離群點的挖掘方法。基于大數據的高效分布式離群點檢測算法,挖掘點的比例相對來說會比較低。基于大數據的高效分布式離群點檢測算法的挖掘方法,雖然能夠解決一些問題,但是參數的敏感度等方面的東西卻有一些局限性。由于基于大數據的高效分布式離群點檢測算法在具體操作中時間的復雜度低以及聚類精度高,這樣就能將不同類型數據聚集在一起,最終目的就是挖掘簇[2]。
1高效分布式離群點檢測算法設計
1.1 基于距離的離群點計算
一般地,給定一個具有d維屬性的數據集P,數據集內的數據點個數為|P|,對于P內任一數據點p,p包括d個可度量的屬性值,記作p=<p[0],P[1],…,p[d-1](為方便描述,后文中認為數據點的各維屬性值均不小于0)[3],那么點p1、p2之間的距離為
[distp1,p2=i∈0,d-1p2i-p1i2]? ? ? ? ? ? ? ? ?(1)
定義1設為Q鄰域,任意實數Q≥0,數據對象為P1的鄰域可以表示為Q(P2-P1 ),則定義為:
Q(P1,P2)={P<I}? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)
定義2? Q(P1,P2)離群點。設定一個正整數i,如果數據點q的r鄰域基數小于k,則q是Q(P1,P2)離群點。
基于距離的離群點計算,根據以上的公式的具體論述可以計算出相對來說比較精準的數據結果,在一定程度上可以提高工作的效率,減少重復驗證結果的過程。本文采用真實數據進行具體的運算,以此來檢測新的算法與傳統算法相比是否更加真實有效,能夠在一定程度上保障檢驗效果的合理性,增強其對民眾的說服力。
1.2實現分布式離群點檢測
如果數據集中至少有pct部分對象與對象o的距離大于DT,則對象o是一個基于距離的關于參數pct和 DT 的離群點,即DB(pct,DT)-Outlier[4]。這里的定義基本上是針對所以數據集的全局離群點。如果k作為用戶所期望的離群點的那個數相同的話,那么其偏離度就會是最大,假如k個對象作為離群點,檢測思路如下:首先確定k個簇,n個數據。然后描述s個離群點使outlierSet =K個相對的離群點集合則賦為空集,采用定義2輸出的簇集合為KCo;當OKCo = KCo時可以存放包含著離群點的候選微聚類的集合,根據計算結果也就是聚類的信息熵;計算出偏離度也就是Doli最大的對象,或者采取按偏離度降序排列的方式將微聚類內的對象表現出來。
然后就依次取出各個元素,要從第一個元素就開始計算,接下來就是計算剩余數據集中的信息也就是熵的值,接下來就是判斷信息熵的值是不是在閾值σ內,如果算出來的值小于σ,那就說明結果不包含離群點,這樣就可以排除掉這類的聚類,要不然就可以對應出相關的離群點然后保存在outlierSet內;
最后輸出在outlierSet 中的s個離群點,然后把可能出現在離群點的聚類中采用基于大數據的高效分布式離群點檢測算法,并將離群點放到入outlierSet中。
經過對全局、局部離群點的分析,基于分布式離群點檢測算法數據實時反饋,結合取樣分析數據及時調整相關數據的輸入輸出,實現基于大數據的高效分布式離群點檢測算法的有效運行[5]。
2實驗數據分析
2.1精準度檢測
為了檢測上述設計的基于距離離群點檢測算法是否真實有效,將其與已有的局部離群點檢測方法進行數據對比。實驗組選擇基于距離的方法,對比組選擇基于局部的方法,進行對比實驗。使用不同的數據進行實驗,先進行基于距離方式的實驗計算,將結果分別記錄,然后再根據傳統的計算方法進行相關結果的計算,結果也需要分別記錄。最后也是最關鍵的一步就是把記錄下來的兩組數據制成表格,對其進行對比,清晰的表示出不同方法所產生的不同結果,具體操作就如表1所示。
從表1的實驗結果可以看出,根據不同方式完成的實驗,結果有明顯的差異,實驗組對應不同的數據,計算精準度基本穩定在80%到90%左右,而對比組的數據計算精準度則基本穩定在70%左右,可以看出實驗組的精準度相對于對比組提高了10%左右,這也就證明了實驗組數據檢測的精準度要遠遠高于對比組。
2.2離群點檢測結果查詢處理
在第一組實驗的基礎上,為了更加清晰的說明實驗組結果與對比組結果的差異,所以進行第二組實驗,在第一組精確度結果的基礎上,再次檢測。實驗時一定要保證實驗數據的精準性,保證數據有證可尋,不能憑空捏造。與第一組實驗步驟有類似之處,也需要將相對應數據結果分別記錄下來,制成表格,填表格時一定要根據實驗步驟一步一步填寫,保證數據的真實有效。表格制作完成之后,將實驗組和對比組的內容進行查詢并二次驗證,效果如表2所示。
根據表2數據可以看出,在實驗一的結果上,進行二次試驗,結果顯示實驗組查詢結果精準度平均維持在90%以上,對比組則一般維持在75%左右,實驗組相對于對比組而言查詢結果準確率提高了15%左右,這一結果將更有利的說明實驗組所采取的檢測方法,相對于對比組采取的傳統方法產生的實際效果更好,這就為之后檢測方法的具體改進給予了一個科學性的論證。
3 結束語
本文通過對基于大數據的高效分布式離群點檢測算法的具體分析,對高效分布式離群點檢測算法在實際工作過程當中的利用以及相關特點進行詳細的論述和實驗的操作,證明了基于大數據的高效分布式離群點檢測算法的必要性和實效性。希望本文的實驗結果對基于大數據的高效分布式離群點檢測算法的進一步發展提供理論上的支持,能夠為高效分布式離群點檢測算法提供一種新的檢測方式,加強相關數據的精確度,減少檢測工作反復驗證的過程。
參考文獻:
[1]? 呂軍暉,周剛,金毅.一種基于時間序列的自適應網絡異常檢測算法[J].北京航空航天大學學報, 2009, 35(5): 636-639.
[2] 魏小濤,黃厚寬,田盛豐.在線自適應網絡異常檢測系統模型與算法[J].計算機研究與發展,2010, 47(3): 485-492.
[3] 李如琦,周媛媛.自適應變異粒子群算法及在輸電網規劃中的應用[J].廣東電力, 2008, 21(12): 18-22.
[4] 薛安榮,鞠時光,何偉華,等.局部離群點挖掘算法研究[J].計算機學報,2007,30( 8):1455-1463.
[5] 江峰,杜軍威,眭躍飛,等.基于邊界和距離的離群點檢測[J].電子學報,2010,38( 3) :700-705.
【通聯編輯:光文玲】