Coleção multivariada
Matriz de distância
Dissimilaridade entre as linhas da tabela — euclidiana, padronizada, D² de Mahalanobis ou Gower.
O que o bloco faz
O bloco multi/distance calcula a distância entre cada par de linhas (genótipos, cultivares, acessos) a partir de uma data/table. A saída é do tipo multi/dist; o card é o mapa de calor da matriz, ordenado pelo UPGMA.
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.
- Resíduo
- A diferença entre o valor observado e o valor que o modelo ajustado prevê para aquela observação. É nos resíduos que se conferem os pressupostos do modelo: eles devem parecer ruído, sem padrão.
- 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
É o primeiro passo de um estudo de diversidade genética: a mesma matriz alimenta o multi/cluster (UPGMA) e o multi/tocher.
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
Sem faltantes nas variáveis (o bloco recusa).
Se falhar: Ligue um
data/drop_naantes, ou impute fora.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).Na Mahalanobis, a covariância S é a das próprias linhas e é inversível (mais linhas que variáveis, sem variável combinação exata das outras). Com a tabela de médias, o D² é descritivo: o dos livros de melhoramento usa a covariância RESIDUAL do experimento.
Verificar:Matriz de correlação
Se falhar: Tire a variável redundante; para o D² com a covariância residual, faça a conta fora com a matriz E da MANOVA.
As variáveis medem caracteres diferentes: na euclidiana, duas muito correlacionadas contam o mesmo caráter duas vezes.
Verificar:Matriz de correlação
Se falhar: Use a Mahalanobis, que desconta a correlação.
Configuração
- Variáveis — colunas numéricas; em branco, todas (na Gower, todas as colunas).
- Distância —
euclidiana padronizada(padrão, cada variável com desvio 1),euclidiana,mahalanobis(sai como D², não a raiz; desconta a correlação entre caracteres) ougower(caracteres mistos). - Rótulo das linhas — coluna com o nome de cada linha, sem repetição.
Exemplo
tr_flow(reg) |>
tr_add("usa", "multi/example", dataset = "USArrests") |>
tr_add("d", "multi/distance", metodo = "mahalanobis", rotulo = "nome", from = "usa")Como interpretar
Blocos escuros na diagonal do mapa são grupos de indivíduos parecidos. Ligada numa entrada de tabela, a matriz vira a tabela larga (rotulo e uma coluna por indivíduo).
Implementação
stats::dist()versão 4.6.0Euclidiana crua e padronizada (scale); o D² de Mahalanobis como euclidiana ao quadrado em X R⁻¹ (S = R'R pela Cholesky), conferido par a par contrastats::mahalanobis(1e-8).cluster::daisy()versão 2.1.8.2metric = "gower"; conferido contra a fórmula de Gower (1971) num exemplo resolvido à mão.
No código O bloco chama trama.multi::tr_multi_distance(), em trama.multi/R/agrupamento.R:207.
A conta é feita nestas chamadas:
cluster::daisy(X, metric = "gower")stats::dist(X)stats::dist(X %*% solve(chol(stats::cov(X))))
Outras funções de pacotes que o bloco usa (5)
stats::complete.cases(X)stats::as.dist(as.matrix(cluster::daisy(X, metric = "gower")))stats::complete.cases(m)stats::cor(m)stats::cov(X)
Referências
Teoria
- Mahalanobis, P. C. (1936). On the generalised distance in statistics. Proceedings of the National Institute of Sciences of India, 2; reimpresso em Sankhyā A, 80(Supl. 1), 1-7, 2018. doi:10.1007/s13171-019-00164-5
- Gower, J. C. (1971). A general coefficient of similarity and some of its properties. Biometrics, 27(4), 857-871. doi:10.2307/2528823
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.
- Ferreira, D. F. (2018). Estatística multivariada. 3. ed. Lavras: Editora UFLA.