Escolhendo um valor-k para a análise de detecção do fator local externo (LOF)

9

Eu tenho um conjunto de dados tridimensionais e estou tentando usar a análise do fator externo externo para identificar os valores mais únicos ou estranhos. Como alguém decide o valor k a ser usado na análise LOF? Entendo o que o valor k determina e, portanto, não estou surpreso por ver resultados ligeiramente diferentes usando k's diferentes, mas não tenho certeza se existem características do meu conjunto de dados que devem me levar a um valor em detrimento de outros. . Obrigado!

Henry D
fonte

Respostas:

10

Postando isso aqui para qualquer pessoa que se deparar com minha pergunta no futuro - o artigo original que descreve o algoritmo de fator de outlier local, "LOF: Identificando Outliers Locais Baseados em Densidade" (Breunig et al), recomenda um método de escolha de um valor-k . Como um lembrete, o algoritmo LOF compara a densidade de cada ponto com a densidade de seus vizinhos -closest. Os autores do artigo recomendam a escolha de um mínimo de e um máximo de , e para cada ponto, assumindo o valor máximo de LOF sobre cada nesse intervalo. Eles oferecem várias diretrizes para escolher os limites.kkkk

Para o valor mínimo, os valores LOF flutuam de forma descontrolada nos pontos em uma distribuição uniforme para , com pontos em uma distribuição uniforme às vezes aparecendo como outliers, portanto, eles recomendam pelo menos . Em segundo lugar, o valor mínimo de serve como um tamanho mínimo para que algo seja considerado um "cluster", para que os pontos possam ser discrepantes em relação a esse cluster. Se e você tiver um grupo de pontos e um ponto , cada ponto no grupo incluirá nos vizinhos mais próximos incluirá esses pontos, levando-os a ter LOFs muito semelhantes. Então, se você quiser considerar um ponto próximo a um grupo dek<10min(k)=10kk=1512pppNpontos como um outlier, em vez de parte desse grupo, o seu valor de k deve ser pelo menos .N

Para o valor máximo, um critério semelhante se aplica, pois deve ser o número máximo de objetos que você deseja que sejam considerados outliers se agrupados. Um grupo de objetos isolados do conjunto principal pode ser um cluster ou outliers; para , eles serão os primeiros; para , eles serão o segundo.NNk<Nk>N

Espero que isso ajude qualquer pessoa com um problema semelhante. O artigo completo está aqui e a discussão dos valores máx / min k começa na página 7 e passa pela página 9. (Eles se referem ao valor como MinPts .)k

Henry D
fonte
Só quero entender uma coisa. Digamos que, para qualquer conjunto de dados, selecione k = 20 e gere LOF para cada ponto e, em seguida, mostro todos os pontos na ordem decrescente de seu LOF. Agora, quando estou analisando os dados, posso escolher o intervalo até o qual acho que os dados são extremos (de acordo com o conhecimento do domínio). Você acha que isso ajuda? Só eu, agora que não preciso me preocupar com o valor de ke estou usando meu conhecimento de domínio para analisar os valores extremos conforme a classificação do LOF. Obrigado,
Swapnil Bhure