PCA sulla correlazione o covarianza?


153

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?


2
Una risposta tardiva, ma potresti trovare dispense MOLTO utili sull'analisi dei dati multivariata "alla francese" nel dipartimento di Bioinformatica di Lione. Questi provengono dagli autori del pacchetto R ade4 . È in francese, però.
chl

3
Per ulteriori discussioni, visitare stats.stackexchange.com/questions/62677/… .
whuber

Risposte:


130

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 heptathlonset 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)  

PCA sulla correlazione o covarianza

Si noti che PCA sulla covarianza è dominato da run800me 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 ).82%97 % 64 % 71 %javelin97%64%71%

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.


Qual è la situazione, se converto prima le variabili in punteggi z?
Jirka-x1,

9
@ Jirka-x1 la matrice di covarianza delle variabili standardizzate (cioè i punteggi z ) è uguale alla matrice di correlazione.
Alexis,

@Alexis Si può quindi dedurre che la matrice di covarianza delle variabili standardizzate è uguale alla matrice di correlazione delle variabili standardizzate?
jb,

1
@JamieBullock (matrice di covarianza) per dati standardizzati = (matrice di correlazione). indipendentemente dal fatto che i dati siano standardizzati (la correlazione non è sensibile alle trasformazioni lineari dei dati. Quindi, ad esempio, se hai e e sono correlati con , allora se e e sono correlati anche con ). ΣRR=RXYrXYX=aX+bY=aY+b XYrXY
Alexis,

Un avviso importante: quando si utilizza la covarianza nel proprio PCA, i PC non saranno correlati tra loro, il che non vale per la PCA basata sulla correlazione. Ciò è particolarmente importante quando si intende eseguire la PCA prima della regressione in una serie multicolore di variabili esplicative. Tuttavia la teoria alla base di questo non è chiara. Qualcuno potrebbe fare luce su questa differenza?
Ouranos,

54

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.


46

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 .RCCR10010C1R

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à.ZC

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.RC

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:(P<0.05)n=100

  1. Innanzitutto, ordina i valori in ordine crescente, quindi assegna i ranghi, in modo da ottenere ranghi diRi=1,2,,100.
  2. Quindi, determinare il percentile per ciascuna osservazione come . pcti=Ri/(n+1)
  3. Una volta ottenuti i valori percentili, immetterli nella funzione di mappatura inversa per il CDF della distribuzione normale standard, ovvero , per ottenere il punteggio per ciascuno, usando . N(0,1)ZZi=Φ1(pcti)

Ad esempio, se si inserisce un valore 0,025, si otterrà . Lo stesso vale per un valore del plug-in di , otterrai . pcti1.96=Φ1(0.025)pcti=0.9751.96=Φ1(0.975)

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.


7
Questa è di gran lunga la risposta più sensata qui, poiché in realtà dà una visione corretta che la covarianza vince quando appropriato. Troppe risposte qui e altrove menzionano il solito "dipende" senza realmente fornire una base dura per il motivo per cui si dovrebbe preferire la covarianza, se possibile . Qui lep fa: la covarianza non elimina nessuna delle informazioni che la correlazione fa. L'esempio dei dati di borsa è buono: gli stock di beta alti avranno ovviamente carichi più elevati ma probabilmente dovrebbero , proprio come qualsiasi aspetto di qualsiasi analisi che sia più volatile è di solito più interessante (entro limiti ragionevoli).
Thomas Browne,

3
Ovviamente il problema in questione deve essere analizzato per stabilire se la varianza più elevata sia o meno un aspetto interessante dell'analisi. Se non lo è, ovviamente la correlazione è migliore e ciò vale sicuramente se le unità sono diverse.
Thomas Browne,

Ottima risposta +1. Immagino che un altro esempio potrebbe essere l'applicazione dell'APC all'analisi della struttura a termine sui rendimenti obbligazionari nella finanza. Le variazioni dei rendimenti su varie scadenze variano, ma poiché sono tutti rendimenti, le scale variabili non sono normalmente inaccettabilmente ampie. In effetti, una maggiore / minore volatilità di un determinato rendimento in termini di maturità fornisce informazioni complete.
Nicholas

11

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 è.


2

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:

  1. La PCA basata sulla covarianza è equivalente alla MLPCA ogni volta che la matrice varianza-covarianza degli errori di misurazione è assunta in diagonale con elementi uguali sulla sua diagonale. Il parametro di varianza dell'errore di misura può quindi essere stimato applicando il modello di analisi probabilistica del componente principale (PPCA) [5]. Trovo che questo sia un presupposto ragionevole in diversi casi che ho studiato, in particolare quando tutte le misurazioni sono dello stesso tipo di variabile (ad esempio tutti i flussi, tutte le temperature, tutte le concentrazioni o tutte le misurazioni dell'assorbanza). In effetti, può essere sicuro supporre che gli errori di misurazione per tali variabili siano distribuiti in modo indipendente e identico.
  2. La PCA basata sulla correlazione è equivalente alla MLPCA ogni volta che la matrice varianza-covarianza degli errori di misurazione viene assunta in diagonale con ciascun elemento sulla diagonale proporzionale alla varianza complessiva della corrispondente variabile misurata. Sebbene questo sia un metodo popolare, trovo personalmente l'assunto di proporzionalità irragionevole nella maggior parte dei casi che studio. Di conseguenza, ciò significa che non posso interpretare la PCA basata sulla correlazione come un modello MLPCA. Nei casi in cui (1) le ipotesi implicite di PCA basato sulla covarianza non si applicano e (2) un'interpretazione MLPCA è preziosa, consiglio invece di utilizzare uno dei metodi MLPCA [1-4].
  3. La PCA basata sulla correlazione e sulla covarianza produrrà gli stessi esatti risultati - partendo da un moltiplicatore scalare - quando le singole varianze per ciascuna variabile sono tutte esattamente uguali tra loro. Quando queste singole varianze sono simili ma non uguali, entrambi i metodi produrranno risultati simili.

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.


-1

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.


2
-1. Non vedo perché l'esecuzione di un test F potrebbe essere rilevante qui. La PCA è un metodo esplorativo, non di conferma (come lo sono i test statistici).
Amoeba,

-5

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.


9
(-1) Ottenere "due risposte diverse allo stesso problema" spesso significa semplicemente cestinare senza pensare senza pensare a quale tecnica è appropriata per i tuoi obiettivi analitici. Ciò non significa che una o entrambe le tecniche non siano sensate, ma solo che almeno una potrebbe non essere adatta al problema o ai dati. Inoltre, in molti casi è possibile prevedere che la PCA basata sulla covarianza e la PCA basata sulla correlazione dovrebbero fornire risposte diverse. Dopotutto, stanno misurando diversi aspetti dei dati. Fare entrambi per impostazione predefinita non avrebbe senso.
whuber

In realtà è molto ragionevole ottenere 2 risposte diverse quando si utilizza PCA con correlazione e covarianza. Nel caso azionario, si tratta di prendere in considerazione i beta (o la deviazione standard)
Juancentro
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.