Quali sono le principali differenze tra l'esecuzione dell'analisi dei componenti principali (PCA) sulla matrice di correlazione e la matrice di covarianza? Danno gli stessi risultati?
Quali sono le principali differenze tra l'esecuzione dell'analisi dei componenti principali (PCA) sulla matrice di correlazione e la matrice di covarianza? Danno gli stessi risultati?
Risposte:
Si tende a usare la matrice di covarianza quando le scale delle variabili sono simili e la matrice di correlazione quando le variabili si trovano su scale diverse.
L'uso della matrice di correlazione equivale a standardizzare ciascuna delle variabili (per indicare 0 e deviazione standard 1). In generale, PCA con e senza standardizzazione darà risultati diversi. Soprattutto quando le scale sono diverse.
Ad esempio, dai un'occhiata a questo heptathlon
set di dati R. Alcune delle variabili hanno un valore medio di circa 1,8 (salto in alto), mentre altre variabili (corsa 800m) sono circa 120.
library(HSAUR)
heptathlon[,-8] # look at heptathlon data (excluding 'score' variable)
Questo produce:
hurdles highjump shot run200m longjump javelin run800m
Joyner-Kersee (USA) 12.69 1.86 15.80 22.56 7.27 45.66 128.51
John (GDR) 12.85 1.80 16.23 23.65 6.71 42.56 126.12
Behmer (GDR) 13.20 1.83 14.20 23.10 6.68 44.54 124.20
Sablovskaite (URS) 13.61 1.80 15.23 23.92 6.25 42.78 132.24
Choubenkova (URS) 13.51 1.74 14.76 23.93 6.32 47.46 127.90
...
Ora facciamo PCA sulla covarianza e sulla correlazione:
# scale=T bases the PCA on the correlation matrix
hep.PC.cor = prcomp(heptathlon[,-8], scale=TRUE)
hep.PC.cov = prcomp(heptathlon[,-8], scale=FALSE)
biplot(hep.PC.cov)
biplot(hep.PC.cor)
Si noti che PCA sulla covarianza è dominato da run800m
e javelin
: PC1 è quasi uguale a run800m
(e spiega l' della varianza) e PC2 è quasi uguale a (insieme spiegano il ). L'APC sulla correlazione è molto più informativo e rivela una struttura nei dati e nelle relazioni tra le variabili (ma si noti che le varianze spiegate scendono al e ).97 % 64 % 71 %javelin
Si noti inoltre che gli individui periferici (in questo set di dati) sono anomali indipendentemente dal fatto che venga utilizzata la matrice di covarianza o di correlazione.
Bernard Flury, nel suo eccellente libro che introduce l'analisi multivariata, lo ha descritto come un'anti-proprietà dei componenti principali. In realtà è peggio che scegliere tra correlazione o covarianza. Se si cambiano le unità (ad esempio galloni, pollici, ecc. E litri, centimetri in stile USA), si otterranno proiezioni dei dati sostanzialmente diverse.
L'argomento contro l'utilizzo automatico delle matrici di correlazione è che è un modo abbastanza brutale di standardizzare i dati. Il problema con l'uso automatico della matrice di covarianza, che è molto evidente con i dati di eptathalon, è che le variabili con la varianza più alta domineranno il primo componente principale (la proprietà che massimizza la varianza).
Quindi il metodo "migliore" da usare si basa su una scelta soggettiva, un pensiero attento e una certa esperienza.
DATI NON TRASFORMATI (RAW): se si hanno variabili con scale ampiamente variabili per dati grezzi e non trasformati, ovvero assunzione calorica giornaliera, espressione genica, ELISA / Luminex in unità di ug / dl, ng / dl, basate su diversi ordini di grandezza dell'espressione proteica, quindi utilizzare la correlazione come input per il PCA. Tuttavia, se tutti i tuoi dati si basano, ad esempio, sull'espressione genica dalla stessa piattaforma con intervallo e scala simili o se stai lavorando con i rendimenti delle attività di log equity, l'utilizzo della correlazione genererà una quantità enorme di informazioni.
In realtà non è necessario pensare alla differenza di usare la matrice di correlazione o la matrice di covarianza come input per PCA, ma piuttosto, guardare i valori diagonali di e . Puoi osservare una varianza di per una variabile e per un'altra, che si trovano sulla diagonale di . Ma quando osserviamo le correlazioni, la diagonale ne contiene tutte, quindi la varianza di ogni variabile viene sostanzialmente cambiata in quando usi la matrice .
DATI TRASFORMATI: se i dati sono stati trasformati tramite normalizzazione, percentili o standardizzazione zero medio (ovvero punteggi ), in modo che l'intervallo e la scala di tutte le variabili continue siano uguali, è possibile utilizzare la matrice Covariance senza problemi. (la correlazione significherà zero standardizzare le variabili). Ricorda, tuttavia, che queste trasformazioni non rimuoveranno l'asimmetria (cioè le code sinistra o destra negli istogrammi) nelle tue variabili prima di eseguire PCA . L'analisi PCA tipica non comporta la rimozione dell'asimmetria; tuttavia, alcuni lettori potrebbero aver bisogno di rimuovere l'asimmetria per soddisfare i rigorosi vincoli di normalità.
In sintesi, utilizzare la matrice di correlazione quando l'intervallo e la scala all'interno della variabile differiscono ampiamente e utilizzare la matrice di covarianza per preservare la varianza se l'intervallo e la scala delle variabili sono simili o nelle stesse unità di misurare.
VARIABILI SALVATE: se una delle variabili è inclinata con le code sinistra o destra nei loro istogrammi, ovvero il test di normalità di Shapiro-Wilk o Lilliefors è significativo , potrebbero esserci alcuni problemi se è necessario applicare la normalità assunzione. In questo caso, utilizzare i punteggi (trasformazioni) di van der Waerden determinati da ciascuna variabile. Il punteggio van der Waerden (VDW) per una singola osservazione è semplicemente la mappatura normale cumulativa inversa (standard) del valore percentuale dell'osservazione. Ad esempio, supponiamo di avere osservazioni per una variabile continua, è possibile determinare i punteggi VDW usando:
Ad esempio, se si inserisce un valore 0,025, si otterrà . Lo stesso vale per un valore del plug-in di , otterrai .
L'uso dei punteggi VDW è molto popolare in genetica, dove molte variabili vengono trasformate in punteggi VDW e quindi immesse in analisi. Il vantaggio dell'utilizzo dei punteggi VDW è che l'asimmetria e gli effetti anomali vengono rimossi dai dati e possono essere utilizzati se l'obiettivo è quello di eseguire un'analisi in contrasto con la normalità - e ogni variabile deve essere puramente standard normale distribuita senza asimmetria o valori anomali.
Una risposta comune è suggerire che la covarianza viene utilizzata quando le variabili sono sulla stessa scala e la correlazione quando le loro scale sono diverse. Tuttavia, questo è vero solo quando la scala delle variabili non è un fattore. Altrimenti, perché qualcuno dovrebbe mai fare la covarianza PCA? Sarebbe più sicuro eseguire sempre la correlazione PCA.
Immagina che le tue variabili abbiano diverse unità di misura, come metri e chilogrammi. In questo caso non dovrebbe importare se si utilizzano metri o centimetri, quindi si potrebbe sostenere che si dovrebbe usare la matrice di correlazione.
Considera ora la popolazione di persone in diversi stati. Le unità di misura sono uguali: conteggi (numero) di persone. Ora, le bilance potrebbero essere diverse: DC ha 600K e CA - 38 milioni di persone. Dovremmo usare la matrice di correlazione qui? Dipende. In alcune applicazioni vogliamo regolare la dimensione dello stato. L'uso della matrice di covarianza è un modo per costruire fattori che spiegano la dimensione dello stato.
Quindi, la mia risposta è usare la matrice di covarianza quando la varianza della variabile originale è importante e usare la correlazione quando non lo è.
Personalmente trovo molto utile discutere di queste opzioni alla luce del modello di analisi dei componenti principali (MLPCA) di massima probabilità [1,2]. In MLPCA si applica un ridimensionamento (o persino una rotazione) in modo tale che gli errori di misurazione nelle variabili misurate siano indipendenti e distribuiti secondo la distribuzione normale standard. Questo ridimensionamento è noto anche come ridimensionamento della massima verosimiglianza (MALS) [3]. In alcuni casi, il modello PCA e il parametro che definisce il ridimensionamento / rotazione MALS possono essere stimati insieme [4].
Per interpretare la PCA basata sulla correlazione e sulla covarianza, si può quindi sostenere che:
Come già sottolineato sopra, la scelta definitiva dipende dalle ipotesi che stai formulando. Inoltre, l'utilità di qualsiasi modello particolare dipende anche dal contesto e dallo scopo dell'analisi. Per citare George EP Box: "Tutti i modelli sono sbagliati, ma alcuni sono utili".
[1] Wentzell, PD, Andrews, DT, Hamilton, DC, Faber, K. e Kowalski, BR (1997). Analisi della componente principale della massima verosimiglianza. Journal of Chemometrics, 11 (4), 339-366.
[2] Wentzell, PD e Lohnes, MT (1999). Analisi della componente principale della massima verosimiglianza con errori di misurazione correlati: considerazioni teoriche e pratiche. Chemiometria e sistemi di laboratorio intelligenti, 45 (1-2), 65-85.
[3] Hoefsloot, HC, Verouden, MP, Westerhuis, JA e Smilde, AK (2006). Ridimensionamento della massima verosimiglianza (MALS). Journal of Chemometrics, 20 (3‐4), 120-127.
[4] Narasimhan, S., & Shah, SL (2008). Identificazione del modello e stima della matrice di covarianza degli errori da dati rumorosi mediante PCA. Control Engineering Practice, 16 (1), 146-155.
[5] Mance, ME e Bishop, CM (1999). Analisi probabilistica della componente principale. Giornale della Royal Statistical Society: Serie B (Metodologia statistica), 61 (3), 611-622.
Dritto e semplice: se le scale sono simili usare cov-PCA, altrimenti usare corr-PCA; altrimenti, è meglio avere una difesa per non. In caso di dubbio, utilizzare un test F per l'uguaglianza delle varianze (ANOVA). Se fallisce il test F, usare corr; altrimenti, usa cov.
Gli argomenti basati sulla scala (per le variabili espresse nelle stesse unità fisiche) sembrano piuttosto deboli. Immagina un insieme di variabili (senza dimensioni) le cui deviazioni standard variano tra 0,001 e 0,1. Rispetto a un valore standardizzato di 1, entrambi sembrano livelli di fluttuazioni "piccoli" e comparabili. Tuttavia, quando li esprimi in decibel, questo dà un intervallo di -60 dB contro -10 e 0 dB, rispettivamente. Quindi questo verrebbe probabilmente classificato come un 'ampio intervallo', specialmente se si includesse una deviazione standard vicina a 0, cioè meno l'infinito dB.
Il mio suggerimento sarebbe di fare ENTRAMBI un PCA basato sulla correlazione e sulla covarianza. Se i due danno gli stessi PC (o molto simili, qualunque cosa questo significhi), allora puoi essere rassicurato che hai una risposta che è significativa. Se danno PC molto diversi non usano PCA, perché due risposte diverse a un problema non è un modo ragionevole per risolvere le domande.