Choix d'une valeur k pour l'analyse de détection du facteur local aberrant (LOF)

9

J'ai un ensemble de données tridimensionnelles et j'essaie d'utiliser l'analyse des facteurs aberrants locaux pour identifier les valeurs les plus uniques ou étranges. Comment décide-t-on de la valeur k à utiliser dans l'analyse LOF? Je comprends ce que détermine la valeur k, et je ne suis donc pas surpris de voir des résultats légèrement différents en utilisant différents k, mais je ne suis pas sûr s'il existe des caractéristiques de mon ensemble de données qui devraient me pousser vers une valeur par rapport aux autres . Merci!

Henry D
la source

Réponses:

10

Publier ceci ici pour quiconque rencontrera ma question à l'avenir - l'article original décrivant l'algorithme du facteur de valeurs aberrantes locales, "LOF: Identifying Density-Based Local Outliers" (Breunig et al), recommande une méthode de choix d'une valeur k . Pour rappel, l'algorithme LOF compare la densité de chaque point à la densité de ses voisins les plus proches. Les auteurs de l'article recommandent de choisir un minimum et un maximum , et pour chaque point, en prenant la valeur LOF maximale sur chaque dans cette plage. Ils offrent plusieurs lignes directrices pour choisir les limites.kkkk

Pour la valeur minimale, les valeurs LOF fluctuent de manière sauvage les points dans une distribution uniforme pour , avec des points dans une distribution uniforme apparaissant parfois comme des valeurs aberrantes, ils recommandent donc au moins . Deuxièmement, la valeur minimale sert de taille minimale pour que quelque chose soit considéré comme un "cluster", de sorte que les points peuvent être aberrants par rapport à ce cluster. Si , et que vous avez un groupe de points et un point , chaque point du groupe inclura dans ses voisins les plus proches, et inclura ces points, ce qui les conduira à avoir des LOF très similaires. Donc, si vous voulez considérer un point près d'un groupe dek<10min(k)=10kk=1512pppNdes points comme une valeur aberrante, plutôt qu'une partie de ce groupe, votre valeur k doit être d' au moins .N

Pour la valeur maximale, un critère similaire s'applique, en ce sens qu'il doit s'agir du nombre maximal d'objets que vous souhaitez considérer comme aberrants s'ils sont regroupés. Un groupe de objets isolés de l'ensemble principal peut être un cluster ou valeurs aberrantes; pour , ils seront les premiers; pour , ils seront les seconds.NNk<Nk>N

Espérons que cela aide toute personne ayant un problème similaire. L'article complet est ici , et la discussion des valeurs k max / min commence à la page 7 et passe par la page 9. (Ils se réfèrent à la valeur comme MinPts .)k

Henry D
la source
Je veux juste comprendre une chose. Disons que pour tout ensemble de données, je sélectionne k = 20 et génère une LOF pour chaque point, puis je montre tous les points dans l'ordre décroissant de sa LOF. Maintenant, quand j'analyse les données, je peux choisir la plage jusqu'à laquelle je pense que les données sont une valeur aberrante (selon la connaissance du domaine) Pensez-vous que cela aide? Je viens de moi car maintenant je n'ai plus à me soucier de la valeur de k et j'utilise mes connaissances de domaine pour analyser les valeurs aberrantes selon le classement LOF. Merci,
Swapnil Bhure