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

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)


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.)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.