Você está na página 1de 24

Captulo 4

Anlises Classificatrias (Clustering)


4.1

Introduo

Um problema que se coloca com alguma frequncia o de, dado um conjunto de n indivduos, agrupar os
n indivduos em classes, ou subgrupos, de tal forma que cada subgrupo seja internamente homogneo (isto
, constitudo por indivduos semelhantes) e que os vrios subgrupos sejam heterogneos entre s (isto
, os indivduos de subgrupos diferentes sejam dissemelhantes). Em mtodos de Anlise Discriminante
parte-se do pressuposto que uma tal subdiviso conhecida num conjunto de dados que est disponvel,
e o objectivo o de procurar direces no espao que evidenciem a separao desses subgrupos ou determinar uma regra para futuras classificaes. Mas frequentemente no existe uma classificao desse tipo
disponvel, e o problema consiste em identificar quais (e quantas) so as diferentes classes de indivduos
existentes nos dados disponveis.
Mtodos que permitam determinar tais classes ou subgrupos designam-se mtodos de Anlise Classificatria (Cluster Analysis, em ingls). Nos dois extremos de possveis classificaes encontramos a
classificao de todos os indivduos numa nica classe, e a classificao de cada indivduo como uma classe
separada. Existem dois grandes grupos de mtodos de Anlise Classificatria:
Mtodos Hierrquicos - O agrupamento em classes procede por etapas, em geral determinandose a partir de n subgrupos (de um nico indivduo cada) sucessivas fuses de subgrupos considerados
mais semelhantes. Cada fuso reduz, em uma unidade, o nmero de subgrupos.
Mtodos No-Hierrquicos - Fixa-se partida o nmero k de classes que se pretende constituir
e (regra geral) faz-se uma classificao inicial dos n indivduos em k classes, ou determinam-se
k sementes em torno das quais construir as classes. Atravs de transferncias de indivduos
de uma classe para outra, ou de associaes dos indivduos s sementes das classes, procura-se
determinar uma boa classificao, no sentido de tornar as classes mais internamente homogneas
e externamente heterogneas.
117

CAPTULO 4. ANLISES CLASSIFICATRIAS (CLUSTERING)

4.2

Mtodos Hierrquicos

Dado um conjunto de n indivduos, o ponto de partida para os mtodos de classificao hierrquicos ser,
em geral, uma matriz n n cujo elemento genrico (i, j) uma medida de semelhana (ou dissemelhana)
entre o indivduo i e o indivduo j. Os critrios de semelhana (ou dissemelhana) utilizados podem ser
diversos, havendo alguns critrios especficos para dados de diversos tipos, como adiante se ver. Com
grande frequncia, existe (como em mtodos anteriores) uma matriz Xnp de observaes multivariadas
associadas aos indivduos e que esto na origem da referida matriz de semelhanas/dissemelhanas. No
entanto, pode no ser conhecida uma tal matriz, sendo apenas necessrio conhecer a matriz n n de
semelhanas/dissemelhanas para que seja possvel proceder a uma Anlise de Classificao Hierrquica.
Como foi referido, parte-se duma matriz n n de semelhanas ou de dissemelhanas entre os
n indivduos. Podem considerar-se inicialmente os n indivduos como constituindo n classes diferentes.
Procedendo por etapas, vai-se fundindo um par de classes em cada etapa. A fuso a efectuar numa dada
etapa a fuso dos dois subgrupos (classes) considerados mais semelhantes. Este processo pode ser
levado at s ltimas consequncias, i.e., at fuso de todos os indivduos numa nica classe.

A forma usual de representar graficamente as sucessivas fuses de subgrupos num mtodo de classificao
hierrquico atravs dum dendrograma, i.e., duma representao em forma de rvore do tipo indicado
na Figura 4.1.

Figura 4.1: Dendrograma resultante duma Classificao Hierrquica


Um corte no dendrograma a qualquer nvel de aglomerao produz uma classificao em k subgrupos
(1 k n).
Note-se que um par de indivduos que seja includo numa mesma classe em qualquer etapa do processo
no poder mais ser separado em etapas posteriores, uma vez que estas consistem em fuses de classes
j existentes.
Naturalmente, o processo apenas descrito constitui apenas uma das formas de efectuar uma Anlise Classificatria Hierrquica, designada uma Anlise Classificatria Hierrquica Aglomeradora ou Ascendente.
igualmente concebvel proceder de forma anloga, mas em sentido inverso, i.e., comear pela classe da
ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

118

4.3. (DIS)SEMELHANAS ENTRE INDIVDUOS

totalidade dos indivduos e proceder desagregao de classes anteriormente existentes pela separao de
subgrupos considerados mais heterogneos, efectuando assim uma Anlise Classificatria Hierrquica Desagregadora ou Descendente. No entanto, a muito maior complexidade computacional deste procedimento
torna menos habitual efectuar uma classificao hierrquica deste tipo.
O procedimento geral que acaba de ser descrito pode, no entanto dar origem a diferentes classificaes,
de acordo com duas questes-chave:
1. o conceito de semelhana/dissemelhana entre 2 indivduos.
2. o conceito de semelhana/dissemelhana entre 2 subgrupos, tambm designado por mtodo
aglomerador ou de fuso.
Veremos seguidamente alguns destes conceitos de (dis)semelhanas entre indivduos e entre classes.

4.3

(Dis)semelhanas entre indivduos

Vamos admitir que o ponto de partida da classificao uma matriz de dissemelhanas entre
os n indivduos. No caso de se tratar duma matriz de semelhanas, haver ajustamentos a fazer, como
se ver mais adiante. A natureza da medida de dissemelhana ir condicionar a classificao
que se seguir e , portanto, crucial que reflicta a natureza do problema sob estudo.

4.3.1

Dissemelhanas e distncias

De forma geral, as dissemelhanas dij entre os indivduos i e j so medidas que reflectem as maiores
ou menores diferenas entre os valores que esses indivduos registaram num conjunto de p variveis. No
entanto, no obrigatrio que existam observaes subjacentes de p variveis, sendo at possvel que as
medidas de dissemelhana sejam atribudas de forma subjectiva pelo investigador.
Uma medida de dissemelhana dij entre um individuo i e um individuo j dever satisfazer algumas
propriedades.
Quase sempre se exige a positividade, ou seja,
dij 0,

i, j = 1 : n;

dii = 0,

i = 1 : n.

Na maioria das aplicaes tambm natural exigir a simetria, ou seja,


dij = dji ,

i, j = 1 : n.

ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

119

CAPTULO 4. ANLISES CLASSIFICATRIAS (CLUSTERING)

Fala-se em distncia, em vez de apenas dissemelhana, no caso de as medidas de dissemelhana verificarem as condies indicadas na Definio 1.11 (p.19), ou seja (e utilizando a notao deste Captulo),
ou seja, no caso de alm das anteriores conduies verificarem tambm a desigualdade triangular:
dij dik + djk ,

4.3.2

i, j, k

Medidas de dissemelhana para dados quantitativos multivariados

Vejamos ento algumas medidas de distncia dij entre indivduos i e j, construdas a partir de
valores de p variveis, traduzidos nos vectores x(i) e x(j) . Estes vectores correspondem a linhas de uma
matriz Xnp de dados, mas seguindo a conveno habitual para vectores, sero considerados vectorescoluna.
Distncia euclidiana usual em IRp . Tem-se:
dij

onde

= kx(i) x(j) k
p
= (x(i) x(j) )t (x(i) x(j) )
pPp
2
=
k=1 (xik xjk )
x(i) o vector do i-simo indivduo
x(j) o vector do j-simo indivduo.

Trata-se duma distncia no sentido da Definio 1.11 (p.19).


Distncia Euclidiana Generalizada. Tem-se:
dij

onde

= kx(i) x(j) kW
p
= (x(i) x(j) )t W(x(i) x(j) )
pPp Pp
=
k=1
l=1 wkl (xik xjk )(xil xjl )
W uma matriz definida positiva
x(i) o vector do i-simo indivduo
x(j) o vector do j-simo indivduo.

Este o conceito de distncia (definido na pgina 19) resultante dum produto interno definido no
Teorema 1.3 (p.18). Alguns casos especiais resultam de escolher:
W = D2 , onde D2 a matriz diagonal dos recprocos das varincias, e que corresponde a
tomar a distncia euclidiana usual entre os dados normalizados.
W = 1 , onde a matriz de varincias-covarincias das variveis. Esta escolha gera a
chamada distncia de Mahalanobis, que invariante a mudanas de escala nas variveis1.
1 Veja-se,

por exemplo, Mardia, Kent & Bibby (1979), Multivariate Analysis, Academic Press, para uma discusso mais
pormenorizada desta distncia.

ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

120

4.3. (DIS)SEMELHANAS ENTRE INDIVDUOS

Distncias de Minkowski
dij =

p
X

k=1

com
com
no limite

|xik xjk |

!1/

= 1 designa-se mtrica de Manhattan, distncia 1 ou city-block metric.


= 2 tem-se a mtrica euclidiana habitual ou distncia 2 vista no ponto 4.3.2.
obtem-se dij = max |xik xjk | que se designa a mtrica do mximo
k

ou distncia .

Em geral, quanto maior fr o valor de , maior ser o peso relativo de indivduos muito dissemelhantes dos restantes.
Mtrica de Canberra Para variveis que apenas possam tomar valores no-negativos, pode definir-se
a mtrica:
p
X
|xik xjk |
dij =
(xik + xjk )
k=1

em que o objectivo obter uma medida de dissemelhana invariante a transformaes de escala


diferenciadas em cada varivel. Este objectivo resulta de relativizar cada diferena atravs do denominador (cujas unidades de medida so iguais s do numerador). (NOTA: Este mesmo critrio de
dissemelhana, se usado com dados que possam tomar valores negativos, deixa de ter as propriedades
de uma distncia).

A escolha de qual o critrio de distncia entre indivduos a utilizar no tem de se limitar s opes
acima indicadas. Algumas destas opes so desaconselhadas para certos tipos de dados (por exemplo,
as mtricas de Minkowski podem no ser aconselhveis para o caso de as p variveis terem diferentes
unidades de medida).
Para certos tipos especiais de dados, existem outras medidas especficas de semelhana/dissemelhana.
Refira-se, em particular, o caso de dados onde os indivduos so apenas registados como estando ou no
presentes numa srie de locais (ou possundo ou no uma srie de caractersticas dicotmicas).

4.3.3

Medidas de semelhana para dados binrios

Ao contrrio do que acontecia com tcnicas anteriores, possvel efectuar Anlises Classificatrias para
observaes de variveis binrias e/ou qualitativas. Apenas ser necessrio poder construir uma matriz
de dissemelhanas/semelhanas entre os indivduos, considerada adequada pelo utilizador.
No caso de dados binrios, isto de observaes sobre variveis que apenas podem tomar dois diferentes
valores (1/0, Presente/Ausente, Sim/No, Macho/Fmea, etc.) existem vrias propostas de conceitos de
semelhana na literatura2 .
2 Para uma discusso de vrias destas medidas veja-se, por exemplo, W.J.Krzanowski, Principles of Multivariate Analysis,
Oxford Science Publications, 1988; P.Digby & R.Kempton, Multivariate Analysis of Ecological Communities, Chapman and
Hall, 1987; ou ainda B.S.Everitt & S. Rabe-Hesketh, The Analysis of Proximity Data, Arnold, 1997.

ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

121

CAPTULO 4. ANLISES CLASSIFICATRIAS (CLUSTERING)

Tal tipo de dados surge com frequncia, em contextos biolgicos. Por exemplo, ao registar a Presena
ou Ausncia de vrias espcies em p diferentes locais, surge o problema de querer medir a
(dis)semelhana entre um par de espcies, no que respeita sua distribuio nos locais referidos. Tratase dum caso particular do problema em que para dois indivduos i e j se observam p variveis binrias, e
se pretende medir o grau de (dis)semelhana dos indivduos. As medidas de semelhana entre esses
dois indivduos baseiam-se, em geral, nas seguintes quatro quantidades:
a o nmero de variveis para os quais ambos os indivduos tomam o valor Presente;
b o nmero de variveis para os quais o indivduo i toma o valor Presente e o indivduo j toma o
valor Ausente;
c o nmero de variveis para os quais o indivduo i toma o valor Ausente e o indivduo j toma o valor
Presente; e
d o nmero de variveis em que ambos os indivduos tomam o valor Ausente 3 .
De entre os coeficientes de semelhana sij mais frequentes, destaquem-se:
a+d
Coeficiente de Concordncia (Matching Coefficient) sij = a+b+c+d
. Este coeficiente representa
a proporo de variveis em que h concordncia nos valores dos indivduos i e j. Toma valores
entre 0 e 1.
a
Coeficiente de Jaccard sij = a+b+c
. Este coeficiente representa o nmero de variveis em que ambos
os indivduos tm valor Presente, a dividir pelo nmero de variveis em que pelo menos um dos
indivduos tem valor Presente. Pode ser uma alternativa til ao Coeficiente de Concordncia caso
os indivduos registem valor Ausente na maioria das variveis e no se considere que esse facto
seja sinnimo de semelhana entre os indivduos. Toma valores entre 0 e 1.

Coeficiente de Gower e Legendre sij = (a+d)(b+c)


a+b+c+d . Este coeficiente toma a diferena entre concordncias e discordncias, relativamente ao nmero total de variveis observadas. Ao contrrio
dos anteriores coeficientes, pode tomar valores negativos, situao que ocorre caso haja mais discordncias do que concordncias nos valores das variveis para os indivduos i e j. Toma valores
entre 1 e 1.

4.3.4

Semelhanas e dissemelhanas entre individuos

Caso o ponto de partida seja um conjunto de medidas de semelhana entre cada par de indivduos, pode
proceder-se a trabalhar directamente sobre estas medidas de semelhana ou, alternativamente, converter
as medidas de semelhana em medidas de dissemelhana. Caso sejam usadas medidas de semelhana so
usuais as seguintes formas de converter essas semelhanas em dissemelhanas:
3 Repare-se

que, necessariamente, p = a + b + c + d.

ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

122

4.4. CRITRIOS DE (DES)AGREGAO DE CLASSES

1. dij = 1 sij ,
2. dij = 1 s2ij ,
q
3. dij = 1 s2ij ,

4. dij =

p
1 sij

Note-se que, caso se utilize o Coeficiente de Concordncia como medida de semelhana, a primeira destas
b+c
regras de converso equivale a tomar o coeficiente de dissemelhana dij = a+b+c+d
, e a ltima regra
de converso produz a habitual distncia euclidiana entre as linhas da matriz de zeros e uns associadas
aos indivduos em questo, caso se calculem distncias relativas distncia mxima possvel, que

a + b + c + d.

4.4

Critrios de (des)agregao de classes

As medidas de dissemelhana entre indivduos no representam a nica opo a fazer numa Anlise de
Classificao. O investigador ter tambm de determinar o critrio para medir a dissemelhana entre
classes ou, como por vezes dito, o mtodo de agregao de classes. Dadas duas classes, G e H,
como medir a semelhana/dissemelhana entre elas, de forma a proceder a fuses ou cises? Alguns
conceitos de dissemelhana habituais so:
Mtodo do Vizinho Mais Prximo. (Em ingls, nearest neighbour, single-link ou connected). Consiste em considerar que a distncia entre dois subgrupos a menor distncia entre um elemento
dum subgrupo e um elemento do outro subgrupo:
DGH = min dkl

(4.1)

kG

lH

Mtodo do Vizinho Mais Distante. (Em ingls, furthest neighbour, complete-link ou compact). Consiste em considerar que a distncia entre dois subgrupos a maior distncia entre um elemento dum
subgrupo e um elemento do outro subgrupo:
DGH = max dkl

(4.2)

kG

lH

Mtodo das Distncias Mdias entre Grupos. (em ingls, group average ou average link). Consiste
em considerar que a distncia entre duas classes a mdia de todas as distncias entre pares de
elementos (um em cada classe):
DGH =

nG X
nH
X
1
dkl
nG nH

(4.3)

k=1 l=1

ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

123

CAPTULO 4. ANLISES CLASSIFICATRIAS (CLUSTERING)

Consideremos ainda dois conceitos de dissemelhana entre classes vlidos quando subjacente s dissemelhanas entre indivduos existe, no apenas uma matriz nxn de dissemelhanas, mas uma matriz Xnp
de dados multivariados.
Mtodo da Inrcia Mnima (Mtodo de Ward). (Em ingls, minimum variance method). Considerese a inrcia duma classe G, i.e., a soma de quadrados das diferenas entre cada indivduo e o
indivduo mdio dessa classe (dado pelo centro de gravidade da nuvem de n pontos em IRp ):
#
"
p
X
X
(4.4)
IG =
(xkl xG l )2
l=1

kG

onde xG l a mdia dos valores da varivel l para os indivduos da classe G. Tome-se agora a
distncia entre as classes G e H como sendo o aumento na soma total das inrcias provocado pela
fuso dos grupos G e H. Por outras palavras, seja IG a inrcia da classe G, IH a inrcia da classe
H e IGH a inrcia da classe resultante de fundir as classes G e H, ento (uma vez que a fuso de
G e H no afecta as inrcias das restantes classes):
DGH = IGH (IG + IH )

(4.5)

possvel mostrar que se xG e xH so os vectores centro de gravidade das classes G e


H, respectivamente, ento:
DGH =

nG nH
kxG xH k2
nG + nH

(4.6)

onde k k a habitual norma euclidiana.


Exerccio 4.1 Demonstrar este resultado.
Mtodo dos Centrides. (Em ingls Centroid method). Neste caso toma-se a distncia entre duas
classes como sendo a distncia entre os centros de gravidade, ou outros pontos considerados representativos (centrides), das classes:
DGH = kxG xH k

(4.7)

Qualquer das definies de distncias entre classes acima referidas pode ser vista como o
caso particular duma nica expresso para a distncia entre a classe K e a fuso das classes
G e H 4 . De facto, representando a distncia entre duas classes K e G por DKG e a distncia entre
qualquer classe K e a fuso das classes G e H por DKGH , tem-se, na forma geral:
DKGH = G DKG + H DKH + DGH + |DKG DKH |

(4.8)

Nos casos particulares, temos:


4 Este

resultado deve-se a Lance e Williams, A generalized sorting strategy for computerised classifications, Nature, Vol.
212, pg. 218, 1966.

ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

124

4.4. CRITRIOS DE (DES)AGREGAO DE CLASSES

Vizinho Mais Prximo:


G = H = 1/2
= 1/2 = 0
Vizinho Mais Distante:
G = H = = 1/2
=0
Distncias Mdias entre Grupos:
G
G = nGn+n
H
==0

Inrcia Mnima:

Centrides:

H =

G +nK
G = nGn+n
H =
H +nK
nK
= nG +nH +nK = 0

nH
nG +nH

nH +nK
nG +nH +nK

H
G
H = nGn+n
G = nGn+n
H
H
nG nH
= (nG +nH )2 = 0

A escolha do mtodo de agregao (i.e., das distncias DGH ) condicionar a classificao


resultante. A opo por um outro mtodo deve, pois, ser justificvel com base na natureza
dos dados e no objectivo da anlise.
O facto de as classificaes poderem diferir consoante os critrios de distncias entre indivduos e/ou
entre classes, sugere que pode ser til experimentar vrios conceitos de distncias, a fim de verificar se
h robustez (consistncia) na classificao geral. Quanto maior essa robustez, menos artificial ser a
classificao.
Observao: No esquecer que qualquer mtodo produzir sempre uma classificao (em qualquer
nmero de classes, consoante a altura a que optemos por cortar o dendrograma). Assim, a anlise
classificatria produz classificaes mesmo onde elas possam no se justificar, pelo que ser importante
verificar a robustez dessas classificaes.
Convm ter presente algumas caractersticas dos vrios mtodos de agregao:
O mtodo do Vizinho Mais Prximo tende a produzir classes alongadas, com indivduos que
podem estar muito distantes entre si, mas pertencendo a uma mesma classe. Tal facto, conhecido
pelo nome de encadeamento5 , resulta do facto de bastar que exista um elemento duma classe
prximo de um nico elemento doutra classe para que estas sejam atradas, independentemente
de haver outros elementos das classes que estejam muito distantes entre si. Do ponto de vista do
dendrograma, o encadeamento tende a reflectir-se numa rvore com classes mal definidas, onde as
fuses se sucedem a passo rpido.
5 chaining

em ingls.

ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

125

CAPTULO 4. ANLISES CLASSIFICATRIAS (CLUSTERING)

Os mtodos do Vizinho Mais Prximo e do Vizinho Mais Distante so os nicos dos mtodos acima
referidos que so invariantes a transformaes montonas do conceito de dissemelhana (i.e., produzem a mesma classificao antes e aps uma transformao crescente ou decrescente das dissemelhanas).
Os mtodos do Vizinho Mais Distante, da Distncia Mdia entre Grupos e dos Centrides tm
tendncia a produzir classes esfricas (caso os indivduos sejam representveis em IRp ), i.e., classes
onde no h grandes diferenas nas distncias entre os pares de elementos mais distantes, ao longo
de vrias direces.
O mtodo da Inrcia Mnima (Ward) tem tendncia a produzir classes com um nmero aproximadamente igual de indivduos.
O mtodo do Vizinho Mais Prximo o mtodo mais econmico do ponto de vista computacional.
O mtodo dos Centrides pode produzir as chamadas inverses no dendrograma, uma vez que no
garante a monotonia nas dissemelhanas produzidas por sucessivas fuses.
Algumas palavras finais quanto representao em rvore (dendrograma) dos resultados duma anlise
classificatria.
Em primeiro lugar refira-se que embora a classificao (para uma dada escolha de distncias entre indivduos e entre classes) seja nica, a representao em dendrograma no nica, uma vez que
a ordem dos indivduos (i.e., das folhas da rvore) arbitrria. Por vezes, re-ordenaes
das folhas produzem rvores de aspecto diferente (embora a informao nelas contida seja idntica). Em
geral, os programas informticos de Anlise Classificatria tendem a escolher uma ordenao que evite
que os ramos da rvore se cruzem.
Refira-se tambm que bons programas informticos de Anlise Classificatria produziro uma representao grfica em que visvel no apenas a hierarquia de agrupamento das vrias classes, como tambm
a dissemelhana entre as classes que se vo fundindo. Tal informao reflectida na altura (admitindo
que os indivduos esto dispostos no eixo horizontal) das barras horizontais que unem as classes que se
fundem.
Uma boa classificao dever corresponder a um corte claro na rvore, i.e., a um agrupamento que resulte de cortar o dendrograma numa zona onde as separaes entre classes
correspondam a grandes distncias (o que se traduz em barras de juno de classes relativamente compridas). Tal facto reflectir uma heterogeneidade entre classes, que como foi
referido no incio, um dos objectivos da classificao. O outro objectivo, o da homogeneidade interna das classes, ser tanto melhor conseguido quanto mais prximo das folhas
(indivduos) da rvore se fizer o corte.
ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

126

4.5. MTODOS CLASSIFICATRIOS NO-HIERRQUICOS

4.5

Mtodos Classificatrios No-Hierrquicos

Numa Classificao No-Hierrquica, frequente definir partida o nmero k de classes que


se pretende criar. O objectivo ser determinar a classificao dos n indivduos em k classes
que optimize algum critrio de homogeneidade interna e heterogeneidade externa, como por
exemplo um critrio do tipo a soma das inrcias das k classes ser mnima.
Determinar a soluo deste problema, para um dado critrio de classificao, exigiria uma pesquisa
completa do valor do critrio para todas as possveis classificaes de n indivduos em k grupos. Tal
pesquisa completa invivel, excepto para pequenos conjuntos de indivduos. (Note-se que, ainda por
cima, as dimenses de cada classe no esto fixadas partida, podendo tomar qualquer valor entre 1 e
n (k 1)). Torna-se assim necessrio um algoritmo de pesquisa.
possvel comear por considerar uma classificao inicial dos n indivduos em k classes. A escolha
dessa classificao inicial pode corresponder a:
Uma escolha subjectiva, resultante do estado do conhecimento dos dados no momento em que se
inicia a Anlise Classificatria.
Uma escolha aleatria.
Uma escolha determinstica com algum critrio simples (por exemplo, os primeiros n/k indivduos
constituem a primeira classe, os n/k seguintes a segunda classe, e por a fora; escolher os indivduos
+ i para constituir o i-simo grupo inicial; etc.).
i, nk + i, 2 nk + i, . . . , (k1)n
k
O resultado de cortar um dendrograma duma Classificao Hierrquica de forma a gerar k classes.
Outros critrios.
Aps esta escolha inicial, procede-se a uma pesquisa de classificaes alternativas que gerem um valor
do critrio melhor. Para gerar classificaes alternativas, pode admitir-se apenas o recurso a operaes
simples, como transferncias de um nico indivduo de uma para outra classe; ou permutas de dois
indivduos entre classes diferentes. Desta forma, apenas se podem pesquisar classificaes prximas
duma classificao j alcanada. Uma classificao alternativa ser aceite se produzir um valor do critrio
melhor que a classificao anterior.
Uma outra classe de mtodos parte, no duma classificao inicial da totalidade dos n indivduos, mas
apenas de k sementes iniciais das classes (que podero ser k indivduos ou k marcas geradas por algum
critrio). Em seguida, vo-se agrupando os restantes indivduos nas classes atravs de algum critrio a
optimizar, at se chegar a uma classificao da totalidade dos indivduos em classes.
Exemplifiquemos atravs de um dos mtodos de Classificao No-Hierrquicos mais famosos, o mtodo
das k-mdias (de Mc Queen, 1967):
1. Parta-se de k indivduos iniciais (as sementes).
ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

127

CAPTULO 4. ANLISES CLASSIFICATRIAS (CLUSTERING)

2. Associe-se os restantes n k indivduos classe cujo centro de gravidade lhe esteja mais prximo;
(duas variantes do mtodo resultam da deciso de re-calcular ou no o centro de gravidade duma
classe aps cada associao).
3. Aps esta classificao resultante duma primeira associao de cada indivduo, considerar o novo
centro de gravidade de cada classe obtida como as novas sementes e fazer uma nova passagem
pelos dados, procedendo a uma nova atribuio dos n indivduos s classes. (Nesta passagem,
mais habitual deixar os centros de gravidade fixos).
Importa reter a ideia que o desempenho de mtodos deste tipo dependem de decises tais como:
A escolha de critrio a optimizar.
A escolha da classificao inicial ou das sementes para o algoritmo.
O critrio de escolha de classificaes alternativas (apenas se admitem transferncias de um indivduo? admitem-se ou no permutas?).
A ordem pela qual se consideram os indivduos aquando da deciso de os atribuir a uma ou outra
classe (por exemplo, no mtodo das k mdias, a ordem pela qual se far a associao de cada
indivduo s classes).
Destas decises podero resultar diferenas (maiores ou menores) nas classificaes finais obtidas. Tal
facto aconselha (como j foi referido aquando da discusso de Classificaes Hierrquicas) que se procure alguma estabilidade global das classificaes (para diferentes escolhas iniciais, diferentes ordens de
considerao dos indivduos, etc.) a fim de obter classificaes mais robustas.

4.6

A classificao de variveis

Conceptualmente, nada impede que se considerem as variveis observadas como os indivduos a submeter ao agrupamento atravs duma Anlise Classificatria. Nesse caso, o ponto de partida ser uma
matriz de dissemelhanas (ou semelhanas) entre variveis.
Uma opo, consagrada em anlises estatsticas multivariadas, para uma matriz de semelhanas entre
variveis dada pela matriz de correlaes entre variveis, e ser seguramente este o ponto de partida
mais frequente (embora, naturalmente, no o nico possvel) para estudos de classificao de variveis.
Menos clara ser a questo de como se deve transformar uma matriz de correlaes, que mede semelhanas
entre variveis, numa matriz de dissemelhanas. A natureza geomtrica das correlaes entre variveis,
discutidas na Seco 1.6 (p.45), que podem ser vistas como os cossenos dos ngulos entre os vectores
representativos das variveis centradas, sugere algumas opes para a converso de medidas de semelhana
em medidas de dissemelhana.
ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

128

4.7. A COMPARAO DE DIFERENTES CLASSIFICAES

Uma possibilidade q
ser a utilizao da terceira transformao discutida na Subseco 4.3.4 (p.122), ou
2 , onde r
seja, tomar dij = 1 rij
ij indica a correlao entre as variveis i e j. De facto, se rij o
cosseno do ngulo entre os vectores representativos das variveis i e j, a dissemelhana dij agora definida
ser o mdulo do seno desse mesmo ngulo6 . Outra possibilidade consiste em utilizar os ngulos cujos
cossenos so as correlaes entre cada par de variveis, ou seja, tomar dij = arccos(rij ).
Quaisquer que sejam as opes para critrios de semelhana e/ou dissemelhana entre variveis, o procedimento de classificao que se segue ser anlogo aos procedimentos de classificao de indivduos
anteriormente considerados que utilizavam como ponto de partida matrizes de (dis)semelhanas.

4.7

A comparao de diferentes classificaes

Nesta Seco aborda-se o problema de, dadas duas diferentes propostas de classificao de n indivduos
em k classes, quantificar o grau de semelhana entre essas classificaes. Um ndice deste tipo ser de
grande utilidade em pelo menos dois contextos:
dada a grande diversidade de possveis classificaes de um mesmo grupo de indivduos em k classes,
torna-se til poder avaliar em que medida os vrios mtodos de classificao tendem a produzir k
subgrupos de constituio igual;
no caso de se pretender validar uma classificao de um grupo de indivduos que se sabe pertencerem
a k diferentes subgrupos, ser til poder quantificar em que medida a classificao foi capaz de
reproduzir essa estrutura.
O mais conhecido dos ndices de comparao de duas classificaes o ndice de Rand. Existem duas
expresses alternativas (mas equivalentes) para o ndice de Rand associado a duas diferentes classificaes
dos mesmos n indivduos em k classes.

A primeira expresso para o ndice de Rand envolve a considerao de quantos, entre os n2 pares
de indviduos diferentes, que so classificados de forma anloga nas duas classificaes, ou porque
pertencem a uma mesma classe nas duas classificaes, ou porque pertencem a classes diferentes nas duas
classificaes. Assim, tem-se:
A+B
 ,
(4.9)
Rk =
n
2

sendo A o nmero de pares de indivduos que pertencem a uma mesma classe nas duas classificaes, e
B o nmero de pares de indivduos que pertencem, nas duas classificaes, a classes diferentes.

6 Por outras palavras, ser o seno do menor ngulo entre as rectas definidas por esses vectores, uma vez que ao elevar os
coeficientes de correlao ao quadrado, se perde a informao sobre o sentido do vector, ficando apenas a informao sobre
a sua direco.

ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

129

CAPTULO 4. ANLISES CLASSIFICATRIAS (CLUSTERING)

Exemplifiquemos com duas classificaes de n = 6 indivduos em k = 3 classes, indicadas pelos nmeros


1, 2 e 3:
classif.1
classif.2

1 1
1 1

2
2

2 3
3 1

3
3

Neste caso, existe um nico par de indivduos que so sempre classificados numa mesma classe (os primeiro

e segundo indivduos, isto , o par (1, 2)), pelo que A = 1. Por outro lado, dos 62 = 15 pares de seis
indivduos possveis, existem B = 9 que, nas duas classificaes, aparecem em classes diferentes (os pares
(1, 3), (1, 4), (1, 6), (2, 3), (2, 4), (2, 6), (3, 5), (3, 6) e (4, 5). Os restantes cinco pares (1, 5), (2, 5), (3, 4),
(4, 6) e (5, 6) surgem numa mesma classe numa das classificaes, e em classes diferentes na outra
10
= 32 . Importa realar que o valor do ndice
classificao. Neste caso, o ndice de Rand vale R3 = 15
de Rand no depende dos valores numricos usados para representar as classes, tomando o mesmo valor
caso a primeira classificao tivesse sido representada pelo vector (2, 2, 3, 3, 1, 1).
O ndice de Rand no mais do que o Coeficiente de Concordncia (veja-se a pgina 122) para dados
binrios, aplicado aos dois vectores de zeros e uns que se obtm quando, em cada classificao, se associa a

cada um dos n2 pares possveis de n individuos um 1, caso pertenam a uma mesma classe, ou um 0, caso
pertenam a classes diferentes. ento fcil de verificar que, como qualquer Coeficiente de Concordncia,
o ndice de Rand toma valores no intervalo [0, 1]. O valor mximo (Rk = 1) corresponder a
uma situao onde as duas classificaes coincidam, no havendo pares que esteja numa mesma
classe num caso, e em classes diferentes no outro.
Uma expresso equivalente do ndice de Rand dada custa do nmero mij de individuos que esto
na classe i da primeira classificao, mas na classe j da segunda classificao. Designando por mi =
k
P
mij o nmero de indivduos na classe i da primeira classificao (independentemente da classe a que
j=1

pertenam na segunda classificao) e por por mj =

k X
k
X
i=1 j=1

Pk

k
X
i=1

Qk

mij o nmero de indivduos na classe j da

i=1

segunda classificao, definam-se as quantidades:

Tk

k
P

k
X
j=1

m2ij n

(4.10)

m2i n

(4.11)

m2j n .

(4.12)

Tem-se ento:
Rk

Tk 12 (Pk + Qk ) +

n
2

n
2

Omite-se a demonstrao da igualdade entre as duas expresses alternativas para o ndice de Rand.
ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

130

4.8. EXEMPLOS

Outro ndice proposto para efectuar a comparao de duas classificaes o ndice de Fowlkes e
Mallows, que tambm se baseia nas quantidades Tk , Pk e Qk acima definidas7 . Enquanto que no ndice
de Rand se privilegia uma comparao entre Tk e a mdia aritmtica de Pk e Qk , o ndice de Fowlkes e
Mallows compara Tk e a mdia geomtrica de Pk e Qk :
Bk

4.8

Tk

.
Pk Qk

(4.13)

Exemplos

Os principais comandos do programa R, no contexto da Anlise Classificatria Hierrquica, so:


dist e as.dist (para criar matrizes de distncias entre indivduos a partir de matrizes de dados);
hclust (para efectuar a Classificao);
plot ou plclust (para representar graficamente a classificao);
cutree (para cortar o dendrograma e produzir uma listagem dos indivduos pertencentes a cada classe);
e
identify e rect.hclust para separar graficamente as classes num dendrograma produzido pelo comando plclust.
No que respeita s Classificaes No-Hierrquicas, o programa informtico R tem uma funo que
efectua uma variante do mtodo das k-mdias, designado as k-mdias de Hartigan, em que o critrio
de atribuio dos indivduos s classes (geradas por uma semente de k centros iniciais) o de minimizar
a soma das inrcias das k classes, em relao aos seus centros. A funo relevante do R a funo kmeans.

4.8.1

Classificando os lrios

Consideremos, mais uma vez, o conjunto de dados iris, j integrado no programa R, e procuremos
classificar os n = 150 lrios, fingindo desconhecer os trs grupos a que, na realidade, os lrios pertencem.
Vejamos se, com base nas quatro variveis morfomtricas observadas, uma Anlise Classificatria capaz
de reproduzir a existncia de trs diferentes grupos, associados s variedades de lrios.
Como foi visto nas Seces anteriores, haver vrias decises a tomar a fim de efectuar uma Anlise
Classificatria, sendo a primeira de todas o critrio de dissemelhana que dever ser associado a cada
par de indivduos. Por omisso, o comando dist pega numa matriz ou data frame de dados e calcula
uma matriz de distncias euclidianas usuais entre cada par de indivduos (linhas da matriz/data frame
original). Atravs da opo methods do comando dist, podero solicitar-se outros conceitos de distncia.
7 Alis,

para salientar a relao entre os dois ndices que as quantidades foram definidas da forma acima referida: no
ndice de Rand seria desnecessrio incluir as parcelas n no final de cada uma das quantidades, uma vez que se cancelam.

ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

131

CAPTULO 4. ANLISES CLASSIFICATRIAS (CLUSTERING)

Actualmente, esto disponveis no R as distncias de Minkowski - inclundo a mtrica do mximo, com


a designao de maximum - ou de Canberra, e ainda - para dados binrios e com a designao de binary
- a distncia que resulta de associar a medida de semelhana Coeficiente de Jaccard (ver pgina 122)
converso em dissemelhana dada pela relao dij = 1 sij .
O comando dist produz um objecto da classe dist, ou seja, um objecto de tipo vector, contendo os
elementos do tringulo inferior da matriz n n de distncias (aproveitando o facto de matrizes de
distncias serem simtricas e terem diagonais nulas para poupar na quantidade de informao a ser
armazenada). Caso se disponha j de uma matriz de dissemelhanas completa (n n), criada por outra
via, esta pode ser transformada numa estrutura de classe dist atravs do comando as.dist.
O resultado poder ento ser passado para o comando hclust, que efectua a classificao. Por omisso,
este comando utiliza o Mtodo do Vizinho Mais Distante para efectuar as sucessivas fuses de classes,
podendo outros mtodos de agregao ser solicitados atravs da opo method. Actualmente, os mtodos
de agregao disponveis no R incluem, alm do mtodo do Vizinho Mais Distante (que utilizado por
omisso, e indicando atravs da opo complete do argumento method), tambm o Mtodo do Vizinho
Mais Prximo (method=single), do Vizinho Mdio (method = average), dos Centrides (method
= average) ou de Ward (method = ward), entre outros.
Os resultados do comando hclust so de difcil leitura (constituem um objecto de classe hclust). Sero
de maior utilidade quando transformados num dendrograma, o que pode ser feito atravs do comando
plclust, ou mais simplesmente solicitando um plot do resultado do comando hclust.
Na Figura 4.2 apresenta-se o dendrograma resultante de uma Anlise Classificatria Hierrquica atravs
do Mtodo do Vizinho Mais Prximo, sobre a matriz de distncias euclidianas entre as n = 150 linhas
dos dados iris. Essa Figura foi obtida atravs do comando:
> plot(hclust(dist(iris[,-5]),method=single))
Como acontece sempre que o nmero de indivduos grande, a leitura das folhas do dendrograma
no fcil, sendo no entanto evidente a existncia de dois grandes grupos. Para compreender quais os
indivduos que integram cada um desses grupos, pode utilizar-se o comando cutree, com o resultado
indicado a seguir:
> cutree(hclust(dist(iris[,-5]),method="single"),k=2)
1
2
3
4
5
6
7
8
9 10 11 12 13 14
1
1
1
1
1
1
1
1
1
1
1
1
1
1
21 22 23 24 25 26 27 28 29 30 31 32 33 34
1
1
1
1
1
1
1
1
1
1
1
1
1
1
41 42 43 44 45 46 47 48 49 50 51 52 53 54
1
1
1
1
1
1
1
1
1
1
2
2
2
2
61 62 63 64 65 66 67 68 69 70 71 72 73 74
2
2
2
2
2
2
2
2
2
2
2
2
2
2
81 82 83 84 85 86 87 88 89 90 91 92 93 94

15
1
35
1
55
2
75
2
95

16
1
36
1
56
2
76
2
96

ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

17
1
37
1
57
2
77
2
97

18
1
38
1
58
2
78
2
98

19 20
1
1
39 40
1
1
59 60
2
2
79 80
2
2
99 100
132

4.8. EXEMPLOS

23 42
15
16
45
34
33
17
21
32
37
25
14
47
20
2212
7
3
4
48
26
30
31
13
46
2
10
3543
9
39
11
49
36
50
8
40
41
15
18
38
28
29
44
24
27
6
19
118
132
99 107
61
58
94
110
109
135
136
119
106
123
69
88 115
63
108
131101
120
65
60
86
7480
79
64
92
62
70
81
82
54
90
91
89
95
100
96
97
68
83
93
67
8556
72
77
78
87
51
53
75
98
55
66
7659
52
57
150
71
128
139
147
124
127122
102
143 114
73
84
134
116
137
149
113
140
125
121
144
141
145
142
146
104
117
138105
129
133
112
111
148
103
126
130

0.5
0.0

Height

1.0

1.5

Cluster Dendrogram

dist(iris[, 5])
hclust (*, "single")

Figura 4.2: Dendrograma dos n = 150 lrios, classificados pelo Mtodo do Vizinho Mais Prximo, com
base numa matriz de distncias euclidianas.
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
141 142 143 144 145 146 147 148 149 150
2
2
2
2
2
2
2
2
2
2
Repare-se como o comando cutree exige a indicao (atravs do parmetro k) do nmero de classes em
que se deseja particionar os indivduos. A composio das classes o resultado de cortar o dendrograma
a uma altura (que, no caso em estudo, pode ser a altura 1.0) na qual resultem dois grupos separados
de folhas. Da listagem produzida (e recordando que a data frame iris continha os lrios setosa nas
50 primeiras linhas) pode verificar-se que a separao deixa a totalidade dos lrios dessa variedade num
grupo, juntando os 100 lrios das outras duas variedades no segundo grupo. Esta separao est de acordo
com a viso dos dados quando projectados no primeiro Plano Principal (Figura 2.3, pgina 74). A leitura
do dendrograma no justifica uma separao em mais do que 2 grupos, e a imposio de um terceiro grupo
(que, recorde-se, sempre possvel, bastando cortar o dendrograma a uma altura adequada) no produz
ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

133

CAPTULO 4. ANLISES CLASSIFICATRIAS (CLUSTERING)

a desejada classificao em separado das variedades versicolor e virginica. Para as variveis observadas,
critrio de distncia entre indivduos e entre classes utilizadas, a separao dessas duas variedades no
possvel.
Estes resultados podem, no entanto, modificar-se, caso se modifique alguma das opes acima referidas.
Assim, por exemplo, uma classificao em trs grupos, baseada ainda na matriz das distncias euclidianas,
mas utilizando o Mtodo da Inrcia Mnima (Mtodo de Ward) para definir as semelhanas entre classes,
produz uma classificao em trs grupos muito prxima da classificao dos lrios pelas suas variedades:
> cutree(hclust(dist(iris[,-5]),method="ward"),k=3)
1
2
3
4
5
6
7
8
9 10 11 12 13
1
1
1
1
1
1
1
1
1
1
1
1
1
21 22 23 24 25 26 27 28 29 30 31 32 33
1
1
1
1
1
1
1
1
1
1
1
1
1
41 42 43 44 45 46 47 48 49 50 51 52 53
1
1
1
1
1
1
1
1
1
1
2
2
2
61 62 63 64 65 66 67 68 69 70 71 72 73
2
2
2
2
2
2
2
2
2
2
2
2
2
81 82 83 84 85 86 87 88 89 90 91 92 93
2
2
2
2
2
2
2
2
2
2
2
2
2
101 102 103 104 105 106 107 108 109 110 111 112 113
3
2
3
3
3
3
2
3
3
3
3
3
3
121 122 123 124 125 126 127 128 129 130 131 132 133
3
2
3
2
3
3
2
2
3
3
3
3
3
141 142 143 144 145 146 147 148 149 150
3
3
2
3
3
3
2
3
3
2

14 15 16 17 18 19 20
1
1
1
1
1
1
1
34 35 36 37 38 39 40
1
1
1
1
1
1
1
54 55 56 57 58 59 60
2
2
2
2
2
2
2
74 75 76 77 78 79 80
2
2
2
2
2
2
2
94 95 96 97 98 99 100
2
2
2
2
2
2
2
114 115 116 117 118 119 120
2
2
3
3
3
3
2
134 135 136 137 138 139 140
2
3
3
3
3
2
3

As primeiras 100 observaes (todas as setosa e versicolor ) foram correctamente classificadas num mesmo
grupo, e nenhuma flr foi incorrectamente classificada no grupo das setosa. J no que respeita aos 50 lrios
virginica, foram globalmente classificados num terceiro grupo, mas em 14 casos foram incorrectamente
associadas ao grupo das versicolor. No entanto, um olhar pelo dendrograma correspondente classificao
baseada neste mtodo (Figura 4.3) revela que a existncia de dois diferentes grupos clara, mas j a
subdiviso em trs grupos menos bvia (embora seja claramente mais plausvel que no caso anterior).
Consideraes anlogas emergem da utilizao da tcnica de Classificao No-Hierrquica das k-mdias.
A exigncia de k = 2 grupos finais com esse mtodo produz os seguintes resultados (que, tratando-se de
um mtodo aleatrio devido ordem de escolha das tentativas de modificao dos subgrupos, podero
revelar algumas discrepncias em futuras aplicaes ao mesmo conjunto de dados):
> kmeans(iris[,-5],2)
K-means clustering with 2 clusters of sizes 97, 53

ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

134

4.8. EXEMPLOS

100
50
30
31
13
2
46
26
10
35
42
14
43
9
39
23
7
3
4
48
36
5
38
50
8
40
28
29
41
1
18
44
24
27
12
25
17
33
34
15
16
45
47
20
22
6
19
21
32
37
11
49
108
131
103
126
130
119
106
123
118
132
110
136
109
135
105
129
133
112
104
117
138
111
148
113
140
142
146
141
145
125
121
144
101
116
137
149
61
99
58
94
63
68
83
93
65
80
70
81
82
60
54
90
107
95
100
89
96
97
67
85
56
91
150
71
128
139
115
102
143
114
122
69
88
147
124
127
120
73
84
134
78
87
51
53
66
76
77
55
59
86
52
57
74
79
64
92
75
98
62
72

Height

150

200

Cluster Dendrogram

dist(iris[, 5])
hclust (*, "ward")
Figura 4.3: Dendrograma dos n = 150 lrios, classificados pelo Mtodo da Inrcia Mnima (Ward), com
base numa matriz de distncias euclidianas.

Cluster means:
Sepal.Length Sepal.Width Petal.Length Petal.Width
1
6.301031
2.886598
4.958763
1.6958763
2
5.005660
3.369811
1.560377
0.2905660
Clustering vector:
1
2
3
4
5
2
2
2
2
2
21 22 23 24 25
2
2
2
2
2
41 42 43 44 45
2
2
2
2
2
61 62 63 64 65
1
1
1
1
1
81 82 83 84 85
1
1
1
1
1

6
2
26
2
46
2
66
1
86
1

7
2
27
2
47
2
67
1
87
1

8
2
28
2
48
2
68
1
88
1

9
2
29
2
49
2
69
1
89
1

10
2
30
2
50
2
70
1
90
1

11
2
31
2
51
1
71
1
91
1

12
2
32
2
52
1
72
1
92
1

13
2
33
2
53
1
73
1
93
1

14
2
34
2
54
1
74
1
94
2

15
2
35
2
55
1
75
1
95
1

16
2
36
2
56
1
76
1
96
1

ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

17
2
37
2
57
1
77
1
97
1

18
2
38
2
58
2
78
1
98
1

19 20
2
2
39 40
2
2
59 60
1
1
79 80
1
1
99 100
2
1
135

CAPTULO 4. ANLISES CLASSIFICATRIAS (CLUSTERING)

101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
141 142 143 144 145 146 147 148 149 150
1
1
1
1
1
1
1
1
1
1
Within cluster sum of squares by cluster:
[1] 123.79588 28.55208
Available components:
[1] "cluster" "centers"

"withinss" "size"

Alm da classificao de cada indivduo ($cluster), o comando devolve os centros de gravidade dos
pontos em cada classe ($centers), a cardinalidade de cada classe ($size) e uma medida do grau de
homogeneidade de cada classe ($withinss), dada pela inrcia de cada classe (o critrio de classificao
visando minimizar a soma dessas inrcias). No caso em questo possvel verificar que a classe 2 (que
inclui as primeiras 50 observaes) mais homognea que a segunda classe, mesmo levando em considerao que tem cerca de metade das observaes, o que confirma a informao j obtida pelas anlises
anteriores.

4.8.2

A classificao das variveis

Pode-se exemplificar o problema de classificar variveis, j discutido na Seco 4.6 (pgina 128), definindo
classes ou subgrupos das 4 variveis observadas nos lrios: Comprimento e largura das Spalas e das
Ptalas. O ponto de partida para a nossa anlise pode ser a matriz de correlaes entre as variveis, que
uma matriz de semelhanas entre variveis, e que resulta ser:
> cor(iris[,-5])
Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length
1.0000000 -0.1175698
0.8717538
0.8179411
Sepal.Width
-0.1175698
1.0000000
-0.4284401 -0.3661259
Petal.Length
0.8717538 -0.4284401
1.0000000
0.9628654
Petal.Width
0.8179411 -0.3661259
0.9628654
1.0000000
O pequeno nmero de variveis observadas torna este exemplo quase desnecessrio, sendo evidente que as
variveis associadas s medies das ptalas constituem um grupo relativamente coeso, ao qual se associa
tambm o comprimento das spalas, enquanto que a largura das spalas constitui uma varivel bastante
diferente das restantes. Mas, se o exemplo quase trivial, em contrapartida ter a vantagem de produzir
dendrogramas legveis!
ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

136

4.8. EXEMPLOS

A utilizao do comando hclust do R exige a utilizao de uma matriz de dissemelhanas, o que coloca o
problema da converso da matriz de correlaes numa matriz de dissemelhanas. Utilizando como matriz
de dissemelhanas a matriz dos senos dos ngulos em Rn representativos das variveis (veja-se a discusso
na Seco 4.6), o dendrograma resultante de utilizar os comandos hclust e plclust com o mtodo de
agregao do Vizinho Mais Distante (utilizado, como vimos antes, quando no se explicita outra opo)
dado na Figura 4.4.

Petal.Width

Petal.Length

Sepal.Length

Sepal.Width

0.6
0.2

Dissemelhancas

1.0

Vizinho Mais Distante

Figura 4.4: Dendrograma das p = 4 variveis observadas no conjunto de dados dos lrios, classificados
q pelo
2.
Mtodo do Vizinho Mais Distante, com medida de dissemelhanas entre variveis dada por dij = 1 rij
Este dendrograma resultou de invocar o comando
> plot(hclust(as.dist(sqrt(1-cor(iris[,-5])^2))))
A opo as.dist necessria para converter a matriz dos senos num objecto de tipo dist, exigido pelo
comando R hclust como sendo a natureza do objecto de entrada que contm as dissemelhanas entre
(neste caso) as variveis.
O dendrograma resultante de utilizar o critrio de agregao do Vizinho Mais Prximo praticamente
idntico.
Outra alternativa possvel consiste em utilizar como medida de dissemelhana os arcos cujos cossenos so
os coeficientes de correlao entre cada par de variveis, o que representa os ngulos entre os vectores
que, em Rn representam as variveis centradas. Exprimindo os ngulos em graus, e atravs do comando
> plot(hclust(as.dist(180/pi*acos(cor(iris[,-5])))), main="",xlab="",
ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

137

CAPTULO 4. ANLISES CLASSIFICATRIAS (CLUSTERING)

sub="",ylab="Angulo (graus)")

Sepal.Width

60

Petal.Width

Petal.Length

Sepal.Length

40
20
0

Angulo (graus)

80

120

obtm-se o dendrograma da Figura 4.5, que semelhante ao anterior, mas separando mais claramente a
varivel largura das spalas, das restantes.

Figura 4.5: Dendrograma das p = 4 variveis observadas no conjunto de dados dos lrios, classificados
pelo Mtodo do Vizinho Mais Distante, com medida de dissemelhanas entre variveis dada por dij =
arccos(rij ) 180
.

4.8.3

Uma funo na linguagem S para o ndice de Rand

Uma das vantagens do programa R reside no facto de ser possvel escrever cdigo usando a linguagem
de programao S para efectuar clculos e operaes, mesmo que estas no existam nos comandos j
pre-disponibilizados no R 8 . Assim, possvel escrever uma pequena funo para calcular o valor do ndice
de Rand associado a duas classificaes que sejam disponibilizadas na forma de dois vectores numricos
de valores inteiros de 1 a k, indicando a classe a que cada um de n indivduos pertence9 .
8 Mas assinale-se a existncia no CRAN de um grande, e sempre crescente, nmero de pacotes contribudos gratuitamente
por utilizadores do R, com cdigo para efectuar muitas operaes no existentes no programa base do R.
9 Neste cdigo simples no existem testes de validao do input para o caso de o utilizador fornecer valores sem sentido,
como por exemplo, valores no inteiros. boa prtica de programao escrever cdigo que contemple essas possibilidades.
Mas neste caso optou-se por manter o cdigo mais simples e legvel.

ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

138

4.8. EXEMPLOS

Na nova funo ser necessrio utilizar uma funo pre-definida no R: a funo outer. A funo outer
um comando de grande utilidade que devolve um produto externo entre dois vectores (os dois primeiros
argumentos), relativamente a uma funo binria (o terceiro argumento). Por exemplo, o comando
> outer(1:10,1:10,"*")
cria uma tabuada (tabela de multiplicao) dos inteiros de 1 a 10. No nosso problema, admite-se que vec
um vector n-dimensional de nmeros inteiros, indicando o subgrupo em que cada um de n individuos
ficou classificado. Usar-se- o comando outer(vec,vec,"==") para, a partir do referido vector, criar
uma matriz de dimenso n n, cujo elemento (i, j) dado pelo resultado (um valor lgico) de vec[i] ==
vec[j]. Assim, este comando cria uma matriz cujos elementos indicam se os elementos i e j do vector
vec foram ou no classificados numa mesma classe. Ilustremos com base na classificao anteriormente
discutida (subseco 4.8.2) das quatro variveis numricas do conjunto iris:
> irisvar2 <- cutree(hclust(as.dist(sqrt(1-cor(iris[,-5]^2)))), k=2)
> irisvar2
Sepal.Length Sepal.Width Petal.Length Petal.Width
1
2
1
1
> outer(irisvar2,irisvar2,"==")
Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length
TRUE
FALSE
TRUE
TRUE
Sepal.Width
FALSE
TRUE
FALSE
FALSE
Petal.Length
TRUE
FALSE
TRUE
TRUE
Petal.Width
TRUE
FALSE
TRUE
TRUE
Estamos agora em condies de escrever a funo para calcular o ndice de Rand, dadas duas classificaes
(class1 e class2) de n indivduos.
rand <- function(class1,class2){
n <- length(class1)
c <- as.dist(outer(class1,class1,"=="))
d <- as.dist(outer(class2,class2,"=="))
rand <- sum(c == d)/(n*(n-1)/2)
rand
}
A funo rand agora definida utiliza quatro comandos do R: length, sum, outer e as.dist. Os dois
primeiros devolvem, respectivamente, o comprimento de um vector (isto , o nmero dos seus elementos)
e a soma dos elementos num vector ou matriz. O comando outer cria, como j se discutiu, uma matriz
cujos elementos indicam se os elementos i e j do vector class1 foram ou no classificados numa mesma
ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

139

CAPTULO 4. ANLISES CLASSIFICATRIAS (CLUSTERING)

classe. Uma vez que nesta matriz esto includos os valores relativos comparao de um elemento com
ele prprio, e os pares de elementos diferentes so contemplados duas vezes, apenas interessa seleccionar
o tringulo inferior da matriz, sendo isso que faz o comando as.dist. O resultado ser um conjunto


de n2 valores lgicos, correspondentes aos n2 pares de individuos que se podem formar a partir dos n
indivduos considerados, e em que o valor lgico TRUE corresponde a pares que pertencem a uma mesma
classe, e os valores lgicos FALSE correspondem a pares que pertencem a classes diferentes. A instruo
de cdigo seguinte faz o mesmo para a segunda classificao a ser comparada. A penltima instruo
compara estes dois conjuntos de valores lgicos e calcula o coeficiente de Concordncia entre eles, ou seja
o ndice de Rand.
O valor do ndice de Rand obtido na comparao das classificaes dos n = 150 lrios em k = 3 grupos
obtidas com uma Classificao Hierrquica com base nos mtodos do Vizinho Mais Prximo e de Ward
(e da habitual distncia Euclidiana) 0.799.
> irisVMP <- hclust(dist(iris[,-5]),method="single")
> irisW <- hclust(dist(iris[,-5]),method="ward")
> rand(cutree(irisVMP,k=3),cutree(irisW,k=3))
[1] 0.7991946
Uma vez que neste caso conhecida a classificao dos 150 lrios em 3 espcies, possvel comparar
as classificaes obtidas atravs das Anlises Classificatrias com esta diviso por espcies. No caso da
classificao resultante do Mtodo do Vizinho Mais Prximo obtm-se um valor de 0.777 do ndice de
Rand, enquanto que o ndice de Rand sobe para 0.892 na comparao entre a classificao por espcies e
a classificao resultante de usar o Mtodo de Ward. Os valores correspondentes para o ndice de Fowlkes
e Mallows so 0.790, 0.764 e 0.841.

ISA/UTL Mestrado em Matemtica Estatstica Multivariada 2009/2010

140