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