Monitoramento de transições em agrupamento de fluxos de dados - Lima, Afonso Matheus Sousa (2022)
A disponibilização de grandes volumes de dados em diferentes áreas do conhecimento impulsiona o desenvolvimento de novas técnicas computacionais para processar massivas quantidades de dados, considerando as limitações de recursos disponíveis e tempo. Em particular, há domínios de problemas em que os dados são gerados e recebidos constantemente, sendo necessário realizar um processamento contínuo para que a análise possa refletir, com maior exatidão possível, o contexto atual dos dados. Os desafios inerentes a esse cenário motivam trabalhos na área de descoberta de conhecimento em fluxos de dados, definidos como sequências potencialmente infinitas de dados que são gerados continuamente, em geral em alta velocidade, com uma grande capacidade evolutiva, ou seja, mudanças ocorrem em seu comportamento ao longo do tempo. Dentre as tarefas de descoberta de conhecimento em fluxos de dados, uma das mais abordadas na literatura é o agrupamento, que engloba tanto o agrupamento de pontos (objetos ou itens de dado provenientes de um ou mais fluxos de dados), quanto o agrupamento de fluxos de dados (ou seja, das próprias fontes geradoras dos fluxos). Embora diversos métodos de agrupamento desenvolvidos para fluxos de dados suportem evolução dos dados e adaptação de grupos, eles normalmente não são capazes de rastrear as mudanças ocorridas nos grupos ao longo do tempo. Entender como e quando os grupos mudam, conforme os fluxos de dados são processados, pode gerar conhecimento adicional relevante para o entendimento do problema, como padrões de mudança e sazonalidade. Esse rastreamento das mudanças em agrupamentos é chamado de monitoramento de transições. A maioria dos métodos presentes na literatura foram concebidos para serem usados em bases de dados convencionais com características temporais, sendo poucos os direcionados para tarefas com fluxos de dados, principalmente as que buscam agrupar os fluxos de dados em si. Por isso, no escopo deste trabalho, foi desenvolvido a técnica CETra (Cluster Evolution Tracker) para monitoramento e detecção de transições que leva em consideração as características das tarefas de agrupamento de fluxos de dados. Essa técnica detecta diversos tipos de transições intra e inter grupos, considera a evolução gradual inerente aos fluxos de dados e é aplicável qualquer algoritmo de agrupamento de fluxos de dados que gere grupos disjuntos não sumarizados. CETra possui complexidade de tempo de processamento linear, o que a torna mais eficiente que métodos correlatos da literatura. A avaliação experimental realizada com dados sintéticos e dados reais mostram que a CETra é até duas vezes mais rápida que o método correlato aplicável a agrupamento de fluxos de dados. Além disso, CETra detecta transições que métodos correlatos não conseguem detectar pois esses não consideram a evolução gradual dos dados. Por fim, o estudo com dados reais junto a um algoritmo de agrupamento de fluxos de dados mostra que CETra é capaz de acompanhar o processamento e formação de novos agrupamentos sem impactar significativamente no tempo geral dessa tarefa.