SBBD - SBES 2007

Propaganda
WAAMD 2007
III Workshop em Algoritmos e Aplicações de Mineração de Dados
TwoStep Cluster: Análise comparativa do algoritmo e
proposta de melhoramento da medida de verossimilhança
Rafael Leão Brazão, Pedro A. Barbetta, Dalton F. Andrade
Departamento de Informática e Estatística – Universidade Federal de Santa Catarina
(UFSC)
Campus Universitário – Trindade – Florianópolis – SC – Brazil
{brazaor,barbetta,dandrade}@inf.ufsc.br
Abstract. In this paper we made comparisons of the algorithm TwoStep
Cluster (TSC) with other clustering algorithms for large databases. The
comparisons were made using simulated data, whose variations of the
parameters were made in according to the Design of Experiments
methodology. The results showed that TSC had better accuracy when the
clusters had different variances; however it was shown to be slower than the
traditional K-means algorithm. In this work we also propose an improvement
in the measure of the log-likelihood considered in the algorithm. It allows
incorporating information about the correlations between the variables.
Resumo. Neste artigo foram feitas comparações do algoritmo TwoStep
Cluster (TSC) com outros algoritmos de agrupamentos para grandes bases de
dados. As comparações foram realizadas utilizando dados simulados, cujas
variações dos parâmetros foram feitas de acordo com a metodologia de
Planejamento de Experimentos. Os resultados mostraram que o TSC teve
melhor acurácia quando os grupos tinham diferentes variâncias, no entanto se
mostrou mais lento que o tradicional algoritmo K-médias. Neste artigo
também foi proposto um melhoramento à medida de log da verossimilhança
utilizada no TSC, permitindo a incorporação de informação sobre as
correlações entre as variáveis.
1. Introdução
O algoritmo TwoStep Cluster (TSC) (Chiu et al., 2001) (SPSS, 2001) é um
melhoramento do BIRCH (Balanced Iterative Reducing and Clustering using
Hierarquies) (Zhang, 1997) e tem um grande apelo por ser capaz de reduzir um grande
arquivo de dados, lido em seqüência, em pré-agrupamentos que contêm estatísticas
sobre os registros da base de dados. Outra vantagem deste algoritmo é possibilitar o uso
de variáveis quantitativas e categóricas, além de encontrar um número apropriado de
agrupamentos, caso este número não seja fornecido previamente à execução do
algoritmo.
Os estudos comparativos para avaliar a acurácia e o tempo de processamento dos
algoritmos de agrupamentos têm sido feitos utilizando simulação Monte Carlo. Zhang et
al. (1996) e Zhang (1997) realizaram vários testes com o algoritmo BIRCH. Um estudo
comparativo mais elaborado entre vários métodos de agrupamentos foi realizado por
Mingoti e Lima (2006), onde foram geradas amostras com diferentes números de
13
WAAMD 2007
III Workshop em Algoritmos e Aplicações de Mineração de Dados
grupos, quantidade de variáveis, nível de correlação entre as variáveis, nível de
superposição entre grupos e presença ou não de registros discrepantes, mas esse estudo
não incluía o BIRCH ou o TSC. Prass (2004) realizou simulações com alguns
algoritmos de agrupamentos disponíveis na linguagem R. O resultado dessas simulações
apontou que os algoritmos de partição foram melhores em grandes bases de dados e, por
este motivo, dois algoritmos de partição, o CLARA (Clustering Large Applications)
proposto por Kaufman e Rousseeuw (2005), e o K-médias, proposto em MacQueen
(1967), foram escolhidos para comparações com o TSC.
Pretende-se, neste artigo, usar a Metodologia de Planejamento de Experimentos
na comparação dos algoritmos e mostrar como é possível incorporar correlação entre as
variáveis no TSC, possibilitando um melhoramento na identificação dos agrupamentos.
2. TwoStep Cluster (TSC)
O algoritmo TSC baseia-se no algoritmo BIRCH (Zhang et al., 1996), que consiste,
inicialmente, em criar uma árvore, a CF-tree, gerando pré-agrupamentos,. O TSC utiliza
a distância log da verossimilhança, proposta em Banfield and Raftery (1993),
acomodando adequadamente variáveis quantitativas e categóricas. Considere uma base
de dados com Q + C variáveis (Q quantitativas e C categóricas) e N registros divididos
em K clusters ou grupos: G1, G2, ..., GK. Seja o grupo Gk com Nk registros. Para o
conjunto das Q variáveis quantitativas, o valor máximo da função de logverossimilhança é dado por:
∧ (Q )
Q
N
(1)
l k = − k [ Q {log( 2 π ) + 1} + ∑ log( σˆ 2 )]
2
j =1
kj
sendo σˆ kj2 a estimativa de máxima verossimilhança da variância da j-ésima variável, no
cluster Gk. E para o conjunto das C variáveis categóricas:
∧ (C )
lk
C Mj
= N k ∑ ∑ pˆ kjm log( pˆ kjm )
(2)
j =1 m =1
sendo p̂kjm a proporção de observações da categoria m da j-ésima variável categórica,
no k-ésimo grupo. E o valor máximo da função de log-verossimilhança, associada a
todas as variáveis, no grupo Gk, é dado por:
∧
∧ (Q ) ∧ (C )
k =lk +lk
l
(3)
A distância entre dois agrupamentos é baseada na redução no log da
verossimilhança pela união dos dois agrupamentos. Assim, para o cálculo dessa
distância, basta se ter armazenado, para cada agrupamento, o vetor CF (Cluster
Feature):
r r
r
r
CFk = ( N k , SLk , SQk , Pk )
(4)
r
S
L
onde Nk é o número de registros do agrupamento k;
k é um vetor cujos elementos
são formados pelas somas dos valores de cada variável quantitativa;
SQ k
é um vetor
r
formado pelas somas dos quadrados dos valores das variáveis quantitativas; e Pk é um
14
WAAMD 2007
III Workshop em Algoritmos e Aplicações de Mineração de Dados
vetor cujos elementos são as proporções de ocorrências de cada categoria, em cada
variável categórica.
A primeira etapa do algoritmo é a construção de uma árvore: a CF-tree.
Realizada a primeira etapa, uma coleção de pré-agrupamentos, sintetizados por CFs, é
armazenada nos nós folhas da CF-tree. Na segunda etapa, é utilizado um algoritmo
hierárquico aglomerativo para se encontrar os agrupamentos finais.
3. Planejamento do experimento
Para avaliar o tempo de processamento e, principalmente, a qualidade dos resultados
gerados pelos algoritmos de agrupamentos (ou acurácia), foi realizado um experimento
em que os registros foram gerados segundo distribuições de probabilidades (simulação
tipo Monte Carlo). Em cada simulação, os subgrupos de registros gerados por uma dada
distribuição de probabilidade, com parâmetros estabelecidos, foram assumidos como
pertencentes a um agrupamento verdadeiro. A acurácia de um dado algoritmo de
agrupamento foi avaliada pela porcentagem de registros gerados por uma dada
distribuição de probabilidades que ficaram num mesmo agrupamento.
Para gerar casos com distribuições multivariadas foi usada a metodologia de
cópulas, que permite agregar distribuições univariadas em distribuições multivariadas,
considerando determinada correlação entre as variáveis (Andrade et al, 2006; Anjos et
al., 2004). Em especial, foi utilizada a cópula gaussiana que, no caso de L distribuições
normais univariadas, gera a normal multivariada L-dimensional (Song, 2000). As
cópulas também aceitam diferentes distribuições univariadas, formando uma nova
distribuição multivariada com determinada dependência entre as variáveis. Para a
geração das amostras foi utilizada a ferramenta de cópulas da linguagem livre R.
As bases de dados foram simuladas com variações planejadas do número de
registros, quantidade de variáveis, quantidade de grupos, presença ou não de variáveis
categóricas, correlação nula ou não-nula entre as variáveis, distribuição geradora dos
dados (normal ou gama) e variâncias iguais ou diferentes entre os grupos. Observa-se
que características dos dados e variáveis são importantes na comparação dos algoritmos,
porque algumas delas violam suposições intrínsecas de uma ou outra técnica. Por
exemplo, dados com grupos de variâncias diferentes violam suposições do K-médias,
mas são pertinentes de serem analisados (minerados) pelo TSC. Já correlações não-nulas
entre as variáveis, ou variáveis com distribuições assimétricas são características
indesejáveis para os três algoritmos em estudo. A Tabela 1 mostra os níveis (ou
categorias) estudados (as) dos sete fatores de interesse.
Com o objetivo de comparar os algoritmos de agrupamento e verificar o efeito
de cada fator nesses algoritmos, as simulações foram feitas segundo a Metodologia de
Planejamento de Experimentos (Montgomery, 2005), considerando um projeto (design)
fatorial fracionário do tipo 27-3. Este projeto é composto de dezesseis condições
experimentais (combinações de níveis dos fatores da Tabela 1), balanceadas de tal forma
que é possível realizar a avaliação do efeito de cada fator isoladamente – o que
geralmente não tem sido feito nos trabalhos correlatos. As combinações de níveis dos
fatores (design points) são apresentadas na Tabela 2.
15
WAAMD 2007
III Workshop em Algoritmos e Aplicações de Mineração de Dados
Tabela 1. Níveis dos fatores do experimento
Fatores
Níveis
-1
+1
dez mil
um milhão
2 - quantidade de variáveis
2
10
3 - número de agrupamentos
2
10
Ausência
50% do tipo 0-1
normal
gama
1 - número de registros
4 - variáveis categóricas
5 - distribuição das variáveis quantitativas
6 - correlação entre as variáveis
0
0,7
7 - variâncias nos agrupamentos
iguais
diferentes
Os dados foram gerados pela normal ou gama, mas sempre com valor esperado
3,4142 e variância unitária. Para que as bases de dados tivessem diferentes grupos com
variâncias iguais foram adicionadas constantes aos valores gerados de variáveis
aleatórias (o que só altera a média). Para os ensaios que exigiam variâncias diferentes,
os valores das variáveis aleatórias também foram multiplicados por constantes,
escolhidas de tal forma que o desvio padrão ficasse sempre proporcional à média. As
variáveis do tipo 0-1 foram construídas recodificando os valores gerados por
distribuições contínuas.
Tabela 2. Condições experimentais efetivamente realizadas, baseadas no projeto 27-3
Ensaio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Número de
registros
dez mil
dez mil
um milhão
dez mil
um milhão
um milhão
dez mil
dez mil
um milhão
um milhão
dez mil
dez mil
um milhão
um milhão
um milhão
dez mil
Número de
variáveis
10
10
2
10
2
10
2
10
10
10
2
2
2
10
2
2
Número de
grupos
2
10
10
10
2
2
10
2
10
10
2
2
2
2
10
10
Variáveis
categóricas
50%
0
0
50%
50%
50%
0
0
50%
0
0
50%
0
0
50%
50%
Correlação
0,7
0
0
0
0,7
0
0,7
0,7
0,7
0,7
0
0
0,7
0
0
0,7
Distribuição dos
dados
normal
normal
gama
gama
gama
normal
gama
gama
gama
normal
normal
gama
normal
gama
normal
normal
Variâncias
diferentes
diferentes
iguais
iguais
iguais
iguais
diferentes
iguais
diferentes
iguais
iguais
diferentes
diferentes
diferentes
diferentes
iguais
4. Resultados
Foi usada a implementação do TSC do SPSS®, versão 14, e a implementação do
CLARA da linguagem R, versão 2.4.1, disponível em http://www.r-project.org. O Kmédias foi rodado tanto no SPSS quanto no R. Para todos os algoritmos foi fornecido o
número correto de agrupamentos. A Tabela 3 apresenta a acurácia (porcentagem de
casos agrupados corretamente) em cada uma das dezesseis bases de dados geradas. No
caso das bases de dez mil registros, o experimento foi feito em triplicata; e os valores
apresentados na Tabela 3 referentes aos ensaios 1, 2, 4, 7, 8, 11, 12 e 16 correspondem
às médias dos resultados dessas triplicatas.
Observa-se na Tabela 3 que, em média, o TSC obteve a melhor acurácia, seguido
do CLARA e, por último, o K-médias. Mas isto não aconteceu em todas as bases de
dados. A Figura 1 mostra um detalhamento da análise dos resultados, onde se visualiza
o efeito de cada fator em estudo.
16
WAAMD 2007
III Workshop em Algoritmos e Aplicações de Mineração de Dados
Tabela 3. Porcentagem de casos agrupados corretamente
Ensaio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Média:
TSC
83,20
79,71
96,07
42,55
93,27
90,96
96,22
91,41
40,62
53,37
93,11
88,61
77,88
98,95
58,02
70,77
78,42
Algoritmo
K-médiasSPSS K-médiasR
62,60
61,02
57,03
70,86
83,72
85,02
69,57
73,66
69,80
70,49
98,80
98,80
78,77
76,63
96,94
96,96
37,03
40,57
52,18
60,83
94,33
94,31
71,23
71,47
82,98
82,97
99,03
99,03
54,43
51,65
57,79
55,73
72,89
74,38
CLARA
78,80
48,79
94,19
61,55
83,62
97,63
94,99
97,64
39,88
65,36
93,67
89,56
83,16
94,72
54,12
58,29
77,25
90.0
A
c
u
r
á
c
ia(%
)
85.0
TSC_SPSS
80.0
K-médias_SPSS
75.0
70.0
K-médias_R
65.0
Clara_R
60.0
dez mil
um milhao
90.0
90.0
85.0
85.0
Acurácia (%)
Acurácia (%)
quantidade de r e gis tr os
80.0
75.0
70.0
65.0
80.0
75.0
70.0
65.0
60.0
60.0
duas
dez
dois
dez
quantidade de grupos
90.0
90.0
85.0
85.0
Acurácia (%)
Acurácia (%)
quantidade de variáveis
80.0
75.0
70.0
65.0
80.0
75.0
70.0
65.0
60.0
60.0
ausentes
presentes
não-correlacionadas
correlacionadas
Correlação entre variáveis
90.0
90.0
85.0
85.0
Acurácia (%)
Acurácia (%)
variáveis categóricas
80.0
75.0
70.0
65.0
80.0
75.0
70.0
65.0
60.0
60.0
normal
gama
iguais
Distribuição dos dados
diferentes
Variâncias
Figura 1. Porcentagem média de casos agrupados corretamente, por algoritmo e por característica
da base de dados.
17
WAAMD 2007
III Workshop em Algoritmos e Aplicações de Mineração de Dados
A Figura 1 mostra que a mudança no número de registros (tamanho das
amostras) e no número de grupos praticamente não altera a análise comparativa entre os
algoritmos. Mas em termos do número de variáveis, observa-se que o TSC e o CLARA
têm acurácias relativamente melhores para duas variáveis, mas com dez variáveis os
resultados são praticamente iguais ao K-médias. Na presença de variáveis categóricas o
TSC e CLARA se apresentam um pouco melhor que o K-médias, já na presença de
correlações não-nulas eles têm acurácia bem melhor que o K-médias. Para dados com
distribuição normal o TSC é o melhor, enquanto que para dados com distribuição gama
(assimétrica) o CLARA cresce em acurácia comparativamente aos outros. O resultado
mais expressivo ocorre quando os grupos têm variâncias diferentes. Neste caso o TSC
tem a melhor acurácia e o K-médias perde drasticamente em relação aos outros.
Os resultados da mudança dos dois últimos fatores (distribuição e variância) têm
relação direta com o algoritmo TSC, pois ele se baseia na função de verossimilhança da
distribuição normal com variâncias diferentes entre grupos.
A Tabela 4 apresenta a média do tempo de processamento nos dezesseis ensaios
do experimento realizado. Observa-se que os algoritmos executados na linguagem R
foram bem mais rápidos do que os algoritmos executados no SPSS®. Isso deve ter
ocorrido por mecanismos internos de cada um dos programas. Restringindo-se aos
resultados do SPSS®, verifica-se que o tempo de processamento do TSC foi bem maior
do que o K-médias, porém o percentual de aumento do tempo quando se aumenta o
número de registros é menor no TSC do que no K-médias. Assim, estes resultados são
parcialmente compatíveis com SPSS (2001) e Chiu et al. (2001), que apontam a
escalabilidade como uma vantagem do TSC.
Tabela 4. Média do tempo de processamento (s).
Algoritmo
TSC
K-médiasSPSS
K-médiasR
CLARA
65,28
17,67
7,21
3,56
5. Melhoramento no TSC
Uma deficiência na maioria dos algoritmos de agrupamento é que eles não consideram a
correlação entre as variáveis de entrada. A Figura 2 mostra a importância de se
considerar a correlação entre as variáveis de entrada. Observe que o ponto P (um
registro em uma base de dados) está mais próximo do agrupamento G2 do que do
agrupamento G1 (em termos da distância euclidiana), mas se considerarmos uma
possível correlação positiva entre as variáveis X1 e X2, então o ponto P está mais
próximo de G1 do que de G2 (a distância de Mahalanobis).
X2
P
x
o
o
G2
G1
X
Figura 2. Representação da distribuição das curvas de nível de dois agrupamentos
18
WAAMD 2007
III Workshop em Algoritmos e Aplicações de Mineração de Dados
Considerando os dados de Q variáveis quantitativas relativas ao k-ésimo
agrupamento e supondo distribuição normal multivariada, o valor máximo da função de
log da verossimilhança pode ser escrito como (baseado nos resultados descritos em
Johnson e Wichern , 2002):
Q
N
Lˆ k = − k [ Q {log( 2π ) + 1} + ∑ log(| Σˆ kj |)]
2
j =1
(5)
Σ̂
onde kj é a estimativa máxima de verossimilhança das matrizes de variância e
covariância, com os elementos dados por:
 Nk
Nk
 N k

σˆ (jlk ) = N k ∑ x (jik ) xli( k ) − ∑ x (jik )  ∑ xli( k ) 
(6)
 i =1
 i =1

Considerando as correlações positivas entre as variáveis quantitativas, a
distância de log da verossimilhança entre os agrupamentos t e s é:
i =1
d (t , s) = Bt + Bs − B< t , s >
com:
Bv = − N v {
C M j
1 Q
∑ log(| Σˆ vj |) − ∑ ∑ pˆ vjm log( pˆ vjm )}
2 j =1
j =1m =1
(7)
(8)
onde ν pode representar s, t ou os dois grupos unidos: <t, s >.
Assim, para incorporar as correlações, os CFs devem incluir um vetor de
dimensão Q(Q − 1) 2 , representado por SP, cujos elementos são as somas dos produtos das
variáveis quantitativas. Para o agrupamento k:
r
r
r
r r
CFk* = ( N k , SLk , SQk , SPk , Pk )
(9)
As modificações sugeridas na distância de log da verossimilhança podem
aumentar consideravelmente o tempo de processamento, porque a cada etapa seria
necessário calcular as variâncias e covariâncias, além de calcular o determinante de uma
matriz. As covariâncias podem ser mal estimadas quando o número de registros em um
agrupamento em formação for pequeno. A nossa proposta é que a distância definida em
(7) e (8) seja adotada somente na segunda etapa do algoritmo: a construção dos
agrupamentos baseada nos pré-agrupamentos. Dessa forma, o aumento no tempo de
processamento deverá ser pequeno e o algoritmo permitirá a formação de agrupamentos
em forma elipsóide, unindo registros em agrupamentos de maneira mais confiável.
6. Considerações Finais
Foram feitas comparações do TSC com os algoritmos K-médias e CLARA, onde se
observou que o TSC tem melhor acurácia que os outros algoritmos. A vantagem do TSC
aumenta quando se têm poucas variáveis e estas têm variâncias bem diferentes nos
agrupamentos; no entanto, o TSC foi mais lento.
Uma modificação foi proposta na medida de distância do log da verossimilhança
para o TSC, que permite incorporar a correlação entre variáveis quantitativas. Como
trabalho futuro, pretende-se implementar no TSC a medida de distância proposta e
avaliar a escalabilidade e acurácia do algoritmo modificado.
19
WAAMD 2007
III Workshop em Algoritmos e Aplicações de Mineração de Dados
7. Referências bibliográficas
Andrade, D. F.; Barbetta; P. A.; Freitas, P. J.; Zunino, N. A. M. e Jacinto, C. M. C.
Using copulas in risk analysis. 2006 Winter Simulation Conference. 2006.
Anjos, U.U., Ferreira, F.H., Kolev, N.V., Mendes, B.V.M. Modelando Dependências via
Cópulas. São Paulo: Associação Brasileira de Estatística, 2004.
Banfield J. D.; Raftery, A. E.. Model-based Gaussian and non-Gaussian clustering,
1993. Biometrics, 49. p. 803–821;
Chiu, Tom; Fang, DongPing; Chen, John; Wang, Yao; Jeris, Christopher. A robust and
scalable clustering algorithm for mixed type attributes in large database environment.
Nos anais de ACM KDD 01, 2001. Pages 263-268, São Francisco, Califórnia.
Johnson, R. A.; Wichern, D. W. Applied Multivariate Statistical Analysis. Fifth Edition.
Prentice Hall, 2002.
Kaufman, Leonard; Rousseeuw, Peter. Finding Groups in Data – An Introduction to
Cluster Analysis. John Wiley & Sons, 2005.
MacQueen, J. B. Some Methods for Classification and Analysis of Multivariate
Observations. Nos anais do 5th Berkeley Symposium on Mathematical Statistics and
Probability, 1967 p. 281-297.
Montgomery, Douglas C. Design and Analysis of Experiments. Sixth Edition. John
Wiley & Sons, 2005.
Prass, F. S. Um estudo comparativo entre algoritmos de Análise de Agrupamentos em
mineração de dados. Dissertação de mestrado - UFSC. Florianópolis, 2004.
Song, Xue-Kun P. Multivariate dispersion models generated from gaussian copula.
Scandinavian Journal of Statistics v. 27, p. 305-330, 2000.
Mingoti, Sueli A. e Lima, Joab O.. Comparing SOM neural network with Fuzzy cmeans, K-means and traditional hierarchical clustering algorithms European Journal
of Operational Research, Volume 174, Issue 3, 1 November pp. 1742-1759, 2006.
The SPSS TwoStep Cluster Component – A scalable component enabling more efficient
customer segmentation. White paper – technical report. USA, 2001.
Zhang, Tian; Ramakrishnan, Raghu; Livny, Miron. Birch: an efficient data clustering
method for very large databases. Nos anais de ACM SIGMOD Conference on
Management of Data, Montreal, Canada, 1996.
Zhang, Tian. Data clustering for very large datasets plus applications. Tese de
doutorado. University of Wisconsin-Madison, 1997.
20
Download