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?

Frida
fonte
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

Solha
fonte
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.

Boris Gorelik
fonte
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.

Santanu_Pattanayak
fonte