Por que existem componentes principais para dados se o número de dimensões é ?

22

No PCA, quando o número de dimensões é maior que (ou mesmo igual a) o número de amostras , por que você terá no máximo autovetores diferentes de zero? Em outras palavras, a classificação da matriz de covariância entre as dimensões é .dNN1dNN1

Exemplo: suas amostras são imagens vetorizadas, que são da dimensão , mas você só tem imagens.d=640×480=307200N=10

GrokingPCA
fonte
5
Imagine pontos em 2D ou em 3D. Qual é a dimensionalidade da variedade que esses pontos estão ocupando? A resposta é : dois pontos sempre estão em uma linha (e uma linha é unidimensional). A dimensionalidade exata do espaço não importa (contanto que seja maior que ), seus pontos ocupam apenas o subespaço unidimensional. Portanto, a variação é apenas "espalhada" neste subespaço, ou seja, ao longo de 1 dimensão. Isto permanece verdadeiro para qualquer . N - 1 = 1 N NN=2N1=1NN
Ameba diz Reinstate Monica
1
Eu acrescentaria apenas uma precisão adicional ao comentário de @ amoeba. O ponto de origem também é importante. Portanto, se você tiver N = 2 + origem, o número de dimensões é no máximo 2 (não 1). No entanto, no PCA geralmente centralizamos os dados, o que significa que colocamos a origem dentro do espaço da nuvem de dados - então uma dimensão é consumida e a resposta será "N-1", como mostra a ameba.
ttnphns
É isso que me confunde. Não é a centralização em si que destrói a dimensão, certo? Se você tiver exatamente N amostras e N dimensões, mesmo depois de centralizar, você ainda terá N vetores próprios ..?
GrokingPCA
2
Por quê? É a centralização que destrói uma dimensão. A centralização (por média aritmética) "move" a origem de "fora" para o espaço "estendido" pelos dados. Com o exemplo de N = 2. 2 pontos + alguma origem geralmente abrangem um avião. Ao centralizar esses dados, você coloca a origem em uma linha reta na metade do caminho entre os 2 pontos. Portanto, os dados agora abrangem apenas a linha.
ttnphns
3
Euclides já sabia disso 2300 anos atrás: dois pontos determinam uma linha, três pontos determinam um plano. Generalizando, pontos determinam um espaço euclidiano dimensional N - 1 . NN1
whuber

Respostas:

20

Considere o que o PCA faz. Simplificando, o PCA (como normalmente é executado) cria um novo sistema de coordenadas ao:

  1. mudar a origem para o centróide dos seus dados,
  2. aperta e / ou estica os eixos para torná-los iguais em comprimento, e
  3. gira seus eixos para uma nova orientação.

(Para obter mais detalhes, consulte este excelente tópico do CV: Compreendendo a análise de componentes principais, os autovetores e os autovalores .) No entanto, ele não apenas gira seus eixos da maneira antiga. Seu novo (o primeiro componente principal) é orientado na direção da variação máxima de seus dados. O segundo componente principal é orientado na direção da próxima maior quantidade de variação ortogonal ao primeiro componente principal . Os demais componentes principais são formados da mesma forma. X1

Com isso em mente, vamos examinar o exemplo de @ amoeba . Aqui está uma matriz de dados com dois pontos em um espaço tridimensional:
Vamos ver esses pontos em um gráfico de dispersão tridimensional (pseudo):

X=[111222]

insira a descrição da imagem aqui

(1.5,1.5,1.5)(0,0,0)(3,3,3)(0,0,3)(3,3,0)(0,3,0)(3,0,3)

N=2N1=1

- Reinstate Monica
fonte