• Nenhum resultado encontrado

Apontamentos M4

N/A
N/A
Protected

Academic year: 2021

Share "Apontamentos M4"

Copied!
56
0
0

Texto

(1)

Professor Doutor Fernando Lucas Bação

U

NIDADE DE

(2)

1

Introdução à Análise de Clusters.

2

As Fases da Análise de Clusters.

3

Algoritmos Hierárquicos.

4

Algoritmos de Partição.

5

Profiling ou Análise e Validação da Solução.

6

Links de Interesse.

6

Bibliografia.

6

Anexo.

TÓPICOS

(3)

1 INTRODUÇÃO À ANÁLISE DE CLUSTERS

Análise de Clusters é a denominação genérica atribuída a uma grande variedade de metodologias utilizadas para classificar entidades. Estas metodologias constroem grupos de entidades semelhantes entre si. Mais especificamente, a análise de clusters é um conjunto de algoritmos que, a partir de um conjunto de informação sobre um grupo de objectos (entidades, indivíduos, exemplos, padrões de input), procura organizá-las em grupos tanto quanto possível homogéneos, determinando uma “estrutura” de semelhanças/dissemelhanças entre os objectos.

Apesar de relativamente antigos, os métodos de análise de clusters conheceram um grande desenvolvimento com o advento da computação e especialmente a computação pessoal, sendo que a maior parte da literatura sobre este tipo de métodos data das últimas 4 décadas do Sec. XX. Um dos grandes estímulos ao desenvolvimento deste tipo de métodos foi a publicação em 1963 da obra de Robert Sokal e Peter Sneath, Principles of Numerical Taxonomy. Nesta obra os autores defendem que uma forma eficiente para a criação de classificações biológicas passaria pela recolha de todos os dados possíveis sobre os organismos, estimar o seu grau de semelhança e utilizar um método de classificação para colocar os organismos com semelhanças nos mesmos grupos. Uma vez formados os grupos, os seus membros podem ser analisados por forma a determinar se representam espécies biológicas diferentes. Após a publicação desta obra a produção bibliográfica cresceu de uma forma impressionante, quer devido ao já referido desenvolvimento da computação quer também devido à utilidade deste tipo de métodos em diversos procedimentos científicos.

Como já foi referido, a análise de clusters tem como principal objectivo criar grupos (clusters) homogéneos de entidades. Os objectivos deste tipo de análise são fundamentalmente quatro:

• Desenvolvimento de tipologias ou classificações;

• Investigação de esquemas conceptuais que expliquem o agrupamento definido; • Construção de hipóteses através da exploração de dados;

• Testar hipóteses ou determinar se os grupos definidos através de outros procedimentos estão, de facto, presentes nos dados.

(4)

As metodologias de análise de clusters são meramente exploratórias, simples regras de agregação, ao contrário de outras metodologias estatísticas como a análise de regressão. Assim, os algoritmos de clustering são ferramentas de descoberta que revelam estruturas de associações nos dados que podem não ser evidentes especialmente quando os objectos são descritos por um elevado número de variáveis. Por outro lado, é comum que diferentes algoritmos gerem diferentes soluções. No entanto, a ideia subjacente a este tipo de análise é sobretudo gerar hipóteses, mais do que testá-las, pelo que a posterior validação/análise dos resultados encontrados é fundamental.

A análise de clusters parte de um grande conjunto de objectos, caracterizados por diversas variáveis e procura substitui-los por um conjunto substancialmente menor de objectos que se assumem como representantes dos primeiros. Na Figura 1 temos a ideia geral da análise de clusters, agrupar indivíduos semelhantes por forma a simplificar a sua interpretação.

Figura 1: o processo de clustering, a duas dimensões, em revista.

A análise de clusters pode então ser entendida como uma metodologia de compressão de dados, onde, por via da simplificação, de grandes quantidades de dados imperceptíveis,

(5)

obtemos informação passível de ser assimilada e conduzir a acções informadas. Assim, a análise de clusters constitui um exercício de trade-off entre o detalhe proporcionado pelos dados completamente desagregados e a compreensão produzida pela simplificação destes através da análise de clusters. Quanto maior o número de clusters maior a riqueza da informação mas também maior a complexidade de análise e compreensão.

1.1 Clustering versus Classificação

É importante evidenciar a diferença entre clustering e classificação, na medida em que, no âmbito do Data Mining, ao contrário de outras áreas, as duas palavras são utilizadas para descrever tarefas diferentes. A classificação inicia-se com um conjunto de dados pré-classificados, ou seja, o método a utilizar tem à sua disposição, um conjunto de dados onde constam não só as variáveis a utilizar na classificação (variáveis input) como também a verdadeira classe a que cada um dos registos pertence (variáveis output). Com base nestes dados, tenta-se desenvolver um modelo capaz de prever a verdadeira classe de um novo registo.

Um exemplo típico deste tipo de tarefa é o tradicional credit scoring, muito utilizado em bancos e companhias de crédito. Aqui o objectivo central consiste em atribuir a cada novo cliente, que se candidata a um empréstimo, um score (propensão) em termos de risco, ou seja, uma probabilidade de o cliente vir a não cumprir as obrigações financeiras decorrentes do empréstimo. Com base no histórico de empréstimos da empresa e num conjunto de variáveis que se julga relevantes desenvolve-se um modelo preditivo, por forma a classificar cada um dos candidatos a empréstimo com base no seu perfil. Por exemplo, de acordo com o modelo desenvolvido as variáveis relevantes que servem para proceder ao scoring de um candidato são: idade, rendimento mensal e encargos com outros empréstimos. O score do candidato vai depender do valor que apresenta para cada uma destas variáveis, sendo certo que o modelo que ditou a utilização destas variáveis se baseou num conjunto de dados onde, para além destas variáveis também havia informação sobre o cumprimento ou não do contrato de empréstimo.

No caso da análise de clusters, não existem dados pré-classificados. Procuramos grupos (clusters) de objectos que sejam semelhantes entre si. Subjacente está a convicção de que objectos semelhantes em termos das variáveis utilizadas irão ter comportamentos semelhantes.

(6)

1.2 Principais Tipos de Algoritmos de Clustering

Tradicionalmente, as técnicas de análise de clusters são divididas em dois grandes grupos: • Métodos hierárquicos

• Métodos de optimização

Esta é a classificação mais utilizada nas principais referências da área. As técnicas de optimização são suportadas por um critério de agrupamento dos objectos e por um número k (pré-determinado) de grupos (clusters). A optimização (minimização ou maximização) do critério conduz a que cada indivíduo seja incluído num só grupo. Por seu lado, as técnicas hierárquicas podem ser divididas em aglomerativas e divisivas.

As técnicas hierárquicas aglomerativas, partem de uma matriz de distâncias entre os objectos que corresponde inicialmente a n grupos, igual ao número de objectos na análise e vai agrupando os objectos sucessivamente até atingir um único grupo (com n elementos). O agrupamento vai sendo feito através de uma flexibilização da proximidade absoluta: cada indivíduo é agregado ao que lhe está mais próximo; depois, cada grupo daqui resultante, é agrupado ao que lhe está mais próximo e assim por diante, até existir apenas um grupo. Para se proceder à agregação sucessiva dos objectos é necessário o estabelecimento de um critério que defina a proximidade entre grupos. De facto, enquanto estamos ao nível dos objectos a proximidade entre eles é fácil de calcular, na medida em que cada um deles corresponde a um único ponto num espaço multidimensional. Porém, logo após a primeira agregação a proximidade absoluta deixa de existir, conduzindo a alguma distância entre os elementos de cada grupo.

Mais recentemente, e de acordo com o trabalho que tem vindo a ser desenvolvido nesta área, têm sido propostas novas classificações. Este facto é, em larga medida, consequência do enorme trabalho de investigação desenvolvido. Este trabalho tem vindo a incidir com particular insistência no desenvolvimento de métodos adaptados às novas realidades e necessidades, sendo que uma das principais é a capacidade de tratamento de grandes bases de dados. Os requisitos para o desenvolvimento desta nova geração de algoritmos são de diversa ordem, entre os quais podemos destacar:

(7)

• Capacidade de tratar grandes bases de dados, na ordem dos milhões de registos. Muitos algoritmos funcionam bem em pequenas bases de dados (centenas de registos) no entanto a sua performance degrada-se à medida que o número de registo cresce. A possibilidade de proceder ao clustering de amostras destas bases de dados é perigosa, na medida em que pode conduzir a enviesamentos nos resultados.

• Capacidade de lidar com diferentes tipos de atributos. Muitos dos algoritmos disponíveis foram desenvolvidos para tratar dados intervalares, no entanto, cada vez mais são necessários algoritmos que permitam o tratamento de outros tipos de dados.

• Capacidade de tratar clusters com formas arbitrárias. Grande parte dos algoritmos baseiam o clustering em medidas de distância Euclidiana ou de Manhattan, o que faz com que tenham tendência a encontrar clusters esféricos, de dimensão e densidade semelhante. No entanto, um cluster pode assumir qualquer forma, sendo por isso importante desenvolver algoritmos capazes de detectar clusters com formas arbitrárias. • Capacidade de operação com conhecimento mínimo do domínio para determinar

parâmetros de input. Muitos algoritmos necessitam que o utilizador proceda à definição de parâmetros, como por exemplo o número de clusters a formar. É sabido que o resultado pode ser muito sensível às escolhas iniciais. O problema é que a tarefa de definição de parâmetros é normalmente difícil, especialmente em espaços multidimensionais. Este facto, para além de dificultar a vida do utilizador, também torna difícil o controlo de qualidade dos resultados.

• Capacidade de lidar com ruído. A maior parte das bases de dados reais contêm outliers, dados errados ou valores omissos. Nem todos os algoritmos têm capacidade para produzir resultados robustos perante este tipo de dificuldades.

• Insensibilidade à ordem de input dos registos. Alguns algoritmos produzem classificações diferentes, para o mesmo conjunto de dados, se alterarmos a ordem pela qual os registos são apresentados.

• Capacidade de lidar com objectos descritos em muitas dimensões. Nas actuais bases de dados a caracterização dos objectos é, normalmente, feita por um elevado número de dimensões ou atributos. Alguns algoritmos funcionando bem com duas ou três dimensões têm dificuldades em tratar dados multidimensionais. O verdadeiro desafio

(8)

consiste em conseguir produzir bons clusters em espaços multidimensionais, especialmente se tivermos em consideração que estes dados podem ser muito esparsos (curse of dimensionality) e enviesados.

Neste contexto, e tendo em conta os requisitos referidos, a pesquisa na área da análise de clusters tem vindo a adoptar as mais diversas abordagens, dando origem a algoritmos com funcionamento muito diverso. Assim, a classificação proposta por Han e Kamber 2001, parece hoje mais útil do que a simples divisão em métodos de optimização e métodos hierárquicos:

• Métodos de Partição ou Optimização; • Métodos Hierárquicos;

• Métodos de Densidade (Density-Based); • Métodos Baseados em Grelhas (Grid-Based); • Métodos Baseados em Modelos.

1.2.1 Métodos de Partição ou Optimização

Dada uma base de dados com n objectos, um método de partição constrói k partições, onde cada partição representa um cluster e k < n. Por outras palavras, classifica os dados em k grupos, satisfazendo as seguintes condições:

a) cada grupo contém pelo menos um objecto; b) cada objecto pertence a apenas um cluster.

Dado k, o número de partições a construir, o método de partição cria uma partição inicial, de seguida utiliza uma técnica interactiva de relocalização, que tenta melhorar a partição, movendo objectos de um grupo para outro. Genericamente, o critério de uma boa partição é o de que objectos pertencentes ao mesmo cluster estejam próximos ou sejam semelhantes entre eles, ao contrário, objectos pertencentes a clusters diferentes devem encontrar-se afastados ou ser muito diferentes. Existem muitos critérios operacionais para avaliar a qualidade das partições produzidas.

(9)

Para atingir resultados globalmente óptimos os métodos de partição teriam que proceder à enumeração exaustiva de todas as partições possíveis, o que obviamente é incomportável. Assim, a maior parte dos algoritmos adoptam uma de duas heurísticas muito populares:

a) o algoritmo k-means, onde cada cluster é representado pela média dos valores dos objectos que pertencem ao cluster;

b) o algoritmo k-medoids, onde cada cluster é representado por um dos objectos localizado perto do centro do cluster.

Estes métodos de construção de clusters heurísticos funcionam bem com clusters de formas esféricas em grandes bases de dados. Para encontrar clusters com formas complexas, os métodos de partição necessitam de algumas alterações.

1.2.2 Métodos Hierárquicos

Os métodos hierárquicos, tal como o próprio nome indica criam uma decomposição hierárquica do conjunto de objectos. Estes métodos podem ser aglomerativos ou divisivos, de acordo com a forma como a decomposição é feita. A abordagem aglomerativa, também designada bottom-up, inicia-se com cada um dos objectos formando um único grupo. O algoritmo procede então à fusão dos objectos ou grupos que se encontram próximos uns dos outros, até chegar a um único grupo que contém todos os objectos, ou, em alternativa, até que algum critério de paragem seja atingido. A abordagem divisiva, também designada top-down, inicia-se com todos os objectos no mesmo cluster. Em cada interacção um cluster é dividido em clusters mais pequenos, até que cada objecto constitui um cluster, ou até que algum critério de paragem seja atingido.

Os métodos hierárquicos têm um problema essencial e que se relaciona com o facto de uma vez executada uma interacção (fusão ou separação) não se pode voltar atrás. Esta rigidez é útil em termos de custos computacionais, por evitar o custo que deriva das diferentes escolhas combinatoriais. No entanto, este baixo custo tem a ver com a impossibilidade de corrigir decisões erradas. Existem duas formas de melhorar a performance dos métodos hierárquicos:

• executar uma análise cuidadosa das ligações produzidas em cada partição hierárquica (métodos CURE e Chameleon);

(10)

• integrar a aglomeração hierárquica e a relocalização interactiva, utilizando primeiro um algoritmo aglomerativo e depois refinar os resultados utilizando a relocalização interactiva (método BIRCH).

1.2.3 Métodos de Densidade (Density-Based)

A grande maioria dos métodos de partição baseiam-se na distância entre objectos. Como já referimos estes métodos tendem a condicionar a sua busca no sentido de obter clusters de formas esféricas, tendo dificuldade em descobrir cluster com formas mais complexas. Existem, no entanto, outros métodos que foram desenvolvidos baseados na noção de densidade. A ideia subjacente a estes algoritmos é a de que um determinado cluster se deve continuar a desenvolver desde que a densidade na vizinhança (o número de objectos) exceda um determinado limite. Por outras palavras, para cada objecto num determinado cluster, a vizinhança (definida por um raio pré-especificado) deve conter um número mínimo de pontos. Métodos deste tipo podem ser utilizados para identificar outliers e descobrir clusters de formas arbitrárias.

O DBSCAN é um dos algoritmos disponíveis baseado no conceito de densidade que desenvolve clusters de acordo com um limite de densidade.

1.2.4 Métodos Baseados em Grelhas (Grid-Based)

Este tipo de método divide o espaço dos objectos num conjunto finito de células que forma uma estrutura de grelha. Todas as operações de clustering são levadas a cabo nesta grelha. A principal vantagem deste tipo de método consiste na rapidez de processamento, tipicamente independente do número de objectos a agrupar, dependendo apenas do número de células a criar em cada dimensão do espaço.

O algoritmo STING é um exemplo deste tipo de métodos. Os algoritmos CLIQUE e Wave-Cluster conjugam o método de grelhas e densidade.

1.2.5 Métodos Baseados em Modelos

Estes métodos pressupõem um modelo para cada cluster e encontram o melhor ajustamento do modelo aos dados. Um algoritmo deste tipo pode localizar clusters através da construção de funções de densidade que reflectem a distribuição espacial dos objectos. Conduzindo a uma forma automática de definição do número de clusters baseado em estatísticas standard,

(11)

levando em linha de conta o “ruído” e os outliers, produzindo assim métodos de clustering robustos.

(12)

2 AS FASES DA ANÁLISE DE CLUSTERS

Em muitas circunstâncias a análise de clusters é reduzida à questão dos algoritmos de clustering. Apesar da sua importância, os algoritmos constituem apenas uma de uma série de etapas necessárias para que os resultados sejam úteis e relevantes. A importância do conhecimento dos algoritmos não deve ser menosprezada, sendo particularmente relevante para o conhecimento das limitações que todos os procedimentos automáticos possuem. São exactamente essas limitações, decorrentes da forma como os algoritmos foram desenhados, que devem estar presentes no espírito do analista nas fases anteriores e posteriores à aplicação do algoritmo.

Quatro estádios básicos caracterizam a análise de clusters:

1. Definição de um Conjunto de Variáveis sobre as quais se vai aferir a Semelhança/Dissemelhança das Entidades;

2. Definição de um Critério de Semelhança/Dissemelhança entre as Entidades; 3. Aplicação do Algoritmo de Clustering;

4. Profiling ou Análise e Validação da Solução.

Os pontos seguintes servirão para discutir os aspectos fundamentais envolvidos em cada uma destas fases. Para se proceder à selecção de um conjunto de variáveis descritivas das entidades a classificar é necessário, em primeiro lugar, ter em mente que o tipo de problema determina as variáveis a escolher. Se o objectivo é agrupar objectos, a escolha de variáveis com capacidade de discriminação é determinante. A qualidade de qualquer análise de clusters é condicionada, antes de mais, pelas variáveis utilizadas. Este facto conduz-nos a outra nota importante, a experiência do analista no domínio do problema. Este é obviamente um factor decisivo no sucesso da aplicação deste tipo de metodologia. Assim, a experiência do analista condiciona por um lado a escolha de variáveis a utilizar, que deve ser ancorada num bom domínio teórico da área em causa; e por outro lado a explicação dos resultados produzidos. A escolha de variáveis, por condicionar toda a análise, deve reproduzir um contexto teórico de suporte às hipóteses a testar.

(13)

Em resumo poderemos dizer que o objectivo fundamental da análise de clusters consiste em dividir uma população inicial de objectos num conjunto de sub-populações mais homogéneas entre si. Este processo é levado a cabo com base num conjunto de variáveis que sabemos serem bons discriminadores, para o problema em causa. É necessário conhecer o problema a tratar e manter o espírito crítico em relação às soluções encontradas. A análise de clusters serve, antes de mais, para melhorar a compreensão do real evidenciando grupos que partilham semelhanças, manifestando-se sempre por um compromisso entre a infindável diversidade dos fenómenos que estudamos e a limitada capacidade que o Homem possui para distinguir e compreender essa diversidade.

2.1 Definição das Variáveis a Utilizar

A fase da escolha das variáveis a utilizar na análise é, provavelmente, uma das mais importantes de todo o processo de análise de clusters. De facto, a qualidade de toda a análise é condicionada por esta escolha. Uma boa escolha de variáveis poderá permitir obter bons ou maus resultados, dependendo da forma como as restantes fases são abordadas. Uma má escolha de variáveis só poderá ter como resultado um mau resultado, independentemente da qualidade das fases posteriores.

Relacionado de forma estreita com a escolha das variáveis está o objectivo da análise de clusters. Para que as variáveis possam ser adequadamente seleccionadas o utilizador tem que possuir um objectivo concreto para todo o exercício. O facto de os algoritmos de clustering produzirem resultados independentemente das variáveis que utilizamos tende a promover alguma displicência na abordagem destas questões. Sendo a análise de clusters uma tarefa eminentemente exploratória, este facto não deve promover a falta de ponderação e cuidado na definição do objectivo da análise e posterior escolha das variáveis.

Assim, o utilizador deve explicitar o objectivo da análise de clusters (p.e. agrupar os clientes de acordo com o valor que representam para a empresa, ou agrupar os clientes de acordo com os seu hábitos de consumo, etc.) e com base nessa definição considerar quais as variáveis que são relevantes para a obtenção dos resultados desejados. É ainda importante, durante a escolha das variáveis, ter em atenção que as variáveis escolhidas para fazer parte da análise serão decisivas na análise/interpretação dos resultados. As variáveis incluídas na análise serão também aquelas que irão contribuir para a interpretação dos resultados, quanto mais

(14)

“significativas” forem as variáveis mais simples e relevante será a análise/interpretação da solução produzida.

2.2 Definição de um critério de semelhança/dissemelhança entre as

entidades

Na maior parte das situações este problema é determinado pelo software utilizado. Em qualquer circunstância as medidas de distância são de longe as mais populares. Esta popularidade tem diversas razões, mas a simplicidade e facilidade de cálculo constituem considerações determinantes.

Assim, as variáveis intervalares são as mais adequadas para servirem de base à análise de clusters. Por variáveis intervalares entendemos medições contínuas de uma escala linear; como por exemplo o peso, a altura, as coordenadas de latitude e longitude, a temperatura atmosférica, etc. As medidas geométricas baseadas nos espaços Euclidianos têm dominado a análise das relações de semelhança. Estas distâncias representam os objectos como pontos num qualquer espaço multidimensional, de forma a que as dissemelhanças observadas entre os objectos correspondam a distâncias métricas entre os respectivos pontos. Assim, a aplicação de metodologias de clustering passa na maioria das vezes pela utilização de índices de semelhança que respeitem as propriedades métricas, que são:

• Simetria: dados dois objectos, x e y, com x ≠ y, a distância entre eles verifica a propriedade

( ) ( )

x

,

y

=

d

y

,

x

>

0

d

• Desigualdade triangular: dados três objectos, x, y e z as distâncias entre eles satisfazem a propriedade:

( ) ( ) ( )

x

y

d

x

z

d

z

y

d

,

,

+

,

• Diferençabilidade de não idênticos: dados dois objectos x e y:

( )

x

y

x

y

d

,

≠ 0

(15)

( )

x

y

x

y

d

,

= 0

=

Uma das medidas geométricas mais utilizadas é a distância Euclidiana onde a distância entre dois elementos (i,j) é dada pela raiz quadrada do somatório dos quadrados das diferenças entre os valores de i e j para todas as variáveis (v=1, 2,...., p):

(

)

=

=

p v jv iv ij

X

X

d

1 2

A distância de Manhattan é outra medida bastante utilizada:

jv iv p v ij

X

X

d

=

=1

A distância de Minkowski, definida a partir da distância absoluta, pode ser encarada como uma generalização da distância Euclidiana e de Manhattan. Coincide com a distância Euclidiana quando r=2 e com a distância de Manhattan quando r=1:

r p v r jv iv ij

X

X

d

1 1





=

=

Se para cada variável for designado um peso, de acordo com a sua importância para a análise, a distância Euclidiana ponderada toma a seguinte forma:

(

)

=

=

p v jv iv v ij

w

X

X

d

1 2

Um outro critério de semelhança, com alguma popularidade, especialmente nas áreas das ciências sociais e humanas, é o coeficiente de correlação de Pearson. O coeficiente de correlação permite medir o grau de associação linear entre dois elementos, para uma série de variáveis, sendo dados pela fórmula:

(

)(

)

(

) (

2

)

2 1 j jv i iv p v iv i jv j ij

X

X

X

X

X

X

X

X

r

=

=

(16)

onde, Xiv é o valor da variável v para o indivíduo i, (v=1, 2, ....,p); Xjv é o valor da variável v

para o indivíduo j; Xi é a média de todas as variáveis para o indivíduo i; Xj é a média de todas

as variáveis para o indivíduo j; p é o número de variáveis.

Como é óbvio, e já discutimos no módulo anterior, a utilização de distâncias requer a normalização das variáveis. Através da normalização todas as variáveis ficam com uma escala comum. Sem este procedimento qualquer medida de semelhança ou distância irá reflectir o peso, por um lado, das variáveis com maior escala de medida e por isso com valores numéricos mais elevados e, por outro, as variáveis com maior dispersão.

2.3 Aplicação do Algoritmo de Análise de Clusters

As secções 3 e 4 deste módulo serão destinadas à descrição dos mais populares algoritmos de clustering. Uma das grandes vantagens destes algoritmos, que talvez explique o sucesso da análise de clusters, tem que ver com a sua simplicidade e facilidade de compreensão. Quer os algoritmos hierárquicos quer as versões mais usadas dos algoritmos de partição são muito simples e o seu funcionamento é facilmente apreendido.

Em termos genéricos podemos dizer que os algoritmos de partição são bastante mais populares na área do Data Mining. Esta preferência tem múltiplas razões. Em primeiro lugar, são muito rápidos e eficientes computacionalmente. Em segundo lugar, tendem a produzir melhores resultados do que os algoritmos hierárquicos. Em terceiro lugar, podem ser inicializados com diferentes posições iniciais, o que produzirá resultados diferentes sendo assim possível seleccionar a melhor solução. Finalmente, uma das ferramentas mais interessantes dos algoritmos hierárquicos, o dendrograma, tem muito pouco interesse no contexto do Data Mining, uma vez que a quantidade de dados normalmente utilizada torna inviável a sua utilização.

2.4 Profiling ou Análise e Validação da Solução.

O último estádio da análise de clusters traduz-se no profiling, ou seja, na análise/interpretação e validação da solução encontrada. Já referimos que, independentemente dos dados utilizados, um algoritmo de clustering produzirá sempre grupos, mesmo quando esses grupos nada significam. Por outras palavras, não existe qualquer processo de controlo de qualidade, sobre a solução, embutido nos algoritmos. A avaliação da qualidade da solução terá sempre que passar

(17)

pela análise do utilizador. É também verdade que, melhor ou pior, na maior parte das aplicações os clusters criados produzem grupos bastante mais homogéneos do que acontece na população inicial. Se a empresa está interessada em tratar os seus clientes com base no seu perfil, então a utilização da análise de clusters é bastante útil na medida em que os grupos resultantes traduzem clientes com maiores semelhanças e por isso passíveis de ser geridos de forma semelhante. Na secção 5 trataremos este tema com maior detalhe.

(18)

3 ALGORITMOS HIERÁRQUICOS

Como já dissemos atrás, estes métodos conduzem a uma hierarquia de partições P1, P2, …, Ph

do conjunto total dos n elementos em 1, 2, …, h grupos. A denominação de métodos hierárquicos advém do facto de, para cada par de partições Pi e Pi+1, cada grupo da partição

Pi+1 estar sempre incluído num grupo da partição Pi.

O ponto de partida destes métodos baseia-se na construção de uma matriz de semelhanças ou dissemelhanças em que, com base nas variáveis escolhidas, cada elemento da matriz descreve o grau de semelhança ou diferença entre cada dois pares de objectos. Seguidamente esta informação tem que ser combinada para conduzir à agregação dos objectos em grupos.

Se quando no início da análise cada objecto representa um cluster diferente é simples medir as distâncias entre eles, a partir do momento em que o primeiro par de objectos é agrupado passamos a necessitar de uma regra que explicite de que forma vamos medir as distâncias entre este grupo recém formado e todos os outros objectos. O método de combinação dos objectos em grupos recebe a designação de regra de agrupamento ou “amalgamation rule”. Existem diversas regras de agrupamento, todas elas apresentam vantagens e desvantagens:

• Single linkage (vizinho mais próximo): a distância entre dois clusters é determinada pela distância entre os dois objectos mais próximos nos diferentes clusters. Esta regra tende a produzir clusters de formas alongadas.

Figura 2: representação do conceito de single linkage, neste caso a distância que conta entre dois clusters é a distânca entre os dois elementos de cada cluster que se encontram mais próximos.

• Complete linkage (vizinho mais afastado): a distância entre clusters é determinada com base na maior distância entre quaisquer dois objectos dos diferentes clusters. Esta regra tende a obter bons resultados quando os clusters se encontram bem definidos e

(19)

isolados. Caso os clusters apresentem formas alongadas então os resultados serão pobres.

Figura 3: representação do conceito de complete linkage, neste caso a distância que conta entre dois clusters é a distânca entre os dois elementos de cada cluster que se encontram mais distantes.

• Unweighted pair-group average: a distância entre dois clusters é definida como a média das distâncias entre todos os pares de objectos dos dois clusters. Este método tende a ter um bom comportamento quer quando os clusters se encontram em grupos distintos quer quando formam cadeia alongadas.

• Unweighted pair-group centroid: a distância entre dois clusters é definida como a distância entre os centroides dos dois clusters. O centroide de um cluster é o ponto médio num espaço multidimensional definido pelas variáveis. O centroide pode ser visto como o centro de gravidade do cluster.

• Ward's method: é diferente de todos os anteriores na medida em que utiliza a análise de variância para avaliar a distância entre clusters. Esta regra tenta minimizar a soma dos quadrados de quaisquer dois clusters que poderão dar origem a um único cluster. O método de Ward é geralmente considerado bastante eficaz, no entanto tende a promover a criação de clusters pequenos.

Uma vez definida a regra de agrupamento o algoritmo hierárquico inicia-se com uma matriz de dados (Tabela 1), onde as linhas representam os objectos e as colunas representam variáveis. A partir desta primeira matriz é construída uma segunda matriz (Tabela 2), matriz de semelhanças ou dissemelhanças, em que os objectos são representados quer em linha, quer em coluna, i.e, cada elemento da matriz é uma medida de semelhança ou dissemelhança entre cada dois objectos.

(20)

Tabela 1: matriz de dados onde os indivíduos são linhas e as variáveis colunas. X1 X2 … Xp I1 I2 … In

A matriz de dissemelhanças deverá ter o seguinte aspecto:

Tabela 2: matriz de distâncias ou dissemelhanças, onde as distâncias entre os diferentes indivíduos se encontram armazenadas.

I1 I2 … In

I1 0

I2 d(I2,I1) 0

… d(I…,I1) d(I…,I2) …

In d(In,I1) d(In,I2) d(In,I…) 0

A Figura 4 apresenta graficamente os dados armazenados nas duas matrizes. Os quadrados negros representam os objectos que estamos a tentar agrupar; a linha tracejada representa as medições armazenadas na matriz de dados; a linha cheia representa a distância (caso se esteja a utilizar a distância Euclidiana) que é armazenada na matriz de dissemelhanças.

Figura 4: representação gráfica dos dados armazenados nas duas matrizes.

Uma vez produzida a matriz de semelhanças e dissemelhanças o processo é muito simples e envolve apenas a busca do valor mínimo da matriz. Uma vez identificado o valor mínimo é construído o primeiro cluster. O passo seguinte consiste em recalcular a matriz de

(21)

dissemelhanças, agora incluindo o cluster recém-formado e tendo em conta a regra de agrupamento escolhida. A Figura 5 apresenta os primeiros passos do algoritmo hierárquico com base numa matriz com as distâncias entre cidades americanas. Como podemos observar, na figura, a regra de agrupamento que está a ser utilizada é o single linkage (se percebeu a explicação anterior deve ser capaz de chegar à mesma conclusão).

Matriz de Distâncias/Dissemelhanças

Junção de BOS e NY

Junção DC com BOS-NY

Junção DC com SF-LA

Figura 5: exemplo da utilização e evolução da matriz de distâncias/dissemelhanças ao longo de um exercício de clustering das cidades americanas (fonte http://www.analytictech.com/networks/hiclus.htm).

O algoritmo hierárquico inicia-se com um número de clusters igual ao número de objectos (k=n) e termina com um único cluster onde se incluem todos os objectos. O utilizador depois do processamento terá que decidir qual o número de clusters (k) apropriado. Esta é uma tarefa sempre subjectiva mas que pode beneficiar da utilização de uma das mais conhecidas e úteis ferramentas da análise de clusters hierárquica que é o dendrograma (Figura 6).

(22)

O dendrograma é uma árvore onde ficam registados os sucessivos agrupamentos produzidos por um algoritmo hierárquico. Assim, o dendrograma permite visualizar o progresso do algoritmo apresentando a ordenação pela qual os objectos vão sendo agrupados. No caso da Figura 6 os dendrogramas são apresentados tendo em conta a distância a que os agrupamentos foram sendo feitos: quanto maior a distância entre os objectos a agrupar maior o comprimento da linha que liga os objectos. A utilização desta ferramenta pode ser particularmente útil na definição do número de clusters a utilizar na análise.

Figura 6: os dendrograma são ferramentas de visualização do processo de clustering que podem ser de extrema utilidade na compreensão do processo. Tipicamente, o comprimento da linha que liga os diferentes elementos é

proporcional à distância que os separa.

Um outro exemplo do desenvolvimento do algoritmo hierárquico é apresentado no site

http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/hierarchical.html. Neste caso, o exemplo

desenvolve-se com base nas distâncias entre um conjunto de cidades italianas. Qual a regra de agrupamento que está a ser utilizada?

(23)

Início Passo 1

(24)

Passo 4

Dendrograma

Figura 7: exemplo de clustering hierárquico baseado na distância geográfica entre as principais cidade italianas e o respectivo dendrograma.

ACTIVIDADE

O algoritmo hierárquico em acção

Este applet permite visualizar o funcionamento do algoritmo hierárquico. O utilizador apenas tem que definir o número de objectos (data) que quer incluir na análise e o método de combinação dos objectos em grupos (amalgamation) que quer utilizar. De seguida, utilizando os botões initialize e

step, pode visualizar a construção do dendrograma.

http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletH.html O aluno é incentivado a estudar a explicação dada no site sobre o funcionamento do algoritmo hierárquico.

(25)

4 ALGORITMOS DE PARTIÇÃO

O algoritmo k-means recebe como input o parâmetro k, e procede à partição de n objectos em

k grupos, por forma a garantir elevada semelhança intra-cluster e uma elevada dissemelhança

inter-cluster. A semelhança no cluster é medida em função dos valores médios dos objectos do cluster, o que pode ser visto como o centro de gravidade do cluster.

Se o objectivo do método é criar grupos homogéneos, no seu interior, consequentemente o objectivo pode ser considerado, também, a criação de grupos heterogéneos entre si. Uma das medidas que pode ser utilizada para avaliar a homogeneidade/heterogeneidade é a proximidade de cada indivíduo à média do cluster onde se encontra representado. A proximidade pode calcular-se através da soma dos quadrados das diferenças de cada objecto à média do grupo j, i.e. em que medida os objectos se concentram em torno do “centro” de cada grupo,

(

)

2 1

=

j n i j ij

X

X

, onde,

X

ij é o valor da variável para o indivíduo i (i = 1, 2,..., ) do grupo j;

X

j é o valor médio da variável no grupo j;

n

j é a dimensão do grupo j;

e o afastamento da média do grupo à média global dos objectos obtém-se através da soma dos quadrados das diferenças da média de cada grupo j à média global dos objectos:

(

)

2 1

=

m j j

X

X

, onde,

(26)

X

j é o valor médio da variável X para o grupo j;

X

é o valor médio da variável para toda a população; • m é o número de grupos

Com efeito, pode-se demonstrar que a soma dos quadrados da diferença entre o indivíduo i do grupo j e a média global (variabilidade total) pode ser dividida na soma dos quadrados das diferenças de cada indivíduo à média do grupo j mais a soma dos quadrados das diferenças da média de cada grupo j à média global dos objectos:

(

)

(

)

(

)

2 1 2 1 1 2 1 1

∑∑

∑∑

= = = = =

+

=

m j j j m j n i j ij m j n i ij

X

X

X

n

X

X

X

j j

Como já referimos, a homogeneidade intra-grupo e a heterogeneidade inter-grupo pode ser obtida, quer pela minimização da variabilidade intra-grupo, i.e. a minimização da primeira parcela do segundo membro, quer pela maximização da variabilidade inter-grupo, que corresponde à maximização da segunda parcela do segundo membro.

Obter, através de um processo iterativo, uma combinação dos objectos em m grupos que ou minimize a variabilidade intra-grupo ou maximize a variabilidade inter-grupo, é o objectivo deste método. A combinação resultante deste processo iterativo é considerada a repartição óptima.

Quando estivermos em presença de um espaço multidimensional, i.e. no caso em que os objectos da amostra são caracterizados por mais de uma variável p>2, sendo p o número de variáveis, a lógica é a mesma, com a diferença que as variabilidades se somam para cada variável. Assim, a variabilidade total é dada por:

(

)

∑∑

= =

=

n i p v v iv

X

X

T

1 1 2 ,

onde

X

iv é o valor da variável v para o indivíduo i e

X

v é o valor da média da amostra para a

(27)

Por outro lado, a variabilidade intra-grupo, para o grupo j é:

(

)

∑∑

= =

=

nj i p v mv imv j

X

X

W

1 1 2 , onde

X

imv é o valor da variável v para o indivíduo i do grupo m;

X

mv é o valor da média da variável v no grupo m.

A variabilidade total intra-grupos é dada por:

(

)

∑∑∑

= = =

=

m j n i p v jv ijv j

X

X

W

1 1 1 2 ,

A variabilidade inter-grupos deduz-se da mesma forma que para o caso univariado, sendo:

(

)

∑∑

= =

=

m j p v v jv

X

X

B

1 1 2 ,

Em termos práticos o algoritmo k-means funciona da seguinte forma:

1. Aleatoriamente selecciona k objectos, cada um dos quais representará inicialmente o centro do cluster (também designado seed);

2. Cada um dos restantes objectos é atribuído ao cluster com o qual é mais semelhante, ou seja, ao cluster cujo centroide se encontra mais próximo;

3. Uma vez acabada a fase de atribuição os centroides dos clusters são recalculados, ou seja, é calculada a nova média de cada cluster;

4. Este processo continua até que a função objectivo convergir, normalmente a funçaõ objectivo utilizada é a atrás descrita soma dos quadrados das diferenças de cada objectos à média do grupo. Este critério constrói k clusters o mais compactos e separados possível.

(28)

Este algoritmo funciona bem quando os clusters são constituídos por nuvens compactas e que se encontrem separados de forma clara uns dos outros. O método é eficiente em grandes conjuntos de dados, sendo a sua complexidade computacional definida por O(nkt), onde n é o

número total de objectos, k o número de clusters e t o número de interacções. É importante ter em atenção que o método é muito susceptível a óptimos locais.

O método k-means só pode ser aplicado quando existe a possibilidade de calcular a média de um cluster. Em muitas aplicações este cálculo não é possível, por exemplo sempre que atributos categóricos estejam envolvidos. A necessidade de especificar a priori o número de clusters a formar também pode ser encarado como uma desvantagem do método. Outro aspecto importante tem que ver com o facto deste método não ser adequado para descobrir clusters com formas não-convexas, ou ainda clusters com dimensões muito diferentes. Finalmente, o método é muito sensível à presença de “ruído” e outliers, sendo que mesmo a presença de um pequeno número deste tipo de dados pode ter uma grande influência na performance do método. Este facto fica-se a dever à utilização da média, que como se sabe é muito sensível à presença de observações extremas.

4.1 Algoritmo K-Means

1. Definição das seeds

Figura 8: o primeiro passo do algoritmo k-means consiste na criação das seeds iniciais que servirão como indicador da posição dos centroides (Fonte: Fiona Cameron, Techniques for Neighbourhood Classification).

(29)

2. Cada indivíduo é associado à seed que lhe é mais próxima

Figura 9: o segundo passo consiste na associação de cada indivíduo ao centroide mais próximo (Fonte: Fiona Cameron, Techniques for Neighbourhood Classification).

3. Cálculo dos centroides dos clusters formados

Figura 10: no terceiro passo é necessário recalcular a posição dos centroides (Fonte: Fiona Cameron, Techniques for Neighbourhood Classification).

(30)

5. Terminar quando os centroides estabilizam a sua posição Figura 11 e deixam de ter que ser recentrados.

Figura 11: uma vez estabilizada a posição dos centroides o algoritmo termina (Fonte: Fiona Cameron, Techniques for Neighbourhood Classification).

O processo decorre até que não seja necessário fazer ajustamentos, ou, em opção, que os ajustamentos sejam mais pequenos que um determinado limite. No caso particular do nosso exemplo podemos ver na Figura 12 o percurso dos diferentes centroides até estabilizarem numa solução final. Neste exemplo, fica clara a relevância da inicialização no algoritmo k-means, de facto, diferentes inicializações das seeds podem levar a resultados substancialmente diferentes.

(31)

Figura 12: o processo iterativo que está na bese do algoritmo k-means determina a movimentação dos centroides até que haja convergência (Fonte: Fiona Cameron, Techniques for Neighbourhood Classification).

ACTIVIDADE

O algoritmo k-means em acção

Este applet permite visualizar o funcionamento do algoritmo k-means. O utilizador apenas tem que definir o número de objectos (data) que quer incluir na análise e o número de clusters que quer utilizar. De seguida, utilizando os botões

start e step, pode visualizar a deslocação das seeds até que

estabilizem numa determinada configuração. Esta estabilização pode levar mais ou menos tempo a acontecer, dependendo da distribuição dos dados e das seeds.

http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletKM.html O aluno é incentivado a estudar a explicação dada no site sobre o funcionamento do algoritmo k-means.

(32)

4.2 QUANTOS CLUSTERS?

Como já referimos, no algoritmo k-means o utilizador tem, à partida, que definir k, ou seja, o número de clusters que quer construir. A decisão sobre o número de clusters a construir tem sempre que ter em conta o compromisso entre a quantidade de informação que poderemos retirar da classificação e a sua complexidade. Quanto maior o número de clusters mais informação temos disponível, mas também maior é a dificuldade de apreensão e compreensão dessa informação.

Idealmente, a análise de clusters não seria necessária, isto aconteceria se ao olharmos para uma folha de cálculo com 15 000 objectos caracterizados por 50 variáveis conseguíssemos perceber as diferenças que existem entre eles e a forma como se relacionam uns com os outros. Não sendo este o caso, temos que recorrer a metodologias que através da compressão de informação nos permitam compreender as principais características dos dados que temos pela frente. Obviamente, quanto maior esta compressão, maior é a perda de informação.

É sempre difícil resolver a questão do número de clusters a utilizar, não existindo soluções óptimas para o seu tratamento. Se no caso dos métodos hierárquicos, como vimos, existem formas de visualização (dendrograma) que facilitam a compreensão das agregações estabelecidas e permitem informar a escolha do número de clusters, no caso dos métodos de optimização isso não acontece.

Antes de mais talvez valha a pena começar por compreender o que é um “bom cluster”. Em termos genéricos, e seguindo os conceitos apresentados no ponto 4, poderemos dizer que procuramos sempre constituir clusters onde o grau de semelhança entre os objectos que o constituem seja o maior possível, ou seja, que se encontrem o mais próximo possível uns dos outros. Por outro lado, é desejável que os clusters se encontrem o mais separados possível entre si. De que forma é que podemos avaliar esta proximidade? A forma mais simples de o fazer é recorrer à variabilidade total intra-cluster que é dada por:

(

)

∑∑∑

= = =

=

m j n i p v jv ijv j

X

X

W

1 1 1 2

quanto menor for o valor, melhor será a qualidade da classificação obtida. É importante compreender que este indicador só terá interesse para comparar classificações com o mesmo

(33)

número de clusters (k). É claro que à medida que k cresce W decresce, quanto maior o número de clusters menor será a variabilidade intra-cluster.

Uma boa estratégia para abordar o problema do número de clusters a utilizar, consiste em produzir várias classificações com diferentes k, e escolher a melhor. A escolha deve ser orientada por três critérios fundamentais:

• a variabilidade intra-cluster; • avaliação dos perfis dos clusters; • considerações de natureza operacional. 4.2.1 Variabilidade Intra-cluster

No caso da variabilidade intra-cluster a análise é simples, na medida em que sabemos que quanto menor for o seu valor, maior será a coesão do cluster, característica altamente desejável neste tipo de análise. Como já vimos, à medida que k aumenta menor será a variabilidade intra-cluster, pelo que o que interessa é encontrar um compromisso adequado. A forma mais comum de avaliar este compromisso consiste na utilização do que se costuma designar como o “critério do cotovelo”. A metodologia é muito simples mas também eficaz. O utilizador procede ao processamento do algoritmo k-means, diversas vezes para o mesmo k e para k diferentes (por exemplo, k=3, k=4,…,k=10). Após esta fase o utilizador calcula a variabilidade intra-cluster para as melhores soluções, somando, para todos os clusters e variáveis, a distância de todos os indivíduos ao centroide do cluster onde se encontram classificados. Finalmente, com estes valores produz um gráfico semelhante ao gráfico apresentado na Figura 13. O círculo sinaliza k=7 como o mais indicado, local onde o declive da curva diminui, ou seja, o ganho em termos de coesão dos clusters deixa de justificar a criação de um cluster adicional.

(34)

Figura 13: gráfico da evolução da variabilidade intra-cluster à medida que k aumenta. Através deste gráfico o utilizador pode decidir qual o o número mais indicado, procurando a ponto a partir do qual o declive passa a ser menos

acentuado.

4.2.2 Avaliação dos Perfis dos Clusters

A avaliação dos perfis dos clusters não é tão simples na medida em que envolve apreciações bastante mais subjectivas, e que se relacionam com a interpretação dos clusters obtidos. A forma mais comum de levar a cabo esta avaliação, após a criação de uma solução, é através da comparação dos valores médios para cada variável em cada cluster com os valores médios da população. Assim, o analista procura compreender as diferenças mais significativas entre os diferentes clusters e avaliar se essas diferenças justificam a existência dos clusters. Se clusters diferentes apresentam perfis semelhantes ou se as diferenças registadas não são relevantes para o objectivo da análise, então poderemos provavelmente reduzir k sem que isso prejudique a análise.

Regra geral, mais importante que os resultados específicos obtidos pela análise é a sua exploração. A ideia de que existe uma partição ideal para o conjunto de dados a estudar é, não só pouco interessante, mas também pouco realista. O principal objectivo da análise de clusters consiste em aprofundar o conhecimento sobre o conjunto de dados em estudo. O agrupamento de observações em clusters constitui um desafio difícil em termos de optimização. A existência de inúmeros óptimos locais faz com que o objectivo da obtenção do óptimo global seja, em determinadas circunstâncias, inverosímil. No entanto, em muitas situações os óptimos locais são suficientemente “bons” para permitir um melhor entendimento da realidade representada pelos dados. É neste compromisso entre a quantidade de informação e as nossas capacidades de processamento dessa informação que a maior parte das decisões relativas à utilização da

(35)

análise de clusters se jogam, especialmente no que se refere ao número de clusters a construir.

4.2.3 Considerações de Natureza Operacional

Finalmente, o critério mais relevante, em termos empresariais, relaciona-se com as questões operacionais. Se a empresa apenas tem possibilidade de gerir de forma diferenciada 3 grupos de clientes então o número certo de clusters é 3. Não faz sentido procurar mais, porque isso não se traduziria em qualquer ganho. Assim, os aspectos objectivos da gestão da carteira de clientes normalmente acabam por condicionar os objectivos e premissas deste tipo de análise. A verdade é que em muitas circunstâncias as bases de dados que estudamos não têm verdadeiros clusters, convexos e perfeitamente limitados. Mais frequentemente, os registos encontram-se distribuídos por um contínuo, no qual é necessário estabelecer fronteiras e criar grupos. É muito frequente que a base de dados possua um número relativamente pequeno de indivíduos, muito “diferentes” e um grande conjunto de indivíduos com perfis semelhantes. Uma estratégia popular, neste tipo de circunstância, consiste em iniciar a análise com um k elevado e, com base na análise das principais características dos clusters e na matriz de distâncias (Figura 23), ir progressivamente agrupando pares de clusters. Este misto de partição/aglomeração, feito de forma iterativa, permite ao analista uma compreensão mais apurada da bases de dados mas também dos compromissos que faz por forma a reduzir k. Na verdade esta estratégia permite a utilização de diferentes k, conforme as necessidades da análise. Na Figura 14 podemos ver uma situação relativamente comum nas bases de dados empresariais, onde, do lado direito, existem dois clusters bastante bem definidos e facilmente delimitáveis, e do lado esquerdo temos um grande cluster. Caso o utilizador escolha um k superior a 3 o cluster do lado esquerdo será subdividido em vários clusters o que, provavelmente, não produzirá informação adicional muito relevante. A estratégia da partição/aglomeração permite “reconstruir” o cluster do lado esquerdo e ao mesmo tempo, sempre que necessário, recuperar os 8 clusters que o compõem.

(36)

Figura 14: uma situação relativamente comum nas bases de dados empresariais é a coexistência de clusters bem definidos (lado direito) com grandes clusters (lado esquerdo) que na prática formam um contínuo e onde as fronteiras

não são perceptíveis.

4.3 Variações do Método K-Means

O algoritmo k-means apresentado tem um sem número de variações. De facto, ao longo do tempo diversas alterações e reformulações têm sido propostas, mas sempre em volta dos conceitos centrais já estudados. É muito provável que o software que venham a utilizar incorpore algumas destas alterações. Entre as variações mais comuns podemos distinguir:

• Métodos alternativos de escolha das seeds iniciais. Tendo em conta a importância que as seeds iniciais têm na performance do algoritmo, diversos autores têm proposto diferentes formas de incialização das seeds. Os mais populares consistem na selecção aleatória de k observações, ou na selecção das k primeiras observações da lista. Outra opção consiste na selecção aleatória de observações mas impondo uma distância mínima entre as seeds escolhidas. Estas são apenas algumas das estratégias utilizadas, no entanto, não existe evidência que qualquer uma das soluções seja melhor em todas as circunstâncias.

• Métodos alternativos para o cálculo dos centroides. Uma das mais conhecidas variantes do k-means é o k-medoids. No caso do k-means uma vez definida a seed todo o processo de desenvolve com base em pontos artificiais, a média de todos os pontos agrupados num cluster. No k-medoids, não se utiliza a media, utiliza-se a observação (ponto) mais central, assim o centroide dos clusters é sempre uma das observações do

(37)

conjunto de dados (Figura 15). A principal vantagem da variante k-medoids consiste numa maior robustez à influência dos outliers, uma vez que a utilização de observações existentes como centroides evita grandes deslocações no seu posicionamento.

Figura 15: a diferença entre o k-means e o k-medoids, no primeiro caso utiliza-se o centroide dos pontos representados no cluster, no segundo caso o ponto mais proximo do centroide é utilizado como representante do cluster.

• Utilização da densidade de probabilidade em vez da distância como forma de associar os objectos aos clusters. Podemos considerar o k-means como um caso particular de um caso mais geral onde xi pertence a vários centroides com probabilidades proporcionais à

distância que os separa. A optimização das distâncias é assim feita com base nas distâncias de todos os indivíduos a todos os centroides. No caso do k-means xi pertence

a ki com Prob=1, caso ki seja o centroide mais próximo. O mais conhecido algoritmo de

clustering baseado em densidade de probabilidade é o algoritmo EM (expectation-maximization). Este algoritmo merecerá mais alguns comentários, na pag.52 do anexo.

4.4 Vantagens do Método K-Means

A principal vantagem do algoritmo k-means relaciona-se com a sua eficiência computacional. Como já vimos a eficiência computacional é dada pela expressão: O(tkn), onde n representa o

número objectos, k representa o número clusters, e t representa o número iterações, em geral

(38)

do Data Mining, onde as bases de dados tendem a ser muito grandes, pelo que a rapidez da ferramenta de clustering é um critério importante.

Esta eficiência advém, em larga medida, do facto de o k-means, pela forma como foi concebido, não necessitar de calcular a função custo explicitamente. De facto, a forma como o algoritmo funciona minimiza implicitamente o erro quadrático médio, ou seja, procura minimizar a distância de todas as observações aos centroides aos quais se encontram associadas.

Outra vantagem relaciona-se com a simplicidade de funcionamento, que permite um fácil entendimento das vantagens e limitações da ferramenta. Adicionalmente, a utilização da ferramenta não envolve a definição de diversos parâmetros. O utilizador apenas tem que definir k (número de clusters a obter), ao contrário do que acontece com outros algoritmos que carecem de uma parametrização mais complexa e que pode influenciar de forma determinante os resultados obtidos.

Apesar da sua propensão à obtenção de óptimos locais a verdade é que na maior parte das aplicações um bom óptimo local é tudo o que é necessário. Adicionalmente, é importante ter em conta que, havendo métodos mais robustos, a optimalidade global das soluções não pode ser garantida, independentemente do método utilizado. A sua simplicidade e eficiência permite que o utilizador possa correr diversas vezes o algoritmo, utilizando diferentes seeds, e por essa via minimizar os problemas relacionados com os óptimos locais. A necessidade de produzir diversas soluções para o mesmo k é um aspecto importante da utilização do algoritmo, embora por vezes negligenciado pelos utilizadores.

4.5 Limitações do Método K-Means

O algoritmo k-means enferma de algumas limitações importantes. A forma como o algoritmo foi concebido, nomeadamente utilizando uma busca usualmente designada greedy, faz com que o algoritmo apresente:

1. Grande dependência da posição inicial das seeds, ver anexo pag. 50 para um exemplo de como a posição das seeds pode influenciar o resultado final. Assim, é fundamental durante a sua utilização que se proceda à aplicação do algoritmo diversas vezes,

(39)

exactamente para minimizar o risco da obtenção de maus resultados devido à inicialização;

2. Dificuldades em lidar com clusters que possuam formas não-convexas. A forma como o algoritmo k-means foi concebido, baseado na optimização implícita da distância entre todos os pontos e o centroide onde se encontram classificados, promove a construção de clusters convexos mesmo quando a forma mais adequada não é essa, um exemplo desta incapacidade pode-se ver na Figura 16;

Original Points K-means (2 Clusters)

Figura 16: exemplo das dificuldades do algoritmo k-means com clusters de formas complexas. Neste caso um algoritmo de densidade seria mais indicado, dada a forma dos clusters.

3. Tendência para que os centroides dos clusters sejam facilmente “desviados” na presença de outliers. Esta característica sugere que a aplicação do algoritmo k-means seja feita com precaução e precedida da identificação e eliminação dos outliers;

4. Uma natureza rígida onde cada indivíduo ou pertence ou não pertence ao cluster, não havendo qualquer noção de nível/grau de pertença, por outras palavras, não existe qualquer consideração sobre a qualidade de representação de um determinado indivíduo num determinado cluster. Assim, tal como apresentado na Figura 17, dois indivíduos bastante semelhantes podem pertencer a clusters diferentes e indivíduos bastante diferentes estarem englobados no mesmo cluster. Caso os indivíduos possuíssem graus de pertença aos diferentes clusters estas situações seriam muito mais facilmente identificadas podendo mesmo haver a hipótese de um indivíduos não ser considerado

(40)

membro de nenhum cluster por se encontrar demasiado distante de todos os centroides. Esta ideia de grau de pertença nasceu numa área designada “fuzzy clustering” onde os indivíduos podem pertencer a mais do que um cluster, sendo que associado a cada indivíduo existe um conjunto de graus de pertença. Estes graus de pertença indicam a “força” da associação entre esse indivíduo e um determinado cluster. Assim, o fuzzy clustering traduz-se na atribuição de níveis de pertença a cada indivíduo, para depois serem utilizados na atribuição dos indivíduos aos diferentes clusters. A todos os alunos interessados em aprofundar este tema sugerimos: http://fuzzy.iau.dtu.dk/fuzzy_clustering.html

e http://www.mathworks.com/access/helpdesk/help/toolbox/fuzzy/fp310.html.

Figura 17: a natureza “tudo ou nada” do algoritmo k-means faz com que por vezes os indivíduos representados num cluster sejam mais semelhante a indivíduos de outros cluster do que com indivídus do seu próprio cluster.

4.6 Qual dos Métodos Utilizar?

No âmbito do Data Mining a generalidade dos métodos hierárquicos é pouco utilizada. A complexidade das matrizes a construir, a impossibilidade de visualização dos dendrogramas e a sua menor capacidade de optimização, faz com que raramente sejam utilizados. É importante não esquecer que a dimensão dos conjuntos de dados normalmente utilizados no âmbito do Data Mining atinge, não raras vezes, as centenas de milhares, o que manifestamente inviabiliza a utilização de métodos hierárquicos, muito mais adequados à análise de conjuntos relativamente pequenos.

(41)

Tipicamente, o método mais utilizado é o K-Means, devido não só à qualidade dos resultados, em regra superiores aos métodos hierárquicos, mas também devido à sua rapidez, aspecto que pode ser relevante quando o conjunto de dados é grande. A prática mais comum consiste em iniciar o processo com a detecção e exclusão de outliers, seguida da aplicação do algoritmo k-means.

Sobre a detecção de outliers já falámos no Módulo 3 do curso. No entanto, gostaríamos de acrescentar alguns comentários à sua utilização no âmbito da análise de clusters. O procedimento mais utilizado consiste em retirar entre 5% e 10% dos dados que se encontram nas caudas das distribuições. Esta forma de proceder tem a óbvia vantagem de ser rápida, no entanto, é relativamente “cega”, correndo-se o risco de retirar da análise objectos que poderia ser interessante manter. Esta abordagem reflecte com grande acuidade o que se passa na aplicação do Data Mining no mundo empresarial. Aqui mais do que as justificações teóricas que possam existir, se a experiência indica que o método resulta então está apto a ser utilizado, de facto, o empirismo constitui o traço mais marcante do Data Mining no âmbito das empresas. Uma segunda forma de proceder, mais cuidadosa mas também muito mais morosa, consiste em aplicar o algoritmo k-means sobre os dados iniciais. Em geral o que acontece é que aparecerão clusters com muito poucos objectos. Dependendo dos dados, poderá acontecer que definindo um número 5 de clusters, 1 deles represente 95% dos objectos e os outros 4 apenas 5%. Este facto indica que os 5% representados nos 4 clusters constituem outliers, o que aconselha a que estes devam ser retirados do conjunto de dados e analisados separadamente. Uma vez retirados torna-se a repetir o processo, este procedimento continuará até que exista algum equilíbrio no número de objectos distribuídos pelos diferentes clusters.

(42)

5 PROFILING OU ANÁLISE E VALIDAÇÃO DA SOLUÇÃO

Este ponto servirá para apresentar algumas ideias e conselhos práticos, que decorrem da experiência empírica da utilização da análise de clusters. Apesar da grande diversidade de algoritmos a experiência de utilização tende a demonstrar que esta diversidade não transparece nos resultados. Por outras palavras, existe, em regra, uma grande concordância entre os resultados dos diferentes métodos.

Existem diversas formas de analisar as partições obtidas. É essencialmente através deste tipo de análise que se vai compreendendo a qualidade dos resultados obtidos. Neste contexto, vale a pena realçar o papel dos diversos métodos gráficos que permitem, de forma muito intuitiva, compreender melhor os resultados da análise.

Uma das formas de iniciar a análise consiste em produzir um simples gráfico de barras (Figura 18), sendo que cada uma das barras representa a percentagem de objectos classificados em cada cluster. Neste caso concreto o cluster 1 engloba 37.7% dos indivíduos, o cluster 2 44.4%, o cluster 3 13.7% e o cluster 4 4.1%.

(43)

Depois de analisar a distribuição dos indivíduos pelos diferentes clusters importa desenvolver alguma sensibilidade às diferenças entre os clusters. Uma das formas mais eficazes de compreender as principais diferenças entre os clusters consiste na utilização de um gráfico de linhas, que represente o perfil dos diferentes clusters (Figura 19). Este gráfico, que podemos designar gráfico de perfil, apresenta o valor da média dos indivíduos classificados em cada cluster para cada uma das variáveis utilizadas. Através da análise deste gráfico rapidamente construímos uma noção das principais divergências entre os diferentes clusters e quais as variáveis onde essas diferenças se registam.

0,0 0,1 1,0 10,0 100,0 1000,0

T_Total_M T_Local_M T_Reg_M T_Nac_M T_Int_M T_Movel_M T_Dados_M T_Total_C T_Local_C T_Reg_C T_Nac_C T_Int_C T_Movel_C T_Dados_C Fact_SIT Fact_GSU

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10

Figura 19: gráfico onde cada linha representa o valor médio de cada cluster para cada uma das variáveis de estudo. Este gráfico constitui uma forma de proceder à análise preliminar dos resultados e começar a compreender quais as

principais diferenças entre os clusters.

Uma forma particularmente eficaz de promover a interpretação dos clusters consiste na comparação dos valores médios, das diferentes variáveis utilizadas, entre os objectos classificados no cluster e a restante população. Na Figura 20 podemos observar as diferenças existentes, em termos das médias de cada uma das variáveis, entre os valores observados para os objectos classificados no cluster e o total da população. Assim a azul aparecem os valores médios da população e a bordeaux os valores dos objectos classificados no cluster. Este tipo de gráfico é particularmente útil por forma a identificar quais as características mais marcantes do cluster que estamos a analisar, ou seja, quais são os aspectos que mais o

(44)

distinguem do resto da população. Neste caso específico as maiores diferenças registam-se nas duas primeiras variáveis, na primeira (P12Drl) o valor médio do cluster é substancialmente superior à média da base de dados, na segunda variável (P12Arl) acontece o contrário, a média da é superior à do cluster. Nas restantes variáveis o cluster apresenta valores abaixo da média.

Variável

Média da base de dados

Média do cluster

Figura 20: Comparação dos valores médios das diferentes variáveis entre os indivíduos do cluster e o total da população.

Outro gráfico muito utilizado, é o normalmente designado “box plot” (caixa com bigodes). A Figura 21 mostra a utilização destes gráficos comparando a distribuição das variáveis Diaspri, TC/DPC, NumeroC e TC/NC nos 4 clusters. Esta análise aprofunda a informação dada no gráfico de linhas na medida em que temos acesso a dados mais detalhados sobre a distribuição dos membros dos diferentes clusters nas diferentes variáveis. Todos conhecemos os perigos da utilização da média na análise de dados, pelo que é fundamental completá-la com indicadores mais robustos. No caso particular da Figura 21, é especialmente evidente a grande amplitude da distribuição das variáveis TC/DPC e NumeroC no cluster 4, o que o diferencia dos outros clusters; bem como as diferenças na distribuição entre o cluster 1 e todos os outros na variável Diaspri. A última variável, TC/NC, não proporciona grandes diferenciações entre clusters, sendo os seus valores basicamente semelhantes. Os box plots permitem, de uma forma muito simples e efectiva compreender as principais diferenças na distribuição das variáveis nos diferentes clusters, permitindo a análise conjunta de diversas variáveis.

Referências

Documentos relacionados

Quando os Cristais são colocados a menos de 20 cm do nosso corpo, com uma intenção real, eles começam a detectar o que está a mais no físico, no emocional, no mental e no

Conclui-se que os catadores de caranguejo do município de Quatipuru-PA são, em sua maioria, do sexo feminino, concluintes do Ensino Fundamental, adultos, com casa própria e

Tautologia – Quando uma proposição sempre é verdadeira, o que acarreta que toda sua coluna na tabela- verdade possui somente valores Verdadeiros. Contradição – Oposto à

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

Definidos os dois eixos do domínio analisado, foram escolhidas três, das onze abordagens mencionadas por Hjørland (2002), a saber: 1) Estudos bibliométricos, no que se

Esta pesquisa discorre de uma situação pontual recorrente de um processo produtivo, onde se verifica as técnicas padronizadas e estudo dos indicadores em uma observação sistêmica

No ambiente glocalizado, o sujeito se vê em um contexto simultaneamente local (o espaço físico do acesso, mas também o seu meio cultural) e global (o espaço mediático

IDEM, Práticas de caridade e salvação nas Misericórdias metropolitanas e ultramarinas (séculos XVI e XVII): algumas metáforas, in &#34;Oceanus&#34;, n.° 35, Lisboa, Comissão