Il primo componente principale non separa le classi, ma altri PC lo fanno; come è possibile?


11

Ho eseguito PCA su 17 variabili quantitative al fine di ottenere un insieme più piccolo di variabili, ovvero i componenti principali, da utilizzare nell'apprendimento automatico supervisionato per classificare le istanze in due classi. Dopo PCA il PC1 rappresenta il 31% della varianza nei dati, PC2 rappresenta il 17%, PC3 rappresenta il 10%, PC4 rappresenta l'8%, PC5 rappresenta il 7% e PC6 il 6%.

Tuttavia, quando osservo le differenze medie tra i PC tra le due classi, sorprendentemente, PC1 non è un buon discriminatore tra le due classi. I PC rimanenti sono buoni discriminatori. Inoltre, PC1 diventa irrilevante se utilizzato in un albero decisionale, il che significa che dopo la potatura non è nemmeno presente nell'albero. L'albero è costituito da PC2-PC6.

C'è qualche spiegazione per questo fenomeno? Può esserci qualcosa di sbagliato nelle variabili derivate?


5
Leggi questa recente domanda stats.stackexchange.com/q/79968/3277 con ulteriore link al suo interno. Dato che PCA non è a conoscenza dell'esistenza delle classi, non garantisce che nessuno dei PC sia veramente un buon discriminatore; tanto più che PC1 sarà un buon discriminatore. Vedi anche due immagini come esempio qui .
ttnphns,

2
Vedi anche Cosa può indurre PCA a peggiorare i risultati di un classificatore? , in particolare le cifre nella risposta di @vqv.
amoeba,

Risposte:


14

Può anche accadere se le variabili non sono ridimensionate per avere una varianza unitaria prima di eseguire PCA. Ad esempio, per questi dati (notare che la scala va solo da - 0,5 a 1 mentre x va da - 3 a 3 ):y-0.51X-33

inserisci qui la descrizione dell'immagine

PC1 è approssimativamente e rappresenta quasi tutta la varianza, ma non ha potere discriminatorio, mentre PC2 è y e discrimina perfettamente tra le classi.Xy


Ciao, grazie per la tua risposta! Come dovrebbe essere fatto il ridimensionamento? (x-media) / sd?
Frida,

Sì, in RI usato prcomp(x, center=T, scale=T)che è lo stesso di fare (x-mean) / sd. In questo esempio, scopriresti che nessuno dei componenti principali è un buon discriminatore tra le classi; funziona solo se sono entrambi usati insieme.
Flounderer,

Capisco che i PC sono complementari ma c'è qualche spiegazione dietro questo? Ad essere sincero, questa è la prima volta che ottengo un PC1 più debole rispetto ad altri.
Frida,

@Frida: il commento di ttnphns è sul target. Vedi en.wikipedia.org/wiki/Linear_discriminant_analysis terzo paragrafo. In un certo senso è una fortuna che PCA si riveli utile così spesso.
Wayne, il

6

Presumo che la risposta e l'esempio forniti da @Flounderer lo implichino, ma penso che valga la pena spiegarlo. L'analisi dei componenti principali (PCA) è indifferente all'etichetta (classificazione). Tutto ciò che fa è trasformare alcuni dati ad alta dimensione in un altro spazio dimensionale. Esso potrebbe aiutare nel tentativo di classificazione da parte, ad esempio, la creazione di set di dati che è più facile separabili con un metodo particolare. Tuttavia, questo è solo un sottoprodotto (o un effetto collaterale) del PCA.


1

Quando eseguiamo l'analisi dei componenti principali, i componenti principali corrispondono alle direzioni della massima variabilità, non garantiscono la massima discriminazione o separazione tra le classi.

Quindi il secondo componente ti dà una buona classificazione significa che i dati in quella direzione ti danno una migliore discriminazione tra le classi. Quando si esegue l'analisi lineare discriminante (LDA), si ottengono i migliori componenti della direzione ortogonale che massimizzano la distanza tra le classi e minimizzano la distanza tra le classi.

Quindi, se si esegue LDA sui dati anziché su PCA, probabilmente uno dei primissimi componenti sarebbe più vicino a PC6 che a PC1. Spero che sia di aiuto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.