1. CURSO DE CAPACITAÇÃO:
Recursos do Ambiente “R” para a
Análise de Clusters
Rodrigo Nunes Ferreira
Doutorando em Geografia (IGC/UFMG)
rodrigonunesferreira@gmail.com
"Será que é proveitoso gastar tempo para
desenvolver e estender habilidades em
programação? Sim, porque o investimento pode e
contribuir com sua habilidade em formular questões
e na confiança que você terá nas respostas”
John Chambers (2008)
2. Análise de Agrupamento
Introdução ao R: conceitos e funções básicas
Introdução à análise de agrupamentos
Medidas de Similaridade e Dissimilaridade: construindo a
matriz de distância
Técnicas Hierárquicas Aglomerativas: função hcclust e
análise de dendograma
Técnicas de Agrupamento Não Hierárquicas I: algoritmo
K-means
Técnicas de Agrupamento Não Hierárquicas II: fuzzy
cluster (algoritmo C-means)
Introdução às técnicas de validação de agrupamento:
Critérios Externos, Internos e Relativos.
PASTA NO DROPBOX: www.bit.ly/igacursoR
4. Análise de Agrupamento
Análise de agrupamentos = análise de
conglomerados = classificação = cluster
Modalidade: classificação nãosupervisionada
Objetivo: dividir em grupos os elementos
da amostra ou população, de forma que
os elementos pertencentes a um grupo
sejam similares entre si com respeito às
variáveis (características) que neles foram
medidas, e os elementos em grupos
diferentes sejam heterogêneos em relação
a estas mesmas características (MINGOTI,
2005, p. 155)
Não há pressuposto sobre a forma/tipo de
distribuição das variáveis: o foco da
análise de agrupamentos é a comparação
de objetos com base na variável
estatística, não na estimação da variável
estatística em si (definição da variável
estatística feita pelo pesquisador é um
passo crítico na análise).
5. Etapas da Análise de
Agrupamentos
PASSO 1 – Pré-Processamento
Seleção de Dados
Normalização
Seleção da Função de Distância
PASSO 2 – Análise de Cluster
Seleção do Algoritmo
Seleção dos Parâmetros
Aplicação do Algoritmo
Passo 3 – Validação do Agrupamento
Seleção de Técnicas de Validação
Aplicação de Técnicas de Validação
Interpretação dos Resultados
Fonte: Jain, A. K., Murty, M. N., and Flynn, P. J. (1999). Data Clustering: a Review. ACM Comput. Surv., 31(3):264–323.
Handl, Julia, Joshua D. Knowles, and Douglas B. Kell, 2005. Computational cluster validation in post-genomic data analy-sis. Bioinformatics :3201–3212.
Halkidi, Maria, Yannis Batistakis, and Michalis Vazirgiannis. "On clustering validation techniques." Journal of Intelligent Information Systems 17.2-3
(2001): 107-145.
7. Passo a Passo - Agrupamento
Hair Jr., J.F., Anderson, R.E., Tatham, R. L., Black, W.C. Análise multivariada de dados. trad.
Adonai Schlup Sant'Anna e Anselmo Chaves Neto.- 5. ed.- Porto Alegre: Bookman, 2005.
8. Passo a Passo - Agrupamento
o A multicolinearidade atua como um processo de ponderação não visível para o
observador, mas que afeta a análise.
o Solução: reduzir as variáveis a números iguais em cada conjunto.
o Escores fatoriais: as variáveis que verdadeiramente discriminam entre os grupos
inerentes não são bem representadas na maioria das soluções fatoriais.
o Desafio: lidar tanto com a multicolinearidade quanto com a discriminabilidade
das variáveis para atingir a melhor representação de estrutura.
Hair Jr., J.F., Anderson, R.E., Tatham, R. L., Black, W.C. Análise multivariada de dados. trad.
Adonai Schlup Sant'Anna e Anselmo Chaves Neto.- 5. ed.- Porto Alegre: Bookman, 2005.
9. Passo a Passo - Agrupamento
Hair Jr., J.F., Anderson, R.E., Tatham, R. L., Black, W.C. Análise multivariada de dados. trad.
Adonai Schlup Sant'Anna e Anselmo Chaves Neto.- 5. ed.- Porto Alegre: Bookman, 2005.
10. Passo a Passo - Agrupamento
Hair Jr., J.F., Anderson, R.E., Tatham, R. L., Black, W.C. Análise multivariada de dados. trad.
Adonai Schlup Sant'Anna e Anselmo Chaves Neto.- 5. ed.- Porto Alegre: Bookman, 2005.
11. Medidas de Similaridade e
Dissimilaridade: construindo a
matriz de distância
Insira o logotipo aqui
12. Tipos de Medidas de Dissimilaridade
Situação: conjunto de dados constituídos de n elementos
com p-variáveis aleatórias. Para cada elemento j tem-se o
vetor de medias Xj, definido por: Xj = [X1j, X2j ... Xpj]´, j= 1,2,..., n,
onde X1j representa o valor observado da variável i medida
no elemento j.
Objetivo: agrupar elementos em g grupos.
Como medir a similaridade/dissimilaridade entre os
elementos considerando o conjunto das p-variáveis
aleatórias?
Existem várias medidas de dissimilaridade (quanto menor o
valor mais similares os elementos), e cada uma delas produz
um determinado tipo de agrupamento.
Fonte: Jain, A. K., Murty, M. N., and Flynn, P. J. (1999). Data Clustering: a Review. ACM Comput. Surv., 31(3):264–323.
Mingoti, S.A. Análise de dados através de métodos de estatística multivariada – uma abordagem aplicada. Belo Horizonte: Editora: UFMG,
2005. 295p.
13. Tipos de Medidas de Dissimilaridade
Para dados contínuos ou intervalar:
›
Distância Euclidiana [1]
›
Distância Euclidiana Generalizada/ponderada [4]:
Média (matriz S = diagonal)
Mahalanobis (matriz S=matriz de covariâncias )
›
›
city-block ou Manhattan: p=1
Chebyshev: p=+∞ [5]
menos afetada por valores discrepantes, quanto maior o
valor p maior a sensitividade da métrica a distâncias
maiores
calcula a soma das diferenças fracionárias entre as
coordenadas de pares de objetos
Para dados binários:
›
›
›
[2]
[3]
Distância de Canberra [3]
Mahalanobis: reduz efeito da multicolinearidade
Distância de Minkowsky [2]
[1]
Concordância Simples (% de concordância)
Concordância Positiva (exclui pares (0 0):
Jaccard: proporção de número de pares
concordantes (- pares (0 0)
Fonte: Jain, A. K., Murty, M. N., and Flynn, P. J. (1999). Data Clustering: a Review. ACM Comput. Surv., 31(3):264–323.
Mingoti, S.A. Análise de dados através de métodos de estatística multivariada – uma abordagem aplicada. Belo Horizonte: Editora: UFMG, 2005. 295p.
[4]
[5]
14. Tipos de Medidas de Dissimilaridade
Distância Euclidiana: a “mais popular medida para dados
contínuos” (Jain et al., 1999, p. 271, tradução livre), que
define a distância entre dois elementos Xi e Xj ϵ K, i≠j e K= (1,
..., k), como:
𝑑
› 𝑑2 𝑥1 , 𝑥 𝑗 = ( 𝑘=1(𝑥 𝑖,𝑘 − 𝑥 𝑗,𝑘 )2 )1/2
Padronização dos dados: evitar efeito de escala
›
Escala de valores Z: média = 0 e desvio padrão = 1 (1 unidade = 1
desvio padrão)
Z=x-µ/σ
Mingoti, S.A. Análise de dados através de métodos de estatística multivariada – uma abordagem aplicada. Belo Horizonte: Editora: UFMG,
2005. 295p.
16. Técnicas Hierárquicas :
aglomerativas x divisivas
Divisivo
Aglomeração
Hierárquica
Aglomerativo
Divisivo
Aglomerativo
Objetivo: análise exploratória de
dados visando identificar
possíveis agrupamentos e o
valor provável do número de
cluster “ideal”.
17. Técnicas Hierárquicas Aglomerativas
Ligação Simples (Single Linkage): similaridade definida pelos
dois elementos mais parecidos entre si (agrupado pelos
vizinhos mais próximos).
Ligação Completa (Complete Linkage): similaridade definida
pelos elementos que são menos semelhantes (agrupado
pelo menor valor de máximo)
Médias das Distâncias (Average Linkage): dissimilaridade
definida pela média das distâncias entre todos os pares
(agrupado pela menor média)
18. Técnicas Hierárquicas Aglomerativas
Método do Centróide (Centroid Method) : distância entre
dois grupos é definida como sendo a distância entre os
vetores de médias.
Método Ward : busca criar em cada grupos que minimizem a
variância total inter-grupos (soma de quadrados entre os
conglomerados). Para isso busca unir os grupos que
minimizem a distância entre os vetores médios dos grupos
(mas leva em consideração o tamanho dos grupos que
estão sendo comparados)
›
Sendo m o centro do cluster j, e nj o número de elementos em j, o custo
de agregar os clusters A e B é dado por:
20. Agrupamento Não-Hierárquico:
Hard x Fuzzy
Partições não hierárquicas: divisão de
um conjunto de entidades em um
número pré-definido de grupos
homogêneos, com relação a uma
medida de similaridade apropriada.
No particionamento rígido (hard) o
objeto pertence a um único cluster, no
agrupamento fuzzy um objeto pode
pertencer a mais de um grupo, mas
com diferentes graus de pertinência.
Fuzzy: permite a sobreposição
das distribuições estatísticas
Representação
bidimensional de
um agrupamento fuzzy
21. Algoritmos selecionados
Algoritmo: define as associações (pertinências) através de
processos iterativos, buscando a minimização da função
objetivo
K-means
› 𝐽=
𝑛
𝑖=1
𝑝
𝑗=1
𝑑(𝑥 𝑖 , 𝑐 𝑗 )2
Principal característica: análise heurística simples.
Objetivo: alocar cada elemento no cluster cujo centroide
é o mais próximo do valor observado para o elemento
Desafio: escolhas das sementes iniciais pode influenciar no
resultado final (opção: uso de técnicas hierárquicas)
Função no R: kmeans {stats}
22. Técnicas de Agrupamento Não
Hierárquicas II: fuzzy cluster
(algoritmo c-means)
Insira o logotipo aqui
23. Lógica Fuzzy
Princípio: os processos de decisão são
marcados pela “incerteza” que afetam a
exatidão das respostas e a coerência das
ações a eles relacionados.
Linguagem matemática (grau de
pertinência) associada à representações
linguísticas de agrupamentos (incerteza).
Nos conjuntos fuzzy as fronteiras não são
nitidamente definidas, um elemento xi
poderá pertencer, com certo grau de
pertinência, a conjuntos diferentes.
O grau de pertencimento a um grupo k é
dado por uma função que imputa graus de
pertencimento no intervalo [0,1] a cada
elemento.
ψA
(xi)
=
Alturas
1,45
1,57
1,58
1,60
1,67
1,78
1,80
1,82
1,86
1,93
ψA
(xi)
0
0
0
0
0
0
1
1
1
1
μ
0,20
0,30
0,30
0,39
0,42
0,48
0,50
0,61
0,82
1,00
24. Uso da análise Fuzzy Cluster
Uso nas mais diversas áreas:
biomédicas, engenharia,
computação...
Em estudos ambientais: destaque
para a classificação de imagens
Em estudos socioeconômicos
› pouco utilizada
› Trabalhos disponíveis fazem
uso do algoritmo fanny
presente no S-Plus
Os limites desenhados em
mapas temáticos (como solo,
vegetação ou geologia)
raramente são precisos e
desenha-los como linhas finas
muitas vezes não representa
adequadamente seu caráter.
Assim, talvez não nos devamos
preocupar tanto com
localizações exatas e
representações gráficas
elegantes.
Peter Alan Burrough (1986)
Principles of Geographical Information
Systems for Land Resources Assessment
Imagem: http://bit.ly/burrough
25. Algoritmos selecionados
Algoritmo: define as associações (pertinências) através de
processos iterativos, buscando a minimização da função
objetivo
Fanny
› 𝐽=
𝑘
𝑣=1
𝑛
𝑗=1
𝑢2
𝑗𝑣
𝑛
𝑖=1
𝑝
𝑗=1
𝑚
𝑢 𝑖𝑗 𝑑(𝑥 𝑖 , 𝑐 𝑗 )2
C- Medoids (FCMdd)
›
2
𝑢2 𝑢2 𝑑(𝑖,𝑗)
𝑖𝑣 𝑗𝑣
C-Means (FCM)
› 𝐽 𝑈; 𝑐 =
𝑛
𝑖,𝑗=1
𝐽 𝑚 𝑉; 𝑋 =
𝑛
𝑗=1
𝑐
𝑖=1
𝑚
𝑢 𝑖𝑗 𝑟 𝑋 𝑗 , 𝑉𝑖 ,
Principal diferença: definição do centro dos
agrupamentos:
›
›
›
Fanny: inexistente, matriz de distância entre os elementos do grupo
FCM: centro médio do grupo
FCMdd: um dos elementos do próprio grupo
26. Introdução às técnicas de
validação de agrupamento:
Critérios Externos, Internos e
Relativos.
Insira o logotipo aqui
27. Validação do Agrupamento
Gerado
Objetivo: maximizar a
dissimilaridade intergrupos e
minimizar a intra-grupos
Busca do agrupamento
natural das variáveis
selecionadas no espaço pdimensional
Diversos critérios ad hoc
estão disponíveis na
literatura
28. Validação de Agrupamentos
O Termo Validação é utilizado para caracterizar, de forma
ampla, os diferentes procedimentos para avaliar de maneira
objetiva e quantitativa os resultados da análise de
agrupamento.
Internos: Avalia o grau de compatibilidade entre a estrutura de
grupos sob avaliação e os dados, usando apenas os próprios
dados
Relativos: Avaliam qual dentre duas ou mais estruturas de grupos
é melhor sob algum aspecto. É uma classe particular de critérios
com habilidade para indicar qual a melhor dentre duas ou mais
partições.
Externos: Avalia o grau de correspondência entre a estrutura de
grupos (partição ou hierarquia) sob avaliação e informação a
priori na forma de uma solução de agrupamento esperada ou
conhecida ou mesmo uma outra partição para comparação.
30. Definição do número de grupos
Um dos principais problemas na análise de cluster é a
definição do melhor algoritmo e do número total de cluster k
a utilizar.
Embora nos métodos não-hierárquicos o número de cluster
seja pré-definido, é necessário avaliar em que medida o
total de agrupamentos selecionados se adequa ao
agrupamento natural das variáveis selecionadas no espaço
p-dimensional.
Não existe uma resposta exata para esta questão, e na
ausência de critérios estatísticos internos usado para
inferência, encontra-se na literatura uma série de critérios ad
hoc que podem auxiliar na decisão final (Mingoti, 2005; Hair
Jr. Et al., 2005).
31. Definição do número de grupos
Uma abordagem utilizada para contornar este problema
consiste em executar o algoritmo de agrupamento diversas
vezes com matrizes de distância e de partições/protótipos
iniciais diferentes e número de grupos variados e então escolher
a partição mais adequada de acordo com um critério.
É possível utilizar diversas medidas como regra de parada
(Stopping Rule) que possibilitam a identificação do numero
ótimo de grupos a serem definidos para o conjunto de dados.
Milligan e M. Cooper testaram um total de 30 medidas de
validação de agrupamento visando determinar o número ideal
de cluster no intervalo [2, 5] para cada uma das medidas
utilizadas em um processo de agrupamento hierárquico.
Resultados: os métodos de validação externa Calinski and
Harabasz Index (PseudoF) e Duda and Hart index (Pseudo T2)
como bom indicadores do número de Grupos (Milligan e
Cooper, 1985, p. 169; Mingotti, 2005).
33. Função clValid {clValid}
Função permite o uso de diferentes medidas de validação
interna e de estabilidade para avaliar diferentes soluções de
agrupamento.
É possível controlar:
• Número de cluster
• Medida de dissimilaridade (distância): "euclidean",
"correlation", and "manhattan"
• Diferentes algoritmos: "hierarchical", "kmeans", "diana",
"fanny", "som", "model", "sota", "pam", "clara", and "agnes"
• Tipo de agregação (para métodos hierárquicos): "ward",
"single", "complete", and "average"
Fonte : Guy Brock, Vasyl Pihur, Susmita Datta, and Somnath Datta, Package ‘clValid’. August 29, 2013,
http://cran.r-project.org/web/packages/clValid/index.html
34. Função clValid {clValid}
Medidas Internas:
A connectivity indica o grau de conectividade dos agrupamentos, determinada pelos vizinhos kmais próximos. O argumento neighbSize especifica o número de vizinhos a serem considerados
(default = 10). A medida tem valor entre 0 e infinito, e deve ser minimizado.
Silhouette Width e Dunn Index combinam medidas de densidade e separação dos clusters.
A Silhouette Width é a largura média da silhueta das observações. Mede o grau de confiança do
agrupamento, com valores no intervalo [-1,1], quanto mais próximo de 1 melhor a qualdiade do
agrupamento e quanto mais próximo de -1 pior.
O Dunn Index é a razão entre a menor distância entre as observações que não estão no mesmo
cluster e a maior distância entre dentro do clusters. Tem valor entre 0 e o infinito, e deve ser
maximizada
Fonte : Guy Brock, Vasyl Pihur, Susmita Datta, and Somnath Datta, Package ‘clValid’. August 29, 2013,
http://cran.r-project.org/web/packages/clValid/index.html
35. função clValid {clValid}
Medidas de Estabilidade:
As medidas de estabilidade são uma versão especial de medidas internas que avaliam a estabilidade
de um resultado de aglomeração, comparando-a com os aglomerados obtidos através da remoção de
uma coluna de cada vez. Estas medidas incluem: Average Proportion of Non-overlap (APN),
Average Distance (AD), Average Distance Between Means (ADM) e Figure of Merit (FOM).
APN, AD e ADM são todas baseadas na tabela de cruzamento de classificação do agrupamento
original com a aglomeração baseado na remoção de uma coluna.
A APN mede a proporção média das observações não colocadas no mesmo cluster em ambos os
casos, enquanto a AD mede a distância média entre as observações colocadas no mesmo cluster em
ambos os casos e a ADM mede a distância média entre os centros de cluster para observações feitas
no mesmo cluster em ambos os casos.
A FOM mede a variação média intraconglomerado da coluna eliminada, e agrupamento é feito com
base nas colunas restantes (não eliminadas).
Em todas as medidas a média é tomada sobre todas as colunas deletadas, e todas devem ser
minimizadas.
Fonte : Guy Brock, Vasyl Pihur, Susmita Datta, and Somnath Datta, Package ‘clValid’. August 29, 2013,
http://cran.r-project.org/web/packages/clValid/index.html
37. Validação de Agrupamento:
Silhueta de ROUSSEEUW
a(i) = dissimilaridade média de i para todos os objetos de A.
d( i, C) = dissimilaridade média de i para todos os objetos de C.
Quando o cluster B é o mínimo atingido (isto é, d( i, B) = b(i)) este é chamado de
vizinho (neighbor) do objeto i.
O valor s(i) é obtido pela combinação de a(i) e b(i) da seguinte forma:
Fonte: Rousseeuw, Peter J. "Silhouettes: a graphical aid to the interpretation and validation of cluster analysis." Journal of computational
and applied mathematics 20 (1987): 53-65.
38. Validação de Agrupamento:
função cluster.stats {fpc}
Continua...
n
Número de casos
cluster.number
Número de clusters.
cluster.size
Número de casos em casa cluster
min.cluster.size
Menor cluster.
noisen
Numero de casos que não pertencem a nenhum grupo
diameter
Diâmetro máximo dos clusters (máxima distância dentro dos clusters)
average.distance
Distância média dentro dos clusters
median.distance
Distância mediana dentro dos clusters
separation
Menor distância entre um ponto de um cluster a um ponto fora do cluster
average.toother
Distância média entre os pontos dentro e fora do cluster
separation.matrix
Matriz da distância de separação dos clusters (distância mínima)
ave.between.matrix matriz de dissimilaridade média entre os pontos de cada par de clusters
average.between
Distância média entre os clusters
average.within
Distância média dentro dos clusters
n.between
Número de pares de distâncias entre os agrupamentos.
n.within
Número de pares de distâncias dentro dos agrupamentos
max.diameter
Valor máximo de diâmetros de cluster.
min.separation
Valor mínimo de distância de separação (entre um ponto dentro e outro fora do cluster).
within.cluster.ss
Uma generalização da soma de quadrados nos agrupamentos (função objetivo k-means), obtida a partir
de uma matriz de distância Euclidiana (metade da soma dos quadrados das dissimilaridades dentro do
cluster dividido pelo tamanho do cluster.).
Fonte: Christian Hennig. Package ‘fpc’. August 29, 2013, http://cran.r-project.org/web/packages/fpc/fpc.pdf
39. Validação de Agrupamento:
função cluster.stats {fpc}
Conclusão.
clus.avg.silwidths
Silhueta média dentro do grupo.
avg.silwidth
Silhueta média
g2
Goodman and Kruskal's Gamma coefficient (Objetivo: maximização).
g3
G3 coefficient, avalia a relação entre a distância média dentro do cluster a o intervalo de distância total
do particiobnamento (máx – min) (Objetivo: minimizar).
pearsongamma
correlation between distances and a 0-1-vector where 0 means same cluster, 1 means different clusters.
"Normalized gamma" in Halkidi et al. (2001).
dunn
Menor distância de separação/máximo diâmetro. Dunn index, see Halkidi et al. (2002).
dunn2
Menor dissimilaridade média entre dosi clusters/ máxima dissimilaridade média dentro dos clusters (family
of Dunn indexes).
entropy
entropia da distribuição dos membros de cluster (Meila, 2007).
wb.ratio
Dissimilaridade média dentro dos grupos/Dissimilaridade média entre os grupos
ch
Relação entre a média da soma dos quadrados entre os grupos e a média da soma dos quadrados
dentro dos grupos
Calinski and Harabasz index (Calinski and Harabasz 1974, optimal in Milligan and Cooper 1985; generalised
for dissimilarites in Hennig and Liao 2010)
cwidegap
vector de maior intervalo dentro de cada Cluster
widestgap
Maior intervalo.
sindex
separation index: média das distâncias mínimas de cada ponto ao ponto mais próximo fora do grupo.
corrected.rand
corrected Rand index: medidas de semelhança ou diferença entre as duas partições (gerada no cálculo
e outra pré-definida pelo usuário (Gordon, 1999, p. 198)
vi
variation of information (VI) index: função que mede a distância entre as duas particiçoes do mesmo
conjunto de dados (Meila, 2007).
Fonte: Christian Hennig. Package ‘fpc’. August 29, 2013, http://cran.r-project.org/web/packages/fpc/fpc.pdf
41. Validação dos Agrupamentos Fuzzy
Índices de Validação Relativos para agrupamentos fuzzy
selecionados (consideram a matriz de pertinência U)
Nome
Objetivo
Função e Pacote do
R
Fclust.ind fclustInde
ex {fclust} x {e1071}
Referencia
Bibliográfica
Baseados Apenas na Matriz de Partição
PC (Partition Coeficient)
MPC (Modified Partition
Coefficient)
PE (Partition Entropy)
max
x
max
x
min
x
x
Bezdek, 1981;
Dunn, 1974
Dave, 1996
x
Bezdek, 1981
Baseados Na matriz de dados
Fuzzy Hypervolume
min
x
APD (Average Partition
Density)
max
x
PD (Partition Density)
max
x
Xie Beni Index
min
Fukuyama Sugeno
Index
min
FSS (FuzzySimplified
Silhouette Index)
max
x
x
x
x
Gath e Geva
(1989)
Gath e Geva
(1989)
Gath e Geva
(1989)
Xie & Beni, 1991;
Fukuyama e
Sugeno (1989)
Campello &
Hruschka, 2006)