Como o PCA ajudaria na análise de agrupamento k-means?

32

Antecedentes : quero classificar as áreas residenciais de uma cidade em grupos com base em suas características socioeconômicas, incluindo densidade de unidades habitacionais, densidade populacional, área de espaços verdes, preço da habitação, número de escolas / centros de saúde / creches, etc. Quero entender em quantos grupos diferentes as áreas residenciais podem ser divididas e quais são suas características únicas. Esta informação pode facilitar o planejamento da cidade.

Com base em alguns exemplos (cf., este post do blog: PCA e K-significa Clustering da Delta Aircraft ), descobri que a maneira de fazer a análise é:

  1. Primeiro faça a análise PCA.

  2. Determine o número de grupos únicos (clusters) com base nos resultados da PCA (por exemplo, usando o método "cotovelo" ou, alternativamente, o número de componentes que explica 80 a 90% da variação total).

  3. Após determinar o número de clusters, aplique o cluster de k-means para fazer a classificação.

Minhas perguntas: parecia que o número de componentes do PCA está relacionado à análise de clusters. Isso é verdade, se, digamos, encontrarmos 5 componentes PCA explicados mais de 90% da variação de todos os recursos, aplicaríamos o cluster k-means e obteríamos 5 clusters. Então, os 5 grupos correspondiam exatamente aos 5 componentes na análise PCA?

Em outras palavras, acho que minha pergunta é: Qual é a conexão entre a análise PCA e o cluster de k-means?

Atualizações: Graças às entradas de Emre, xeon e Kirill. Portanto, as respostas atuais:

  1. Fazer o PCA antes da análise de cluster também é útil para a redução da dimensionalidade como um extrator de recursos e para visualizar / revelar clusters.

  2. A execução do PCA após o armazenamento em cluster pode validar o algoritmo de armazenamento em cluster (referência: análise de componentes principais do kernel ).

  3. Às vezes, o PCA é aplicado para reduzir a dimensionalidade do conjunto de dados antes do armazenamento em cluster. No entanto, Yeung e Ruzzo (2000) mostraram que o agrupamento com os PCs em vez das variáveis ​​originais não melhora necessariamente a qualidade do agrupamento. Em particular, os primeiros PCs (que contêm a maior parte da variação nos dados) não capturam necessariamente a maior parte da estrutura do cluster.

    • Yeung, Ka Yee e Walter L. Ruzzo. Um estudo empírico na análise de componentes principais para agrupar dados de expressão gênica. Relatório técnico, Departamento de Ciência e Engenharia da Computação, Universidade de Washington, 2000. ( pdf )
  4. Parecia que o PCA é necessário antes de uma análise de cluster em duas etapas . Baseado em Ibes (2015), no qual a análise de cluster foi realizada utilizando os fatores identificados no PCA.

enaJ
fonte
1
É possível usar o PCA para redução de dimensionalidade como um extrator de recurso e para visualizar os clusters.
Emre
3
Comece simples: execute um classificador diretamente nos dados que você possui e observe o desempenho. Se você não estiver satisfeito com o desempenho, tente o PCA (selecione o número de componentes no "joelho" do gráfico de autovalor classificado) e execute k-médias. Se você encontrar clusters agradáveis, há uma boa chance de o classificador PCA + fazer um bom trabalho.
Vladislavs Dovgalecs
1
Você também pode executar o PCA após o armazenamento em cluster para validar seu algoritmo de armazenamento em cluster; código de cores de cada ponto pelo rótulo do cluster. Eu também recomendo olhar para o PCA do kernel .
Emre
Existem métodos que executam simultaneamente redução de dimensionalidade e agrupamento. Esses métodos buscam uma representação de baixa dimensão idealmente escolhida para facilitar a identificação de clusters. Por exemplo, consulte pacote clustrd em R e as referências associadas.
Nat

Respostas:

16

O PCA não é um método de armazenamento em cluster. Mas, às vezes, ajuda a revelar agrupamentos.

Vamos supor que você tenha distribuições normais 10-dimensionais com média (vetor de zeros) e alguma matriz de covariância com 3 direções com variação maior do que outras. A aplicação da análise de componentes principais com três componentes fornecerá essas instruções em ordem decrescente e a abordagem "cotovelo" dirá a você que essa quantidade de componentes escolhidos está correta. No entanto, ainda será uma nuvem de pontos (1 cluster).010

Vamos supor que você tenha 10 distribuições normais 10-dimensionais com médias , , ... (as médias estão quase na linha) e matrizes de covariância semelhantes. A aplicação do PCA com apenas 1 componente (após a padronização) fornecerá a direção em que você observará todos os 10 clusters. Analisando a variância explicada (abordagem 'cotovelo'), você verá que 1 componente é suficiente para descrever esses dados. 2 10 10 101102101010

No link que você mostra, o PCA é usado apenas para construir algumas hipóteses em relação aos dados. A quantidade de clusters é determinada pela abordagem de cotovelo, de acordo com o valor da soma dos quadrados dentro dos grupos (não pela variação explicada). Basicamente, você repete o algoritmo K-means para diferentes quantidades de clusters e calcula essa soma de quadrados. Se o número de clusters for igual ao número de pontos de dados, a soma dos quadrados será igual a .0

Kirill
fonte
Obrigado por suas contribuições. Você poderia explicar o que são distribuições normais em 10 dimensões com média 0? Você quer dizer dez variáveis ​​de recurso de entrada e cada uma delas segue uma distribuição normal?
enaJ 18/06/2015
Desculpe, estou falando de uma variável aleatória que segue a distribuição normal multivariada com média que será o vetor 10-dimensional e a matriz de covariância que é a matriz simétrica de 10x10.
Kirill