Método de cluster robusto para dados mistos em R

12

Estou procurando agrupar um pequeno conjunto de dados (64 observações de 4 variáveis ​​de intervalo e uma única variável categórica de três fatores). Agora, sou bastante novo na análise de cluster, mas sei que houve um progresso considerável desde os dias em que o cluster hierárquico ou o k-means eram as únicas opções disponíveis. Em particular, parece que estão disponíveis novos métodos de clustering baseado em modelo que, como apontado por chl , permitem o uso de "índices de qualidade de ajuste para decidir sobre o número de clusters ou classes".

No entanto, o pacote R padrão para clustering baseado em modelo mclustaparentemente não se encaixa nos modelos com tipos de dados mistos. O fpcmodelo irá, mas tem problemas para ajustá-lo, suspeito por causa da natureza não gaussiana das variáveis ​​contínuas. Devo continuar com a abordagem baseada em modelo? Eu gostaria de continuar usando o R, se possível. A meu ver, tenho algumas opções:

  1. Converta a variável categórica de três níveis em duas variáveis ​​fictícias e use mclust. Não tenho certeza se isso influenciará os resultados, mas se não, essa é minha opção preferida.
  2. Transforme as variáveis ​​contínuas de alguma forma e use o fpcpacote.
  3. Use outro pacote R que ainda não encontrei.
  4. Crie uma matriz de dissimilaridade usando a medida de Gower e use técnicas tradicionais de cluster hierárquico ou de realocação.

O stats.se hivemind tem alguma sugestão aqui?

fmark
fonte
Para converter seus dados categóricos em código dummy (um codificado a quente), você pode usar a função dummy.data.frame. como entrada, você pode fornecer dados mistos e, como saída, apenas codifica os categóricos.
Naghmeh 19/07

Respostas:

7

Eu recomendo que você use o Gower com o cluster hierárquico subsequente. O cluster hierárquico continua sendo o método mais flexível e apropriado no caso de um pequeno número de objetos (como 64). Se sua variável categórica for nominal, a Gower a recodificará internamente em variáveis ​​simuladas e baseará a similaridade dos dados (como parte da Gower) nelas. Se sua variável é ordinal, você deve saber que a versão mais recente do coeficiente de Gower também pode acomodá-la.

Quanto a vários índices para determinar o "melhor" número de clusters, a maioria deles existe independentemente deste ou daquele algoritmo de cluster. Você não precisa procurar pacotes de armazenamento em cluster que necessariamente incorporam esses índices, pois estes podem existir como pacotes separados. Você deixa uma variedade de soluções de cluster após um pacote de cluster e as compara por um índice de outro pacote.

ttnphns
fonte
Acabei indo por esse caminho, obrigado pela dica.
fmark 19/09/11