Uso do Algoritmo ROCK para Agrupar Dados Categorizados Isis Milane Batista de Lima1 Joab de Oliveira Lima2 1 Introdução A Análise de Agrupamentos engloba uma variedade de técnicas e algoritmos cujo objetivo é encontrar e separar objetos em grupos similares (EVERITT, 1974), de modo a resolver a seguinte questão: “dada uma amostra de medido segundo objetos (ou indivíduos), cada um deles variáveis, como é possível definir uma estratégia de classificação que agrupe os objetos em grupos, de forma que os objetos agrupados sejam tão similares quanto possível?”. Essa técnica de análise multivariada é empregada em diversas áreas de conhecimento, tais como medicina, administração, experimentos agronômicos, engenharia florestal, entre outras, e as aplicações vêm aumentando muito nos últimos anos. Os algoritmos de agrupamento envolvem a estimação de uma medida de dissimilaridade entre os indivíduos e a escolha de uma técnica de formação de grupos. Tais medidas são quantidades comparativas que medem as distâncias entre dois objetos e quantifica o quanto eles são diferentes. Na literatura existe um grande número de métodos de agrupamentos, dos quais, alguns são para a proposta de agrupar dados categorizados, tais como: k-Modas (HUANG, 1997, 1998), CACTUS (GANTI et al., 1999), Fuzzy c-Modas (HUANG; NG, 1999) e Robust Clustering Using Links – ROCK (GUHA et al., 2000). Em especial, nesse trabalho, os esforços serão concentrados no estudo e aplicações do algoritmo ROCK. 2 Materiais e métodos O algoritmo RObust Clustering using linKs – ROCK é um procedimento de agrupamento hierárquico aglomerativo que emprega a ideia de links para agrupar os elementos em cada fase do processo (JAIN; DUBES, 1988). Esse algoritmo, criado por Guha et al. (2000), é um método de análise multivariada utilizado para agrupar dados descritos por variáveis categorizadas e se baseia no uso de uma medida particular de similaridade para agrupar as observações. Esse procedimento utiliza alguns conceitos importantes, entre eles: as 1 Departamento de Estatística/UFPB. e-mail: [email protected] Departamento de Estatística/UFPB. e-mail: [email protected]. 2 1 idéias de vizinhança e links, função objetivo e medida de qualidade dos agrupamentos formados. Para medir o quão próximos são os objetos avaliados, utiliza-se o coeficiente de Jaccard (MEYER, 2002), que é uma medida entre 0 e 1. Assim, a partir dessas similaridades calculadas ( meio da relação ), a caracterização de quais objetos serão considerados vizinhos é feita por , em que representa o padrão de vizinhança admitida pelo usuário. A escolha de um valor muito pequeno para vizinhos, enquanto que a escolha de um valor de geraria um número elevado de próximo de 1 exigiria uma semelhança muito forte entre dois objetos para que esses fossem considerados vizinhos. No âmbito do algoritmo ROCK, a função vizinhos comuns entre os objetos contabiliza o número de e . Diferente dos métodos de agrupamentos tradicionais que une objetos mais próximos em termos da distância calculada entre eles, o algoritmo ROCK agrupa os objetos que apresentarem o maior número de vizinhos, sendo, por isso, considerado um procedimento robusto, inclusive livre de influências de outliers. Além disso, como mostrado abaixo, o algoritmo ROCK busca otimizar uma função objetivo que está relacionada à maximização do número de vizinhos entre os elementos pertencentes a um mesmo grupo. [1] em que denota o grupo i de tamanho . Essa função objetivo garante que as observações similares são alocadas em um mesmo grupo, embora não obrigue que observações pouco similares sejam divididas em grupos distintos. Por fim, para avaliar se um determinado par de objetos deve ou não ser unido, Guha et al. (2000) sugerem calcular uma função , denominada de medida de qualidade. Desse modo, aquele par de observações e que apresentar o maior valor de será unida em um mesmo grupo. [2] em que . 2 O algoritmo ROCK termina o seu processo de agrupamento quando atinge o número de grupos desejado ( ) ou quando a medida de qualidade é nula. Abaixo é mostrado o procedimento “ROCK Clustering” que foi criado no R. Figura 1: Estrutura da função ROCK Clustering implementada no R 3 Resultados e discussões O algoritmo ROCK foi aplicado em duas bases de dados bem distintas. A primeira base de dados se refere a uma lista de 271 estabelecimentos de saúde de João Pessoa que realizaram, pelos menos, 1 entre 7 procedimentos clínicos e laboratoriais em 2012. Já a segunda base de dados se refere a um recorte de 130 registros de homicídios, de autoria inicialmente desconhecida, ocorridos em Campina Grande - PB no período de 2008 a 2011. Nesse banco de dados foram levantadas as condições de ocorrência dos crimes, bem como as características das vítimas. Para as análises dos grupos formados pelo algoritmo ROCK foram considerados três quantidades distintas de graus de vizinhança: ; e . Assim, a primeira parte da Tabela 1 apresenta os resultados obtidos segundo o algoritmo ROCK para a primeira base de dados. Observando esses resultados percebe-se que para o ROCK, no geral, agrupou corretamente cerca de 86% das observações, sendo que 100% dos PSF foram agrupados corretamente; 45% das Clínicas e o pior resultado ocorreu no agrupamento dos Hospitais, em que a taxa de acerto atingiu apenas 5% dos casos. Para o segundo grau de vizinhança escolhido ( ) o percentual de acerto diminuiu para aproximadamente 78% no agrupamento geral dos casos, embora tenha agrupado corretamente cerca de 90% dos PSF’s. E para , observou-se um aumento substancial no desempenho do algoritmo ROCK, já que agrupou corretamente mais de 96% dos PSF’s e quase 81% das Clinicas (Figura 2). 3 Já para a segunda parte da Tabela 1que apresenta os resultados obtidos da base de dados de homicídios, observa-se que o desempenho do algoritmo ROCK foi considerado mediano, uma vez que conseguiu agrupar corretamente entre 55% e 59% dos casos de homicídios. Adicionalmente, como pode ser notado, o algoritmo ROCK agrupou com mais facilidade os casos de homicídios motivados por vingança ou por relacionamentos passionais; e teve mais dificuldade para agrupar os crimes, cuja motivação fora Tráfico de Drogas. A explicação para esse baixo desempenho pode estar associado às baixas inter-relações ou similaridades que existiam entre as variáveis. Porém, essa condição não tira, de modo algum, os méritos e a qualidade dessa ferramenta. Tabela 1:Análise do desempenho do algoritmo ROCK para as duas bases de dados Base de Dados 1 Vizinhança Classificação Original PSF Clínica Hospital Total PSF Clínica Hospital Total PSF Clínica Hospital Total =0,4 =0,6 =0,8 PSF 210 14 17 241 183 0 0 183 193 2 6 201 Classificação ROCK Clínica Hospital 0 0 15 4 1 0 16 4 22 0 6 21 8 1 36 22 0 7 21 3 1 4 22 14 % Acerto Total 210 33 18 261 205 27 9 241 200 26 11 237 Fúteis 6 1 0 7 15 0 28 43 0 7 8 15 Classificação ROCK Vingança/Passional Tráfico de Drogas 8 8 57 0 36 0 101 8 0 6 53 2 12 1 65 9 0 6 18 2 1 15 19 23 Total 22 58 36 116 21 55 41 117 6 27 24 57 86,21% 78,84% 91,98% Base de Dados 2 Vizinhança =0,4 =0,6 =0,8 Classificação Original Fúteis Vingança/Passional Tráfico de Drogas Total Fúteis Vingança/Passional Tráfico de Drogas Total Fúteis Vingança/Passional Tráfico de Drogas Total 4 % Acerto 54,31% 58,97% 57,89% Base de Dados 1 Base de Dados 2 Figura 2:Comparações dos percentuais de acerto para as duas bases de dados 4 Conclusões Os resultados discutidos nessa monografia apresentaram evidências consistentes da qualidade e da versatilidade do algoritmo ROCK, principalmente no que se refere ao agrupamento de dados com variáveis do tipo atributos. Por outro lado, ficou claro também algumas limitações desse procedimento, entre elas, a dificuldade computacional em se trabalhar com matrizes esparsas e a escolha do melhor ponto de corte () para a definição dos objetos vizinhos. Ainda assim, o emprego do algoritmo ROCK para estudar as duas aplicações práticas propostas indicaram um desempenho razoável no agrupamento dos casos. 5 Bibliografia [1] EVERITT, B. Clusters Analysis. 2ª ed. London: Heinemann Educational Books,1980. [2] GANTI, V.; GEHRKE, J.; RAMAKRISHNAN, R. CACTUS: Clustering categorical data using summaries. In: KDD’99: Proceeding softhefifth ACM SIGKDD international conference on Know ledge Discovery and data mining. New York: ACM Press, 1999. [3] GUHA, S.; RASTOGI, R.; SHIM, K. ROCK: A Robust Clustering Algorithm for Categorical Attributes. Information System, v. 25, p. 345-366, 2000. [4] HUANG, Z. Extensions to the k-means algorithm for clustering large data sets with categorical values. Data Mining and Know ledge Discovery, v. 2, p. 283–304, 1998. [5] HUANG, Z.; NG, M. K. A fuzzy k-modes algorithm for clustering categorical data. IEEE Transaction son Fuzzy Systems, v. 7, p. 446–452, 1999. [6] JAIN, A. K.; DUBES, R. C. Algorithms for clustering data. Prentice Hall. Englewood Cliffs, New Jersey, 1988. [7] MEYER, A. S. Comparação de coeficientes de similaridade usados em análises de agrupamento com dados de marcadores moleculares dominantes. Escola Superior de Agricultura “Luiz Queiroz”, Universidade de São Paulo, 2002. 5