Coleção multivariada

Agrupamento

Agrupamento hierárquico (UPGMA, Ward, completo, simples) ou k-means, com corte em k grupos e correlação cofenética.

O que o bloco faz

O bloco multi/cluster junta os indivíduos em grupos. Recebe a tabela (entrada dados, distância euclidiana nas variáveis) ou uma matriz do multi/distance (entrada distancia). O card é o dendrograma com o corte.

Antes de continuar

Termos que esta página usa, em poucas palavras. As definições completas estão no glossário.

Variância
A média dos quadrados das distâncias de cada valor à média: mede o quanto os dados se espalham. O desvio padrão é a raiz quadrada da variância e fica na mesma unidade dos dados.
Repetição
Cada unidade experimental que recebe o mesmo tratamento. As repetições permitem estimar o erro experimental; medir várias vezes a mesma unidade não é repetição.
Distância e dissimilaridade
Uma medida de quão diferentes são duas observações quando consideradas todas as variáveis ao mesmo tempo. A escolha da distância (euclidiana, de Mahalanobis, de Gower) muda quem fica perto de quem no agrupamento.
Análise de agrupamento
Métodos que reúnem observações parecidas em grupos sem que os grupos sejam conhecidos de antemão. O resultado depende da distância, do método de ligação e do número de grupos escolhido.

Quando usar

Diversidade genética entre genótipos, tipologia de propriedades, qualquer pergunta de “quem se parece com quem”.

Pressupostos

  • Cada linha é um indivíduo (um genótipo, um acesso): com repetições do experimento, resuma antes (média por genótipo).

    Verificar:Agrupar e resumir

  • As variáveis estão numa escala comparável, ou a distância cuida disso: na euclidiana crua a variável de maior variância domina; a padronizada, a Mahalanobis e a Gower corrigem.

    Se falhar: Use a euclidiana padronizada (ou Padronizar ligado no agrupamento).

  • A ligação combina com a distância: o Ward supõe distância euclidiana (sobre Mahalanobis usa a raiz do D²; sobre Gower é aproximado); UPGMA, completo e simples aceitam qualquer dissimilaridade.

    Verificar:Matriz de distância

  • O dendrograma representa bem a matriz: correlação cofenética acima de ~0,7 (Sokal & Rohlf 1962). Abaixo disso, os grupos do corte dizem pouco sobre as distâncias reais.

    Verificar:Dendrograma

    Se falhar: Troque a ligação (o UPGMA costuma dar a maior cofenética) ou leia a matriz direto no mapa de calor do multi/distance.

  • O número de grupos é uma escolha, não uma estimativa: nenhum teste aqui diz que há k grupos. Todo agrupamento acha grupos, até em dados sem estrutura.

    Verificar:DendrogramaTocher

    Se falhar: Corte onde os ramos são longos, e confira se o Tocher na mesma matriz dá grupos parecidos.

  • No k-means, os grupos são aproximadamente esféricos e de tamanhos parecidos, e o ótimo é LOCAL (por isso 25 partidas e a semente do nó).

Configuração

  • Variáveis, Padronizar, Rótulo das linhas — só quando parte da tabela.
  • Método — UPGMA (ligação média, o mais usado em melhoramento), Ward.D2, completo, simples ou k-means (só a partir da tabela, com a semente do nó).
  • Grupos — o k do corte.

Com Mahalanobis, o UPGMA usa o D² (como nas teses) e o Ward usa D, a raiz, porque o Ward já eleva ao quadrado. Com Gower, o Ward é aproximado: a Gower não é euclidiana.

Exemplo

Exemplo multivariado
Matriz de distância
Agrupamento
tr_flow(reg) |>
  tr_add("usa", "multi/example", dataset = "USArrests") |>
  tr_add("d", "multi/distance", rotulo = "nome", from = "usa") |>
  tr_add("ag", "multi/cluster", metodo = "UPGMA", grupos = 4L, from = "d")

Como interpretar

A correlação cofenética (no subtítulo e no resumo) mede quanto a árvore preserva as distâncias; acima de 0,7 é boa representação. Ligado numa tabela, o agrupamento vira os dados com a coluna grupo (G1, G2…).

Implementação

  • stats::hclust() versão 4.6.0average, ward.D2, complete, single; cofenética por stats::cophenetic, corte por stats::cutree. Alturas de fusão conferidas contra cluster::agnes nas quatro ligações (1e-10).
  • stats::kmeans() versão 4.6.0Hartigan-Wong, nstart = 25, iter.max = 100.

No código O bloco chama trama.multi::tr_multi_cluster(), em trama.multi/R/agrupamento.R:249.

A conta é feita nestas chamadas:

Outras funções de pacotes que o bloco usa (11)

Referências

Teoria

  • Lance, G. N.; Williams, W. T. (1967). A general theory of classificatory sorting strategies: 1. Hierarchical systems. The Computer Journal, 9(4), 373-380. doi:10.1093/comjnl/9.4.373
  • Ward, J. H. (1963). Hierarchical grouping to optimize an objective function. Journal of the American Statistical Association, 58(301), 236-244. doi:10.1080/01621459.1963.10500845
  • Sokal, R. R.; Rohlf, F. J. (1962). The comparison of dendrograms by objective methods. Taxon, 11(2), 33-40. doi:10.2307/1217208
  • Hartigan, J. A.; Wong, M. A. (1979). Algorithm AS 136: a k-means clustering algorithm. Applied Statistics, 28(1), 100-108. doi:10.2307/2346830

Livro-texto

  • Cruz, C. D.; Regazzi, A. J.; Carneiro, P. C. S. (2012). Modelos biométricos aplicados ao melhoramento genético. v. 1, 4. ed. Viçosa: Editora UFV (ISBN 978-85-7269-433-9).
  • Johnson, R. A.; Wichern, D. W. (2007). Applied Multivariate Statistical Analysis. 6. ed. Upper Saddle River: Pearson Prentice Hall.

Complementar

  • Murtagh, F.; Legendre, P. (2014). Ward's hierarchical agglomerative clustering method: which algorithms implement Ward's criterion?. Journal of Classification, 31(3), 274-295. doi:10.1007/s00357-014-9161-z

Ver a bibliografia completa do trama