Clusterizac¸˜ao de Dados Coletados do Exame de Glicemia
Usando o Algoritmo Fuzzy C-Means Intervalar
Rog´erio R. de Vargas1∗, Benjam´ın R. C. Bedregal1, Macilon A. Costa Neto21Programa de P´os-Graduac¸˜ao em Sistemas e Computac¸˜ao, DIMAp, UFRN
Lagoa Nova – 59078-970 – Natal, RN - Brazil
2Universidade Federal do Acre, UFAC
Rio Branco, AC – Brazil
rogerio@ppgsc.ufrn.br, bedregal@dimap.ufrn.br, macilon@ufac.br
Abstract. Clustering algorithms for unsupervised pattern recognition fulfilling a key role for the exploratory data analysis. One of the most used algorithms in the group of data points is the fuzzy c-means. Thus, is proposed an interval extension of the fuzzy c-means algorithm (IFCM) that allows data entry and the membership degree are intervals. Thus enabling, represent data with no conversion of data to spot interval. Shown is the result of a simulation with the algorithm IFCM for a sample interval of 150 data, grouping them into three clusters.
Resumo. Os algoritmos de clusterizac¸˜ao consiste de uma abordagem n˜ao su-pervisionada de reconhecimento de padr˜oes que cumprem um papel fundamen-tal para a an´alise explorat´oria de dados. Um dos algoritmos mais utilizados na clusterizac¸˜ao de dados pontuais ´e o Fuzzy C-Means. Diante disso, ´e proposta uma extens˜ao intervalar desse algoritmo (IFCM) que permite que a entrada dos dados e o grau de pertinˆencia sejam intervalos. Permitindo assim, representar os dados sem nenhuma convers˜ao dos dados intervalares para pontuais. ´E mos-trado o resultado de uma simulac¸˜ao com o algoritmo IFCM para uma amostra de 150 dados intervalares, agrupando-os em trˆes clusters.
1. Introduc¸˜ao
Diabetes mellitus ´e um dist´urbio metab´olico determinado geneticamente, associado
com deficiˆencia absoluta ou relativa de insulina e que na sua manifestac¸˜ao cl´ınica completa ´e caracterizado por alterac¸˜oes metab´olicas, complicac¸˜oes vasculares e neu-rop´aticas [Maia and Campos 2005].
A auto-monitorizac¸˜ao da glicemia ´e uma conquista muito importante, pois per-mite maior flexibilidade no tratamento do diabetes, independentemente se tipo 1 ou 2. No mercado existe diversos equipamentos de monitorac¸˜ao da glicemia que podem ser opera-dos pelo pr´oprio paciente. Entretanto, esses equipamentos possuem um erro associado na medic¸˜ao (calibragem) que pode influir em uma an´alise mais aprofundada.
Nos m´etodos de clusterizac¸˜ao (ou agrupamento) hard, os clusters s˜ao uma partic¸˜ao no sentido matem´atico dos dados. Assim, cada ponto no conjunto de dados pertence a
exatamente um cluster. J´a clusterizac¸˜ao fuzzy, tem a sua “partic¸˜ao” baseada na ideia de func¸˜oes de pertinˆencia expressa por um grau de pertinˆencia referente a um cluster, isto ´e, os algoritmos fuzzy associam um dado a todos os clusters atrav´es da variac¸˜ao do grau de pertinˆencia do dado em cada cluster.
Em [Carvalho 2007] foi proposto tamb´em uma extens˜ao intervalar do algoritmo
fuzzy c-means, onde cada dado de entrada ´e um intervalo. Para calcular a distˆancia de
cada ponto a um determinado cluster (de intervalo) ´e usado uma adaptac¸˜ao da distˆancia Euclidiana. Na finalidade de validar o m´etodo proposto, foi realizado v´arios testes em conjuntos de dados intervalares, um consistindo na classificac¸˜ao de carros por determi-nada caracter´ıstica e outro pela variac¸˜ao da temperatura em diversas cidades.
Em diversas pesquisas utilizando dados intervalares, como por exemplo descrito em [Carvalho 2007] e [Zhang et al. 2007], s˜ao propostas adaptac¸˜oes no algoritmo fuzzy c-means para lidar com dados intervalares. Por´em os algoritmo propostos por estes traba-lhos, usam graus de pertinˆencias pontuais.
Em [Bock 2000] e [Sato and J. 2006] tˆem tamb´em a entrada de dados como in-tervalos, por´em estes n˜ao consideram o grau de pertinˆencia como intervalos.
Representar o conjunto de dados como intervalos consiste em delimitar os erros ocasionados por estimativas de medic¸˜oes, de simplificac¸˜oes, modelagem, por falha hu-mana ou pelo instrumento de medic¸˜ao. Um dos objetivos deste trabalho ´e apresentar uma forma de clusterizac¸˜ao para os valores amostrais que consideram os erros contidos. Ent˜ao a entrada dos dados s˜ao valores intervalares. Desta forma, julga-se que a classificac¸˜ao de cada elemento a um determinado cluster (o grau de pertenc¸a) tamb´em seja um intervalo.
2. O algoritmo IFCM
Entre os diversos algoritmos de clusterizac¸˜ao existentes, este trabalho deter-se-´a a intervalizac¸˜ao do algoritmo proposto por [Dunn 1973] e [Bezdek 1981] chamado fuzzy
c-means (FCM).
O algoritmo para clusterizac¸˜ao de dados intervalares, denominado Interval Fuzzy
C-Means (IFCM), aqui proposto, baseia-se na estrutura do FCM em [Cox 2005].
O IFCM tenta de encontrar conjuntos nos dados minimizando uma func¸˜ao objetiva mostrada na equac¸˜ao (1): J = n X i=1 c X j=1 µmijdI(Xi; Cj)2 (1) onde:
• n ´e o n´umero de dados intervalares;
• c ´e o n´umero de clusters considerados no algoritmo, o qual deve ser decidido antes
da execuc¸˜ao;
• m ´e um fator de fuzziness (um valor maior do que 1)1;
1S´o consideramos valores racionais para n˜ao complicar o c´alculo das equac¸˜oes (1), (2) e (3). Uma vez
• Xi ´e o i-´esimo dado intervalar;
• Cj ´e o centro (intervalo) do j-´esimo cluster;
• dI(Xi; Cj) ´e a distˆancia intervalar entre Xi e Cj;
A entrada do algoritmo s˜ao n dados intervalares, o n´umero de cluster c e o valor
m. Suas etapas s˜ao:
1. Inicialize µ com subintervalos de [0; 1] aleat´orios associados a cada par
(da-dos/clusters) tais que para cada par dados/cluster (Xi; j) e aj ∈ µi,j temos que
existem ak ∈ µi,kpara todo k∈ {1, . . . , j − 1, j + 1, . . . , c} satisfazendo
c
X
k=1
ak = 1
2. calcule o centro do cluster j da seguinte maneira:
Cj = n X i=1 µmijXi n X i=1 µmij (2)
3. calcule um valor inicial (um intervalo de dado) para J usando a equac¸˜ao (1) 4. calcule a tabela de func¸˜ao de pertinˆencia fuzzy intervalar conforme mostrado na
equac¸˜ao (3) µij = 1 dI(Xi;Cj) m−11 c X k=1 1 dI(Xi; Ck) m−11 (3)
5. retornar a etapa 2 at´e que uma condic¸˜ao de parada seja alcanc¸ada. Algumas condic¸˜oes de parada poss´ıveis s˜ao:
• Um n´umero de iterac¸˜oes pr´e-fixado for executado, e pode-se considerar que o
algoritmo conseguiu agrupar os dados;
• o usu´ario informa um valor de parada ǫ > 0, e se dI(JU; JA) ≤ [ǫ; ǫ]
ent˜ao p´ara, onde JA ´e a func¸˜ao objetiva (equac¸˜ao (1)) calculada da iterac¸˜ao
ante-rior e JU ´e a func¸˜ao objetiva da ´ultima iterac¸˜ao.
3. Aplicac¸˜ao e Resultados
Aparelhos medidores de glicemia como o “Accu-Chek Aviva/ Compact Plus”
fabri-cado pela Rocher, possui um erro de calibragem associado ao aparelho em torno de
Uma aplicac¸˜ao deste algoritmo que tem por objetivo agrupar dados e reconhecer padr˜oes pode ser dado em uma cl´ınica especializada em diabetes, que deseja conhecer o padr˜ao de pacientes
A implementac¸˜ao do algoritmo foi realizada na linguagem de programac¸˜ao C++ (compilador g++ 4.4), no sistema operacional Linux (Ubuntu 9.04) e utilizou-se a
biblio-teca C-XSC (vers˜ao 2.2) [Hofschuster and Kr¨amer 2003], dispon´ıvel emhttp:\\www.
xsc.de.
A entrada de dados foi simulada como se fosse obtida dos aparelhos medidores de glicemia, com um erro de calibragem associado ao equipamento em 10% do valor pontual.. Foram 150 dados intervalares distintos, dividido-os em cinco grupos. Satisfa-zendo a etapa 1 do algoritmo, gerou-se 150 graus de pertinˆencia para cada cluster. As especificac¸˜oes desses dados s˜ao mostrados na tabela 1.
Tabela 1. Entrada de dados
GRUPO GLICEMIA ENTRE (mg/dL) AMOSTRA
G1 [40; 64, 9] 15
G2 [65; 74, 9] 20
G3 [75; 94] 60
G4 [94, 1; 104] 25
G5 [104, 1; 300] 30
Os parˆametros de entrada foram150 dados, 3 clusters, m = 1, 25 e ǫ = 0, 01.
Nessa simulac¸˜ao de cento e cinquenta dados intervalares o diˆametro desses
inter-valos ´e no m´aximo quinze, variando aleat´oriamente esses dados entre o intervalo[40; 300]
mg/dL, ´e mostrado a seguir, os resultados obtidos com o algoritmo IFCM.
Observe que o n´ıvel glicˆemico na figura 1(a) referente o intervalo[200; 300] mg/dL
possuem o grau de pertinˆencia pr´oximo de um. E n´ıvel glicˆemico abaixo de 175 mg/dL, tendem a ter um grau de pertinˆencia praticamente zero.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 50 100 150 200 250 300 350 grau de pertinencia GLICEMIA (mg/dL) CLUSTER 1 (a) Cluster 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 50 100 150 200 250 300 350 grau de pertinencia GLICEMIA (mg/dL) CLUSTER 2 (b) Cluster 2
Figura 1. Agrupamento dos Clusters
Analisando o cluster 2 na figura 1(b), tem-se que dados intervalares entre[50; 80]
mg/dL possuem o grau de pertinˆencia quase um. O n´ıvel glicˆemico entre[90; 120] mg/dL,
possui o grau de pertinˆencia entre [0, 8; 1]. E por fim, a figura 2(a) mostra os dados
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 50 100 150 200 250 300 350 grau de pertinencia GLICEMIA (mg/dL) CLUSTER 3 (a) Cluster 3 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 50 100 150 200 250 300 350 grau de pertinencia GLICEMIA (mg/dL) CLUSTER 1 CLUSTER 2 CLUSTER 3 (b) Todos os Clusters
Figura 2. Agrupamento dos Clusters
O intervalo de dados no cluster 3 entre [110; 190] mg/dL, o grau de pertinˆencia
esta entre [0, 75; 1] e valores glicˆemicos n˜ao contidos nesse intervalo tendem a ter um
baixo grau de pertinˆencia.
O resultado final englobando os trˆes clusters ´e mostrado na figura 2(b).
Neste exemplo em que os dados foram simulados, obteve-se uma boa separac¸˜ao do agrupamento. Em nenhum dos casos um elemento pertence tanto a um cluster quanto a outro.
Uma discuss˜ao mais abrangente pode ser dada utilizando o conceito de
α−corte [Yang et al. 2008], no qual este permite cortar os dados expostos dado algum
grau de pertinˆencia, seja com intervalos degenerados ou n˜ao.
Se for utilizado algum α−corte linear acima de 0, 7 algum dado poder´a ser
despre-zado, ocasionando que um elemento n˜ao pertenc¸a a nenhum cluster. Usando um α−corte
abaixo de0, 3 certamente nesta simulac¸˜ao causar´a diversas intersecc¸˜oes. Neste exemplo
espec´ıfico, caso fosse optado pela utilizac¸˜ao do α−corte, um bom parˆametro para esta
aplicac¸˜ao seria em torno de0, 5. Com α−corte em 0, 5 ´e gerado uma partic¸˜ao na base de
dados, ou seja, cada dado intervalar pertence a exatamente um cluster. Observe que isso pode ser encarado como uma clusterizac¸˜ao crisp da base. Por´em, isso n˜ao significa que o
α−corte particione qualquer base de dados intervalares.
O sistema convergiu ap´os 38 iterac¸˜oes e o tempo de processamento foram de 4 minutos e 25 segundos.
4. Conclus˜oes
A an´alise de cluster n˜ao ´e um processo realizado em apenas uma execuc¸˜ao. Em mui-tas circunstˆancias, ´e necess´ario uma s´erie de tentativas e repetic¸˜oes. Ainda, n˜ao h´a um crit´erio universal e efetivo para guiar a selec¸˜ao de atributos e de algoritmos de clusterizac¸˜ao. Crit´erios de validac¸˜ao provˆem impress˜oes sobre a qualidade dos
clus-ters, mas como escolher este mesmo crit´erio ´e ainda um problema que requer mais
esforc¸os [Jr Cavalcanti 2006].
O contexto deste trabalho esta inserido na abordagem simb´olica da an´alise de da-dos (SDA - Symbolic Data Analysis) relacionada com m´etoda-dos para a extrac¸˜ao de conheci-mentos em grandes bases de dados. O principal objetivo da SDA ´e desenvolver m´etodos
para o tratamento de dados mais complexos como intervalos. Neste contexto, v´arios pesquisadores [Carvalho 2007][Zhang et al. 2007] [Bock 2000] e [Sato and J. 2006] vˆem trabalhando no sentido de estabelecer e aplicar metodologias na clusterizac¸˜ao de da-dos intervalares. Este trabalho tamb´em pretende ser um aporte para essa ´area. Uma das propriedades da abordagem proposta ´e respeitar o princ´ıpio da corretude, no sen-tido de [Hickey et al. 1999], ou seja, se considerasse qualquer valor pontual entre os seus respectivos valores (intervalares) como dado de entrada e grau de pertinˆencia, usando o algoritmo pontual fuzzy c-means, o agrupamento resultante estaria contido no intervalo apresentado pelo IFCM.
Neste trabalho estudou-se outros algoritmos de clusterizac¸˜ao para a entrada de da-dos intervalares. Ent˜ao a vantagem ´e que neste algoritmo fuzzy c-means consideram graus de pertinˆencias intervalares propiciando conhecer ainda mais a imprecis˜ao nos dados de entrada. O grande trunfo deste algoritmo ´e sempre manter os dados de entrada e operac¸˜oes com intervalos e quando necess´ario calcular a distˆancia de cada ponto ao centro de cada
cluster, usar uma m´etrica intervalar em vez de usar uma m´etrica pontual como a distˆancia
Euclidiana.
O algoritmo Interval Fuzzy C-Means proposto neste artigo, houve a aplicac¸˜ao de duas t´ecnicas: a matem´atica intervalar e a teoria dos conjuntos fuzzy. Desta forma, ´e poss´ıvel tratar os dados de entrada imprecisos em resultados com func¸˜oes de pertinˆencias intervalares.
Referˆencias
Bezdek, J. (1981). Pattern Recognition with Fuzzy Objective Function Algorithms.
Kluwer Academic Publishers, Norwell, MA, USA.
Bock, H. (2000). Analysis of Symbolic Data: Exploratory Methods for Extracting
Statis-tical Information from Complex Data. Springer-Verlag New York, Inc., Secaucus, NJ,
USA.
Carvalho, F. (2007). Fuzzy C-Means Clustering Methods for Symbolic Interval Data.
Pattern Recogn. Lett., 28(4):423–437.
Cox, E. (2005). Fuzzy Modeling and Genetic Algorithms For Data Mining and
Explora-tion. Morgan Kaufmann, San Francisco.
Dunn, J. (1973). A Fuzzy Relative of the ISODATA Process and Its Use in Detecting Compact Well-Separated Clusters. Journal of Cybernetics, 3:32–57.
Hickey, T., Ju, Q., and Emden, M. (1999). Interval Arithmetic: from Principles to Imple-mentation. Journal of the ACM, 48:1038–1068.
Hofschuster, W. and Kr¨amer, W. (2003). C-XSC 2.0 - A C++ Library for eXtended Scientific Computing. In Numerical Software with Result Verification: International
Dagstuhl Seminar, Dagstuhl, pages 15–35. Springer.
Jr Cavalcanti, N. (2006). Clusterizac¸˜ao baseada em algoritmos fuzzy. Master’s thesis, Universidade Federal de Pernambuco, Recife, Brasil.
Maia, C. and Campos, C. (2005). Diabetes Mellitus as Etiological Factor of Hearing Loss.
Roche (2009). Diabetes faq - roche portugal. Acesso em 10 marc¸o de 2009.
Sato, M. and J., L. (2006). Innovations in Fuzzy Clustering: Theory and Applications
(Studies in Fuzziness and Soft Computing). Springer-Verlag, Berlin, Heidelberg.
Yang, M.-S., Wu, K.-L., Hsieh, J.-N., and Yu, J. (2008). Alpha-cut implemented fuzzy clustering algorithms and switching regressions. Systems, Man, and Cybernetics, Part
B: Cybernetics, IEEE Transactions on, 38(3):588–603.
Zhang, W., Hu, H., and Liu, W. (2007). Rules Extraction of Interval Type-2 Fuzzy Logic System Based on Fuzzy c-Means Clustering. Fuzzy Systems and Knowledge Discovery,