簡體   English   中英

ELKI的LOF實現可用於高度重復的數據

[英]ELKI's LOF implementation for heavily duplicated data

ELKI是否會因為其中包含許多重復值的數據而失敗? 我的文件具有超過200萬個觀測值(1D),但其中僅包含數百個唯一值。 其余的重復。 當我在ELKI中運行此文件以進行LOFLoOP計算時,對於小於頻率最高值出現次數的任何k,它將返回NAN作為離群值。 我可以想象,如果將重復項作為最近的鄰居,則LRD計算一定會導致此問題。 但是不應該這樣做嗎? 我們可以依靠ELKI在這種情況下產生的結果嗎?

與ELKI無關,而與算法有關。

大多數異常值檢測算法使用k個最近的鄰居。 如果這些相同,則值可能有問題。 在LOF中,重復點的鄰居可以獲得異常值的無窮大。 同樣,如果重復項過多,LoOP的異常值得分可能會由於除以0而達到NaN。

但這不是ELKI的問題,而是這些方法的定義 堅持這些定義的任何實現都應表現出這些效果。 有一些方法可以避免/減少影響:

  • 向數據集添加抖動
  • 刪除重復項(但不要考慮高度重復的值離群值!)
  • 增加鄰里規模

如果數據重復,很容易證明在LOF / LoOP方程中確實會出現這種結果。

這些算法的這種限制很可能可以“修復”,但是我們希望ELKI中的實現與原始發布接近,因此我們避免進行未發布的更改。 但是,如果發布了“ LOFdup”方法並為ELKI做出了貢獻,我們顯然會添加它。

請注意,LOF和LoOP都不打算與一維數據一起使用。 對於一維數據,我建議重點關注“傳統”統計文獻 ,例如核密度估計 一維數值數據是特殊的,因為它是有序的 -這既可以進行優化,也可以進行更高級的統計,這將不可行或需要對多元數據進行過多觀察。 LOF和類似方法是非常基礎的統計信息(非常基礎,以至於許多統計學家都會將其完全拒絕為“愚蠢”或“天真”),其主要好處是可以輕松擴展到大型多元數據集。 有時,諸如朴素貝葉斯這樣的朴素方法可以在實踐中很好地起作用。 LOF和LoOP同樣適用:算法中存在一些可疑的決策。 但是它們有效並且可以擴展。 就像朴素貝葉斯一樣,朴素貝葉斯的獨立性假設值得懷疑,但是朴素貝葉斯的分類通常效果很好,並且伸縮性很好。

換句話說,這不是ELKI中的錯誤。 實現執行已發布的內容

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM