为局部离群因子(LOF)检测分析选择k值


9

我有一组三维数据,并且尝试使用局部离群值因子分析来识别最独特或最奇怪的值。如何确定LOF分析中使用的k值?我知道k值决定了什么,因此使用不同的k会看到略有不同的结果,对此我并不感到惊讶,但是我不确定我的数据集是否存在应该将我推向另一个值的特征。 。谢谢!

Answers:


11

将其发布给以后遇到我问题的任何人-描述局部离群值因子算法的原始论文“ LOF:识别基于密度的局部离群值”(Breunig等人)建议了一种选择k值的方法。提醒一下,LOF算法会将每个点的密度与其点的密度进行比较。k-最近的邻居。该论文的作者建议选择一个最小值k 和最大 k,对于每个点,取每个点的最大LOF值 k在那个范围内。他们提供了一些选择边界的准则。

对于最小值,LOF值以均匀分布的形式波动点。 k<10,均匀分布的点有时会显示为离群值,因此他们建议至少 min(k)=10。其次,最低k-value是被视为“群集”的对象的最小大小,因此,相对于该群集,点可以是离群值。如果k=15,并且您有一组 12 点和一点 p,组中的每个点将包括 p 在其最近的邻居中,以及 p将包括这些点,使它们具有非常相似的LOF。因此,如果您要考虑一组附近的点N 点作为离群值,而不是该组的一部分,则您的k值至少应为 N

对于最大值,适用类似的条件,因为它应该是群集在一起时要视为离群值的最大对象数。一群N 与主集合隔离的对象可以是集群,也可以是 N离群值 对于k<N,他们将是第一个;对于k>N,他们将成为第二。

希望这可以帮助任何有类似问题的人。全文在这里,关于最大/最小k值的讨论从第7页开始,直到第9页。(它们指的是k-value作为MinPts。)


只想了解一件事。假设对于任何数据集,我选择k = 20并为每个点生成LOF,然后以其LOF降序显示所有点。现在,当我分析数据时,我可以选择一个范围,直到我认为该数据是一个离群值为止(根据领域的知识),您认为这有帮助吗?我就是我,因为我现在不必担心k的值,并且我正在使用自己的领域知识来根据LOF排名分析异常值。谢谢,
Swapnil Bhure 18/09/25
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.