Diferença entre PCA e cluster espectral para um pequeno conjunto de amostras de recursos booleanos

10

Eu tenho um conjunto de dados de 50 amostras. Cada amostra é composta por 11 recursos booleanos (possivelmente correlacionados). Gostaria de visualizar como essas amostras são plotadas em 2D e examinar se existem agrupamentos / agrupamentos entre as 50 amostras.

Eu tentei as duas abordagens a seguir:

(a) Execute o PCA na matriz 50x11 e escolha os dois primeiros componentes principais. Projete os dados no gráfico 2D e execute K-means simples para identificar clusters.

(b) Construa uma matriz de similaridade de 50x50 (cosseno). Execute o agrupamento espectral para redução da dimensionalidade, seguido por médias K novamente.

Qual é a diferença conceitual entre fazer PCA direto x usar os valores próprios da matriz de similaridade? Um é melhor que o outro?

Além disso, existem maneiras melhores de visualizar esses dados em 2D? Como meu tamanho de amostra é sempre limitado a 50 e meu conjunto de recursos está sempre na faixa de 10 a 15, estou disposto a tentar várias abordagens em tempo real e escolher a melhor.

Pergunta relacionada: Agrupando amostras por cluster ou PCA

user2602740
fonte

Respostas:

9

Qual é a diferença conceitual entre fazer PCA direto x usar os valores próprios da matriz de similaridade?

O PCA é feito em uma matriz de covariância ou correlação, mas o agrupamento espectral pode pegar qualquer matriz de similaridade (por exemplo, construída com similaridade de cosseno) e encontrar agrupamentos ali.

Segundo, os algoritmos de agrupamento espectral baseiam-se no particionamento de gráficos (geralmente, trata-se de encontrar os melhores cortes do gráfico), enquanto o PCA encontra as direções que apresentam maior variação. Embora em ambos os casos acabemos encontrando os vetores próprios, as abordagens conceituais são diferentes.

E, finalmente, vejo que o PCA e o agrupamento espectral servem a propósitos diferentes: um é uma técnica de redução de dimensionalidade e o outro é mais uma abordagem do agrupamento (mas é feito via redução de dimensionalidade)

Alexey Grigorev
fonte
5

Para recursos booleanos (ou seja, categóricos com duas classes), uma boa alternativa ao uso do PCA consiste em usar a Análise de Correspondência Múltipla (MCA), que é simplesmente a extensão do PCA a variáveis ​​categóricas (consulte o tópico relacionado ). Para alguns antecedentes sobre MCA, os artigos são Husson et al. (2010) ou Abdi e Valentin (2007) . Um excelente pacote R para executar o MCA é o FactoMineR . Ele fornece ferramentas para plotar mapas bidimensionais das cargas das observações nos componentes principais, o que é muito esclarecedor.

Abaixo estão dois exemplos de mapas de um dos meus projetos de pesquisa anteriores (plotados com ggplot2). Eu tinha apenas cerca de 60 observações e deu bons resultados. O primeiro mapa representa as observações no espaço PC1-PC2, o segundo mapa no espaço PC3-PC4 ... As variáveis ​​também são representadas no mapa, o que ajuda na interpretação do significado das dimensões. A coleta de informações de vários desses mapas pode fornecer uma boa imagem do que está acontecendo em seus dados.

insira a descrição da imagem aqui

No site vinculado acima, você também encontrará informações sobre um novo procedimento, o HCPC, que significa Clustering hierárquico nos componentes principais e que pode ser do seu interesse. Basicamente, esse método funciona da seguinte maneira:

  • realizar um MCA,
  • mantenha as primeiras dimensões (em que , com seu número original de recursos). Esta etapa é útil na medida em que remove algum ruído e, portanto, permite um cluster mais estável,k < p pkk<pp
  • execute um cluster hierárquico aglomerativo (de baixo para cima) no espaço dos PCs retidos. Como você usa as coordenadas das projeções das observações no espaço do PC (números reais), é possível usar a distância euclidiana, com o critério de Ward para o enlace (aumento mínimo na variação dentro do cluster). Você pode cortar o dendograma na altura desejada ou deixar a função R cortar se você basear-se em alguma heurística,
  • (opcional) estabilize os clusters executando um cluster K-means. A configuração inicial é dada pelos centros dos clusters encontrados na etapa anterior.

Em seguida, você tem várias maneiras de investigar os clusters (recursos mais representativos, indivíduos mais representativos etc.)

Antoine
fonte