Uso do Algoritmo ROCK para Agrupar Dados Categorizados

Propaganda
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
Download