PCA über Korrelation oder Kovarianz?

153

Was sind die Hauptunterschiede zwischen der Durchführung einer Hauptkomponentenanalyse (PCA) in der Korrelationsmatrix und der Kovarianzmatrix? Geben sie die gleichen Ergebnisse?

Zufällig
quelle
2
Eine späte Antwort, aber möglicherweise finden Sie SEHR nützliche Informationen zur multivariaten Datenanalyse "à la française" in der Bioinformatik-Abteilung von Lyon. Diese stammen von den Autoren des R ade4- Pakets. Es ist jedoch in Französisch.
Chl

Antworten:

130

Sie neigen dazu, die Kovarianzmatrix zu verwenden, wenn sich die Skalen der Variablen ähneln, und die Korrelationsmatrix, wenn sich die Variablen auf verschiedenen Skalen befinden.

Die Verwendung der Korrelationsmatrix entspricht der Standardisierung jeder Variablen (mit 0 und Standardabweichung 1). Im Allgemeinen führt PCA mit und ohne Standardisierung zu unterschiedlichen Ergebnissen. Besonders wenn die Skalen unterschiedlich sind.

Schauen Sie sich als Beispiel diesen R- heptathlonDatensatz an. Einige der Variablen haben einen Durchschnittswert von ungefähr 1,8 (der Hochsprung), während andere Variablen (Lauf 800 m) ungefähr 120 sind.

library(HSAUR)
heptathlon[,-8]      # look at heptathlon data (excluding 'score' variable)

Dies gibt aus:

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

Lassen Sie uns nun PCA zur Kovarianz und zur Korrelation durchführen:

# 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 zur Korrelation oder Kovarianz

Beachten Sie, dass PCA auf Kovarianz von run800mund dominiert wird javelin: PC1 ist fast gleich run800m(und erklärt der Varianz) und PC2 ist fast gleich (zusammen erklären sie ). Die PCA zur Korrelation ist viel informativer und zeigt eine gewisse Struktur in den Daten und Beziehungen zwischen Variablen (es ist jedoch zu beachten, dass die erklärten Varianzen auf und abfallen ).82%javelin97%64%71%

Beachten Sie auch, dass die ausgelagerten Personen (in diesem Datensatz) Ausreißer sind, unabhängig davon, ob die Kovarianz- oder die Korrelationsmatrix verwendet wird.

csgillespie
quelle
Wie sieht es aus, wenn ich die Variablen zuerst in Z-Scores konvertiere?
Jirka-x1
9
@ Jirka-x1 Die Kovarianzmatrix standardisierter Variablen (dh z- Scores) entspricht der Korrelationsmatrix.
Alexis
@Alexis Lässt sich daraus schließen, dass die Kovarianzmatrix der standardisierten Variablen der Korrelationsmatrix der standardisierten Variablen entspricht?
jb
1
@JamieBullock (Kovarianzmatrix) für standardisierte Daten = (Korrelationsmatrix). ob die Daten standardisiert sind oder nicht (die Korrelation ist unempfindlich gegen lineare Transformationen der Daten. Wenn Sie also beispielsweise und und diese mit korrelieren , dann wenn und und korrelieren auch mit ). ΣRR=RXYrXYX=aX+bY=aY+b XYrXY
Alexis
Ein wichtiger Hinweis: Wenn Sie Kovarianz in Ihrem PCA verwenden, werden Ihre PCs nicht miteinander korreliert, was für korrelationsbasierte PCA nicht gilt. Dies ist besonders wichtig, wenn PCA vor der Regression in einem mehrfarbigen Satz erklärender Variablen durchgeführt werden soll. Die Theorie dahinter ist jedoch nicht klar. Könnte jemand etwas Licht in diesen Unterschied bringen?
Ouranos
54

Bernard Flury beschrieb dies in seinem hervorragenden Buch zur Einführung der multivariaten Analyse als ein Anti-Eigentum der Hauptkomponenten. Es ist tatsächlich schlimmer als die Wahl zwischen Korrelation oder Kovarianz. Wenn Sie die Einheiten (z. B. US-amerikanische Gallonen, Zoll usw. und EU-Liter, Zentimeter) ändern, erhalten Sie erheblich unterschiedliche Projektionen der Daten.

Das Argument gegen die automatische Verwendung von Korrelationsmatrizen ist, dass dies eine ziemlich brutale Methode zur Standardisierung Ihrer Daten ist. Das Problem bei der automatischen Verwendung der Kovarianzmatrix, das bei diesen Heptathalon-Daten sehr offensichtlich ist, besteht darin, dass die Variablen mit der höchsten Varianz die erste Hauptkomponente (die Varianzmaximierungseigenschaft) dominieren.

Die "beste" Methode basiert also auf einer subjektiven Auswahl, sorgfältigen Überlegungen und etwas Erfahrung.

Paul Hewson
quelle
46

UNTRANSFORMIERTE (RAW) DATEN: Wenn Sie Variablen mit stark variierenden Maßstäben für rohe, nicht transformierte Daten haben, dh Kalorienaufnahme pro Tag, Genexpression, ELISA / Luminex in Einheiten von ug / dl, ng / dl, basierend auf mehreren Ordnungen von Größe der Proteinexpression, dann Korrelation als Eingabe für PCA verwenden. Wenn jedoch alle Ihre Daten z. B. auf der Genexpression derselben Plattform mit ähnlichem Umfang und Maßstab basieren oder Sie mit logarithmischen Eigenkapitalrenditen arbeiten, werden durch die Verwendung der Korrelation enorme Mengen an Informationen ausgegeben.

Sie müssen eigentlich nicht über den Unterschied nachdenken, die Korrelationsmatrix oder die Kovarianzmatrix als Eingabe für PCA zu verwenden, sondern die Diagonalwerte von und . Sie können für eine Variable eine Varianz von für eine andere eine Varianz von beobachten , die sich in der Diagonale von . Bei der Betrachtung der Korrelationen enthält die Diagonale jedoch alle, sodass die Varianz jeder Variablen bei Verwendung der -Matrix im Wesentlichen auf geändert wird.RCCR10010C1R

Transformierter Daten: Wenn die Daten über die Normalisierung, Perzentile transformiert wurden , oder mit einem mittleren Null Standardisierung (dh -scores), so dass die Reichweite und den Umfang aller kontinuierlichen Variablen das gleiche ist , dann könnte man die Kovarianzmatrix verwenden ohne Probleme. (Korrelation bedeutet null Standardisierungsvariablen). Denken Sie jedoch daran, dass diese Transformationen vor dem Ausführen von PCA keine Schrägstellungen (dh linke oder rechte Schwänze in Histogrammen) in Ihren Variablen beseitigen . Bei einer typischen PCA-Analyse wird die Schiefe nicht entfernt. Einige Leser müssen jedoch möglicherweise die Schrägstellung entfernen, um die strengen Normalitätseinschränkungen zu erfüllen.ZC

Zusammenfassend kann gesagt werden, dass die Korrelationsmatrix wenn der Variablenbereich und die Skalierung stark voneinander abweichen, und dass die Kovarianzmatrix , um die Varianz beizubehalten, wenn der Bereich und die Skalierung der Variablen ähnlich sind oder in denselben Einheiten von liegen messen.RC

SKEWED VARIABLES: Wenn eine der Variablen in ihren Histogrammen mit dem linken oder rechten Schwanz verzerrt ist, dh der Shapiro-Wilk- oder Lilliefors-Normalitätstest ist signifikant , kann es zu Problemen kommen, wenn Sie die Normalität anwenden müssen Annahme. Verwenden Sie in diesem Fall die Van-der-Waerden-Scores (Transformationen), die für jede Variable ermittelt wurden. Der Van-der-Waerden-Wert (VDW) für eine einzelne Beobachtung ist lediglich die inverse kumulative (Standard-) Normalabbildung des Perzentilwerts der Beobachtung. Angenommen, Sie haben Beobachtungen für eine kontinuierliche Variable, dann können Sie die VDW-Werte wie folgt ermitteln:(P<0.05)n=100

  1. Sortieren Sie zuerst die Werte in aufsteigender Reihenfolge und weisen Sie dann Ränge zu, sodass Sie Ränge vonRi=1,2,,100.
  2. Bestimmen Sie als das Perzentil für jede Beobachtung als . pcti=Ri/(n+1)
  3. Sobald die Perzentilwerte erhalten sind, geben Sie sie in die inverse Zuordnungsfunktion für die CDF der Standardnormalverteilung ein, dh , um die Punktzahl für jede zu erhalten, wobei . N(0,1)ZZi=Φ1(pcti)

Wenn Sie beispielsweise einen Wert von 0,025 , erhalten Sie . Gleiches gilt für einen Plugin-Wert von . Sie erhalten . pcti1.96=Φ1(0.025)pcti=0.9751.96=Φ1(0.975)

Die Verwendung von VDW-Scores ist in der Genetik sehr beliebt, wo viele Variablen in VDW-Scores umgewandelt und dann in Analysen eingegeben werden. Der Vorteil der Verwendung von VDW-Scores besteht darin, dass Schief- und Ausreißereffekte aus den Daten entfernt werden und verwendet werden können, wenn eine Analyse unter den Bedingungen der Normalität durchgeführt werden soll - und jede Variable muss rein normalverteilt und ohne Schiefheit sein oder Ausreißer.

JoleT
quelle
7
Dies ist bei weitem die vernünftigste Antwort, da sie tatsächlich die Ansicht vermittelt, dass die Kovarianz bei Bedarf gewinnt. Zu viele Antworten hier und anderswo erwähnen das übliche "es hängt davon ab", ohne tatsächlich eine harte Grundlage dafür zu geben, warum man Kovarianz bevorzugen sollte, wenn möglich . Hier tut es Lep: Kovarianz wirft keine der Informationen aus, die die Korrelation bewirkt. Das Beispiel mit den Aktiendaten ist gut: Aktien mit hohem Beta haben natürlich höhere Ladungen, aber sie sollten wahrscheinlich genauso interessant sein wie jede Facette einer Analyse, die volatiler ist.
Thomas Browne
3
Natürlich muss das vorliegende Problem dahingehend analysiert werden, ob eine höhere Varianz eine interessante Facette der Analyse ist oder nicht. Wenn dies nicht der Fall ist, ist correl natürlich besser, und das gilt auf jeden Fall, wenn die Einheiten unterschiedlich sind.
Thomas Browne
Tolle Antwort +1. Ich denke, ein weiteres Beispiel könnte die Anwendung von PCA auf die Laufzeitstrukturanalyse von Anleiherenditen im Finanzbereich sein. Die Renditeabweichungen bei unterschiedlichen Laufzeiten variieren, aber da es sich bei allen um Renditen handelt, sind die unterschiedlichen Skalen normalerweise nicht unannehmbar breit. Tatsächlich liefert eine mehr oder weniger hohe Volatilität bestimmter Laufzeiten selbst umfangreiche Informationen.
Nicholas
11

Eine häufige Antwort ist der Vorschlag, dass Kovarianz verwendet wird, wenn sich Variablen auf derselben Skala befinden, und Korrelation, wenn sich ihre Skalen unterscheiden. Dies gilt jedoch nur, wenn die Skalierung der Variablen kein Faktor ist. Warum würde sonst jemand jemals Kovarianz-PCA machen? Es wäre sicherer, immer eine Korrelations-PCA durchzuführen.

Stellen Sie sich vor, Ihre Variablen haben unterschiedliche Maßeinheiten, z. B. Meter und Kilogramm. Es sollte in diesem Fall keine Rolle spielen, ob Sie Meter oder Zentimeter verwenden. Sie könnten also argumentieren, dass eine Korrelationsmatrix verwendet werden sollte.

Betrachten wir nun die Bevölkerung von Menschen in verschiedenen Staaten. Die Maßeinheiten sind die gleichen - Anzahl der Personen. Jetzt könnten die Maßstäbe anders sein: DC hat 600.000 und CA - 38 Millionen Menschen. Sollten wir hier eine Korrelationsmatrix verwenden? Es hängt davon ab, ob. In einigen Anwendungen möchten wir die Größe des Status anpassen. Die Verwendung der Kovarianzmatrix ist eine Möglichkeit zum Aufbau von Faktoren, die die Größe des Staates ausmachen.

Daher ist meine Antwort, eine Kovarianzmatrix zu verwenden, wenn die Varianz der ursprünglichen Variablen wichtig ist, und eine Korrelation zu verwenden, wenn dies nicht der Fall ist.

Aksakal
quelle
2

Ich persönlich finde es sehr wertvoll, diese Optionen im Lichte des Maximum-Likelihood-Modells für die Hauptkomponentenanalyse (MLPCA) zu diskutieren [1,2]. In MLPCA wendet man eine Skalierung (oder sogar eine Rotation) an, so dass die Messfehler in den Messgrößen unabhängig und gemäß der Standardnormalverteilung verteilt sind. Diese Skalierung wird auch als Maximum Likelihood Scaling (MALS) bezeichnet [3]. In einigen Fällen können das PCA-Modell und der Parameter, der die MALS-Skalierung / -Rotation definiert, zusammen geschätzt werden [4].

Um die korrelationsbasierte und die kovarianzbasierte PCA zu interpretieren, kann man argumentieren, dass:

  1. Eine kovarianzbasierte PCA entspricht einer MLPCA, wenn die Varianz-Kovarianz-Matrix der Messfehler als diagonal mit gleichen Elementen auf ihrer Diagonale angenommen wird. Der Messfehlervarianzparameter kann dann mithilfe des Modells der probabilistischen Hauptkomponentenanalyse (PPCA) geschätzt werden [5]. Ich halte dies in mehreren von mir untersuchten Fällen für eine vernünftige Annahme, insbesondere, wenn alle Messungen vom selben Variablentyp sind (z. B. alle Flüsse, alle Temperaturen, alle Konzentrationen oder alle Absorptionsmessungen). In der Tat kann man davon ausgehen, dass die Messfehler für solche Variablen unabhängig und identisch verteilt sind.
  2. Die korrelationsbasierte PCA entspricht der MLPCA, wenn die Varianz-Kovarianz-Matrix der Messfehler diagonal mit jedem Element auf der Diagonale angenommen wird, die proportional zur Gesamtvarianz der entsprechenden Messgröße ist. Obwohl dies eine beliebte Methode ist, halte ich die Proportionalitätsannahme in den meisten Fällen, in denen ich studiere, für unzumutbar. Infolgedessen kann ich korrelationsbasiertes PCA nicht als MLPCA-Modell interpretieren. In den Fällen, in denen (1) die implizierten Annahmen einer kovarianzbasierten PCA nicht zutreffen und (2) eine MLPCA-Interpretation sinnvoll ist, empfehle ich, stattdessen eine der MLPCA-Methoden zu verwenden [1-4].
  3. Korrelationsbasierte und kovarianzbasierte PCA liefern genau die gleichen Ergebnisse - teilweise aus einem Skalarmultiplikator -, wenn die einzelnen Varianzen für jede Variable alle exakt gleich sind. Wenn diese einzelnen Varianzen ähnlich, aber nicht gleich sind, führen beide Methoden zu ähnlichen Ergebnissen.

Wie oben bereits betont, hängt die endgültige Entscheidung von den getroffenen Annahmen ab. Darüber hinaus hängt der Nutzen eines bestimmten Modells auch vom Kontext und Zweck Ihrer Analyse ab. Um George EP Box zu zitieren: "Alle Modelle sind falsch, aber einige sind nützlich".

[1] PD Wentzell, DT Andrews, DC Hamilton, K. Faber & BR Kowalski (1997). Hauptkomponentenanalyse mit maximaler Wahrscheinlichkeit. Journal of Chemometrics, 11 (4), 339 & ndash; 366.

[2] Wentzell, PD & Lohnes, MT (1999). Hauptkomponentenanalyse mit maximaler Wahrscheinlichkeit und korrelierten Messfehlern: theoretische und praktische Überlegungen. Chemometrics and Intelligent Laboratory Systems, 45 (1-2), 65-85.

[3] Hoefsloot, HC, Verouden, MP, Westerhuis, JA & Smilde, AK (2006). Maximum Likelihood Scaling (MALS). Journal of Chemometrics, 20 (3-4), 120-127.

[4] Narasimhan, S. & Shah, SL (2008). Modellidentifikation und Fehlerkovarianzmatrixschätzung aus verrauschten Daten unter Verwendung von PCA. Control Engineering Practice, 16 (1), 146-155.

[5] Tipping, ME & Bishop, CM (1999). Probabilistische Hauptkomponentenanalyse. Zeitschrift der Royal Statistical Society: Reihe B (Statistical Methodology), 61 (3), 611-622.

Kris Villez
quelle
-1

Gerade und einfach: Wenn die Skalen ähnlich sind, verwenden Sie cov-PCA. Wenn nicht, verwenden Sie corr-PCA. ansonsten hast du besser eine abwehr dafür nicht. Verwenden Sie im Zweifelsfall einen F-Test für die Varianzgleichheit (ANOVA). Wenn der F-Test fehlschlägt, verwenden Sie corr; Andernfalls verwenden Sie cov.

Bärenbein
quelle
2
-1. Ich verstehe nicht, warum die Durchführung eines F-Tests hier relevant sein könnte. PCA ist eine explorative Methode, keine bestätigende (wie es statistische Tests sind).
Amöbe
-5

Die auf der Skala basierenden Argumente (für Variablen, die in denselben physikalischen Einheiten ausgedrückt werden) scheinen eher schwach zu sein. Stellen Sie sich eine Reihe von (dimensionslosen) Variablen vor, deren Standardabweichungen zwischen 0,001 und 0,1 variieren. Verglichen mit einem standardisierten Wert von 1 scheinen diese beiden Werte „klein“ und vergleichbar schwankend zu sein. Wenn Sie sie jedoch in Dezibel ausdrücken, ergibt sich ein Bereich von -60 dB gegenüber -10 bzw. 0 dB. Dann würde dies wahrscheinlich als "großer Bereich" klassifiziert werden - insbesondere wenn Sie eine Standardabweichung nahe 0, dh minus unendlich dB, einbeziehen würden.

Mein Vorschlag wäre, sowohl eine Korrelations- als auch eine Kovarianz-basierte PCA durchzuführen. Wenn die beiden die gleichen (oder sehr ähnlichen) PCs liefern, können Sie sicher sein, dass Sie eine aussagekräftige Antwort erhalten. Wenn es sich um stark unterschiedliche PCs handelt, verwenden Sie PCA nicht, da zwei unterschiedliche Antworten auf ein Problem keine sinnvolle Lösung für Fragen darstellen.

Lucozade
quelle
9
(-1) "Zwei unterschiedliche Antworten auf das gleiche Problem" bedeutet oft nur, dass Sie sich gedankenlos auf den Weg machen, ohne darüber nachzudenken, welche Technik für Ihre analytischen Ziele geeignet ist. Dies bedeutet nicht, dass eine oder (wie Sie sagen) beide Techniken nicht sinnvoll sind, sondern nur, dass mindestens eine für das Problem oder die Daten möglicherweise nicht geeignet ist. Außerdem kann man in vielen Fällen davon ausgehen, dass kovarianzbasierte PCA und korrelationsbasierte PCA unterschiedliche Antworten geben sollten . Schließlich messen sie verschiedene Aspekte der Daten. Beides wäre standardmäßig nicht sinnvoll.
whuber
Tatsächlich ist es sehr vernünftig, zwei unterschiedliche Antworten zu erhalten, wenn PCA mit Korrelation und Kovarianz verwendet wird. Im
Aktienfall