Cluster hierárquico com dados de tipo misto - que distância / semelhança usar?

34

No meu conjunto de dados, temos variáveis ​​contínuas e naturalmente discretas. Quero saber se podemos fazer cluster hierárquico usando os dois tipos de variáveis. E se sim, que medida de distância é apropriada?

Beta
fonte
Qual software você está usando?
Rolando2
@ rolando2: Estou usando R (pacote hclus).
Beta
11
Existe uma razão para usar o cluster hierárquico?
suncoolsu
N / D. Acabei de fazer esta pergunta pelo meu conhecimento. Podemos fazer hierarquia quando misturamos o tipo de dados. Se sim, então por quê? Se não, então por quê?
Beta
@ user4278 Bem, qual é o seu objetivo in fine ? Você está procurando identificar grupos (de indivíduos)?
chl

Respostas:

45

Uma maneira é usar o coeficiente de similaridade de Gower, que é uma medida composta 1 ; são necessárias variáveis ​​quantitativas (como escala de classificação), binárias (como presente / ausente) e nominais (como trabalhador / professor / funcionário). Mais tarde, o Podani 2 adicionou uma opção para obter variáveis ​​ordinais também.12

O coeficiente é facilmente entendido mesmo sem uma fórmula; você calcula o valor de similaridade entre os indivíduos por cada variável, levando em consideração o tipo da variável e, em seguida, calcula a média de todas as variáveis. Geralmente, um programa que calcula Gower permitirá ponderar variáveis, ou seja, sua contribuição, para a fórmula composta. No entanto, a ponderação adequada de variáveis ​​de tipo diferente é um problema , não existem diretrizes claras, o que faz com que Gower ou outros índices "compostos" de proximidade puxem a cara.

As facetas da semelhança de Gower ( GS ):

  • Quando todas as variáveis ​​são quantitativas (intervalo), o coeficiente é a distância de Manhattan normalizada pelo intervalo convertida em similaridade. Devido às variáveis ​​de normalização de diferentes unidades, podem ser usadas com segurança. Você não deve, no entanto, esquecer discrepantes. (Você também pode decidir normalizar por outra medida de spread além do intervalo.) Devido à normalização mencionada por uma estatística, como o intervalo, sensível à composição dos indivíduos no conjunto de dados, a semelhança de Gower entre dois indivíduos pode alterar seu valor se você remover ou adicionar outras pessoas nos dados.
  • Quando todas as variáveis ​​são ordinais, primeiro são classificadas e, em seguida, Manhattan é computada, como acima, com variáveis ​​quantitativas, mas com o ajuste especial para empates.
  • Quando todas as variáveis ​​são binárias (com uma significância assimétrica das categorias: atributo "presente" vs "ausente"), o coeficiente é o coeficiente de correspondência de Jaccard (esse coeficiente trata quando ambos os indivíduos não possuem o atributo como nem correspondendo nem incompatível).
  • Quando todas as variáveis ​​são nominais (também incluindo aqui dicotômicas com significância simétrica: "this" vs "that"), o coeficiente é o coeficiente de correspondência de dados que você obtém de suas variáveis ​​nominais se as codificar em variáveis ​​dummy (consulte esta resposta para obter mais informações) .

(É fácil estender a lista de tipos. Por exemplo, pode-se adicionar uma soma para variáveis ​​de contagem, usando a distância qui-quadrado normalizada convertida em similaridade.)

O coeficiente varia entre 0 e 1.

1GS1GS1GS1GS

Com distâncias euclidianas (distâncias que suportam o espaço euclidiano), praticamente qualquer técnica clássica de agrupamento serve. Incluindo meios K (se o seu programa K-meios puder processar matrizes de distância, é claro) e incluindo métodos medianos de Ward, centróide e mediano de agrupamento hierárquico . Usar meios K ou outros métodos baseados na distância euclidiana com distância métrica não euclidiana ainda é heuristicamente admissível, talvez. Com distâncias não métricas, nenhum desses métodos pode ser usado.

O parágrafo anterior fala sobre se os meios K ou Ward ou tais agrupamentos são legais ou não com a distância de Gower matematicamente (geometricamente). Do ponto de vista da escala de medição ("psicométrica"), não se deve calcular o desvio médio ou a distância euclidiana a partir dele em nenhum dado categórico (nominal, binário e ordinal); portanto, dessa posição, você simplesmente não pode processar o coeficiente de Gower por meios K, Ward etc. Esse ponto de vista adverte que, mesmo que um espaço euclidiano esteja presente, ele pode ser granulado, não suave ( veja o relacionado ).


1

2

ttnphns
fonte
Obrigado ttnphns! Você pode me dizer que o "coeficiente de similaridade de Gower" está integrado no pacote hclus no R? Existe algum pacote no R que tenha essa funcionalidade.
Beta
Eu não sou usuário R, então não sei, e não acho que você o encontrará no hclus. Mas se você pesquisar no Google "Gower Similarity R", certamente encontrará o que precisa!
ttnphns
user4278, Caso você não evite o SPSS, tenho uma macro para a semelhança de Gower na minha página da web. Aceita ponderação e dados ausentes.
ttnphns
@ user4278 Sobre o R especificamente, comece aqui: cran.r-project.org/web/views/Environmetrics.html
chl
@ttnphns: Obrigado! Eu visitei seu site e é um ótimo recurso para o SPSS. Mas, infelizmente, não uso muito o SPSS. Mas certamente vou usá-lo se não conseguir nada em R. @ chl: Obrigado! Mas é uma lista enorme. Li em algum lugar que Daisy, no pacote de cluster, tem funcionalidade de similaridade de Gower.
Beta
15

Se você se deparou com essa pergunta e está se perguntando qual pacote baixar para usar a métrica Gower no R , o clusterpacote possui uma função chamada daisy () , que por padrão usa a métrica da Gower sempre que tipos mistos de variáveis ​​são usados. Ou você pode configurá-lo manualmente para usar a métrica de Gower.

daisy(x, metric = c("euclidean", "manhattan", "gower"),
      stand = FALSE, type = list(), weights = rep.int(1, p))
Zhubarb
fonte
4
Além resposta de Zhubarb , se você quiser as distâncias Gower entre todos os pares de dois conjuntos de dados, em seguida, veja o pacote R StatMatch.
James Hirschorn