Data-Mining
為局部異常值 (LOF) 檢測分析選擇 k 值
我有一組三維數據,我正在嘗試使用局部異常因子分析來識別最獨特或奇怪的值。如何決定在 LOF 分析中使用的 k 值?我了解 k 值所決定的內容,因此對於使用不同的 k 看到的結果略有不同,我並不感到驚訝,但我不確定我的數據集是否有一些特徵應該將我推向一個值而不是其他值. 謝謝!
在這里為將來遇到我的問題的任何人發布此內容 - 描述局部異常值因子算法的原始論文“LOF:識別基於密度的局部異常值”(Breunig 等人)推薦了一種選擇 k 值的方法. 提醒一下,LOF 算法將每個點的密度與其所在的密度進行比較-最近的鄰居。該論文的作者建議選擇最低和一個最大值,並且對於每個點,取每個點的最大 LOF 值在那個範圍內。他們提供了一些選擇界限的指導方針。
對於最小值,LOF 值在均勻分佈的點上劇烈波動,均勻分佈的點有時會顯示為異常值,因此他們至少推薦. 其次,最低-value 用作被視為“集群”的事物的最小大小,因此點可以是相對於該集群的異常值。如果, 你有一組點和點,組中的每個點將包括在其最近的鄰居中,並且將包括這些點,導致它們具有非常相似的 LOF。所以如果你想考慮一組附近的一個點點作為異常值,而不是該組的一部分,您的 k 值應至少為.
對於最大值,應用類似的標準,因為它應該是在聚集在一起時您希望被視為異常值的對象的最大數量。一群與主集隔離的對象可以是一個集群,也可以是異常值;為了,他們將是第一個;為了,他們將是第二個。
希望這可以幫助任何有類似問題的人。完整的論文在這裡,關於最大/最小 k 值的討論從第 7 頁開始,一直到第 9 頁。(他們指的是-值作為MinPts。)