O primeiro componente principal não separa classes, mas outros PCs fazem; Como isso é possível?


11

Executei o PCA em 17 variáveis ​​quantitativas para obter um conjunto menor de variáveis, que são os principais componentes, para serem usadas no aprendizado de máquina supervisionado para classificar instâncias em duas classes. Após o PCA, o PC1 responde por 31% da variação nos dados, o PC2 responde por 17%, o PC3 responde por 10%, o PC4 responde por 8%, o PC4 responde por 8%, o PC5 responde por 7% e o PC6, por 6%.

No entanto, quando observo as diferenças médias entre os PCs entre as duas classes, surpreendentemente, o PC1 não é um bom discriminador entre as duas classes. Os PCs restantes são bons discriminadores. Além disso, o PC1 se torna irrelevante quando usado em uma árvore de decisão, o que significa que, após a poda da árvore, ela nem está presente na árvore. A árvore consiste em PC2-PC6.

Existe alguma explicação para esse fenômeno? Pode haver algo errado com as variáveis ​​derivadas?


5
Leia esta pergunta recente stats.stackexchange.com/q/79968/3277 com mais links. Como o PCA não conhece a existência das classes, não garante que nenhum dos PCs seja realmente um bom discriminador; tanto mais que o PC1 será um bom discriminador. Veja também duas figuras como exemplo aqui .
ttnphns

2
Consulte também O que pode levar o PCA a piorar os resultados de um classificador? , em particular os números na resposta de @vqv.
Ameba

Respostas:


14

Isso também pode acontecer se as variáveis ​​não forem dimensionadas para ter variação de unidade antes de executar o PCA. Por exemplo, para esses dados (observe que a escala varia apenas de a enquanto varia de a ):- 0,5 1 x - 3 3y0.51x33

insira a descrição da imagem aqui

PC1 é aproximadamente e responde por quase toda a variação, mas não tem poder discriminatório, enquanto PC2 é e discrimina perfeitamente entre as classes.yxy


Oi, obrigado pela sua resposta! Como o dimensionamento deve ser feito? (x-média) / sd?
Frida

Sim, no RI usado prcomp(x, center=T, scale=T)é o mesmo que fazer (média x) / sd. Neste exemplo, você descobriria que nenhum dos componentes principais é um bom discriminador entre as classes; só funciona se os dois forem usados ​​juntos.
quer

Entendo que os PCs são complementares, mas há alguma explicação por trás disso? Para ser sincero, é a primeira vez que obtenho um PC1 mais fraco em comparação com outros.
Frida

@Frida: o comentário de ttnphns está no alvo. Consulte o terceiro parágrafo da en.wikipedia.org/wiki/Linear_discriminant_analysis . Em certo sentido, é uma sorte que o PCA seja útil com tanta frequência.
Wayne

6

Suponho que a resposta e o exemplo fornecido pelo @Flounderer impliquem isso, mas acho que vale a pena explicar isso. A análise de componentes principais (PCA) é indiferente ao rótulo (classificação). Tudo o que faz é transformar alguns dados de alta dimensão em outro espaço dimensional. Isso pode ajudar nas tentativas de classificação, por exemplo, criando um conjunto de dados que é mais fácil separar por um método específico. No entanto, este é apenas um subproduto (ou um efeito colateral) do PCA.


1

Quando fazemos a análise de componentes principais, os componentes principais correspondem às direções da máxima variabilidade, eles não garantem a máxima discriminação ou separação entre as classes.

Portanto, o segundo componente fornece uma boa classificação significa que os dados nessa direção oferecem uma melhor discriminação entre as classes. Quando você executa a Análise Discriminante Linear (LDA), fornece os melhores componentes de direção ortogonal que maximizam a distância entre classes e minimizam a distância entre classes.

Portanto, se você fizer o LDA nos dados em vez do PCA, provavelmente um dos primeiros componentes estaria mais próximo do PC6 do que do PC1. Espero que isto ajude.

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.