O objetivo deste experimento foi identificar outliers nos dados de acessos ao blog Viagem de Cinema, durante o período de 01/06/2022 até 30/04/2023, quando foram verificadas ocorrências de muitas dessas anomalias. Como base de comparação, o blog recebia 176 acessos diários, em média, mas chegou a ter um pico de 1.543 num único dia.
Para detectar as anomalias, foram utilizados os seguintes algoritmos:
Histogram-Based Outlier Score (HBOS), que identifica outliers através do uso de histogramas;
Isolation Forest, que identifica outliers através de árvores de isolamento;
K-Nearest Neighbors Detector, que baseia-se no cálculo das distâncias entre os dados anômalos e seus vizinhos proximos;
Local Outlier Factor (LOF), que compara a densidade dos dados em relação aos seus vizinhos locais.
Além da quantidade de acessos, os algoritmos receberam as variáveis 'dia da semana', 'mês' e 'ano' para realizarem os cálculos e gerarem os escores de anomalias; essas limitadas a 5% da base de dados.
Resultados:
Os quatro algoritmos identificaram 15 outliers numa base com 284 dias de acessos ao blog, com os seguintes resultados:
Concordância entre os algoritmos: HBOS, KNN e LOF classificaram os 6 maiores resultados em quantidade de acessos como outliers, inclusive atribuindo a mesma ordem de importância nos cálculos dos seus escores. O Isolation Forest, por sua vez, só concordou com 50% desses casos anômalos e não, necessariamente, na mesma ordem.
Discordância entre os algortimos: dos 9 outliers restantes, os quatro algoritmos, praticamente, divergiram em todos os seus resultados.
Conclusão:
Para o conjunto de dados usados neste experimento, o HBOS foi o que apresentou os resultados mais coerentes. No entanto, dependendo do problema de negócio e dos dados disponíveis, qualquer uma das quatro técnicas pode se destacar em relação às demais e oferecer melhores respostas.
Código dos modelos disponível no GitHub.
Comentarios