Detecção de anomalias LOF
Detectar anomalias usando Local Outlier Factor. Utiliza o Local Outlier Factor (LOF) para medir o desvio de densidade local dos pontos de dados em relação aos…
Utiliza o Local Outlier Factor (LOF) para medir o desvio de densidade local dos pontos de dados em relação aos seus vizinhos. Pontos com densidade significativamente menor são classificados como anomalias.
O que é Fator de Outlier Local (LOF)?
O Local Outlier Factor (LOF) é um algoritmo de detecção de anomalias baseado em densidade que identifica valores atípicos comparando a densidade local de um ponto com as densidades de seus vizinhos. Diferentemente dos métodos globais, o LOF consegue detectar valores atípicos em conjuntos de dados com agrupamentos de densidade variável — um ponto pode ser normal em um agrupamento esparso, mas anômalo nas proximidades de um agrupamento denso.
O algoritmo calcula a distância de alcançabilidade e a densidade local de alcançabilidade (LRD) de cada ponto com base em seus k vizinhos mais próximos. O escore LOF é a razão entre a LRD de um ponto e a LRD média de seus vizinhos. LOF ≈ 1 significa densidade semelhante à dos vizinhos (normal); LOF >> 1 significa densidade muito menor (anomalia).
O número de vizinhos (k) controla a localidade: um k pequeno concentra-se na estrutura muito local, enquanto um k grande suaviza o resultado sobre vizinhanças mais amplas. A razão de contaminação determina a fração de pontos classificados como anomalias segundo o ordenamento dos escores LOF.
Formula: reach-dist(A,B) = max(k-dist(B), dist(A,B)) LRD(A) = 1 / (Σ reach-dist(A,Oᵢ) / k) LOF(A) = (Σ LRD(Oᵢ) / LRD(A)) / k LOF ≈ 1: normal, LOF >> 1: outlier
Exemplo de cálculo
Com k=5 vizinhos: o ponto P₁, em um agrupamento denso, tem LRD=10 e seus 5 vizinhos têm LRD média de 9.5. LOF = 9.5/10 = 0.95 (normal). O ponto P₂, próximo à borda do agrupamento, tem LRD=2 e seus vizinhos têm LRD média de 8. LOF = 8/2 = 4.0 (valor atípico evidente). Com contaminação=0.05, os 5% de escores LOF mais altos são sinalizados.
Quando usar esta calculadora
- Quando dados têm clusters de densidade variável — LOF deteta anomalias locais que métodos globais perderiam
- Durante inspeção de qualidade multivariante com clusters naturais de diferentes dispersões
- Ao analisar dados de vibração ou sensores com padrões de operação normais diferentes
- Quando Isolation Forest parece perder anomalias perto de clusters densos
- Durante troubleshooting para identificar pontos incomuns relativos ao vizinhança local
Erros comuns a evitar
- Definir k demasiado pequeno — comece com k=20 e ajuste
- Usar LOF em dados de muito alta dimensionalidade — considere redução de dimensionalidade
- Tratar todos os pontos com LOF > 1 como anomalias — use cutoff significativo (ex. LOF > 2)
- Não escalar features antes de aplicar LOF — padronize a média zero e variância unitária
Como interpretar os resultados
- LOF ≈ 1.0 — densidade similar aos vizinhos; membro normal do cluster
- LOF 1.5-3.0 — área de menor densidade; possível fronteira de cluster ou outlier leve
- LOF > 3.0 — densidade muito menor; forte outlier local, investigue
- LOF < 1.0 — área mais densa que vizinhos; comum no centro de clusters apertados
- Muitos pontos com LOF alto — dados podem não ter clusters bem definidos
Normas e referências relacionadas
- Breunig, Kriegel, Ng & Sander (2000), "LOF: Identifying Density-Based Local Outliers", ACM SIGMOD — O artigo original que define o escore LOF calculado aqui
- ISO 16269-4 — Interpretação estatística de dados: detecção e tratamento de outliers, a norma que rege como tratar as observações sinalizadas
- ASTM E178 — Prática padrão para lidar com observações discrepantes, o complemento clássico para decisões univariadas sobre outliers
- Aggarwal, Outlier Analysis (Springer) — Referência abrangente que compara métodos baseados em densidade como o LOF com alternativas baseadas em isolamento e em distância
Perguntas frequentes
Como escolho o número de vizinhos (k)?
Comece com k=20 como padrão razoável. Um k menor (5-10) detecta anomalias muito locais, mas é sensível a ruído. Um k maior (50+) fornece resultados mais suaves, porém pode deixar de identificar anomalias localizadas. Uma abordagem prática: teste vários valores de k e verifique se os mesmos pontos são sinalizados de forma consistente — valores atípicos que persistem entre diferentes valores de k têm maior probabilidade de serem anomalias verdadeiras.
Quando devo usar o LOF em vez do Isolation Forest?
Use o LOF quando seus dados apresentarem agrupamentos de densidades diferentes, pois o LOF avalia cada ponto em relação à sua vizinhança local. Um ponto distante de um agrupamento denso, mas próximo de um agrupamento esparso, pode ser normal — o LOF trata esse caso corretamente, enquanto os métodos globais poderiam sinalizá-lo. Use o Isolation Forest para dados de alta dimensionalidade ou conjuntos de dados muito grandes, nos quais a complexidade O(n²) do LOF se torna proibitiva.