Was sind die Hauptunterschiede zwischen der Durchführung einer Hauptkomponentenanalyse (PCA) in der Korrelationsmatrix und der Kovarianzmatrix? Geben sie die gleichen Ergebnisse?
Was sind die Hauptunterschiede zwischen der Durchführung einer Hauptkomponentenanalyse (PCA) in der Korrelationsmatrix und der Kovarianzmatrix? Geben sie die gleichen Ergebnisse?
Antworten:
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- heptathlon
Datensatz 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)
Beachten Sie, dass PCA auf Kovarianz von run800m
und 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 ).javelin
Beachten Sie auch, dass die ausgelagerten Personen (in diesem Datensatz) Ausreißer sind, unabhängig davon, ob die Kovarianz- oder die Korrelationsmatrix verwendet wird.
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.
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.
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.
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.
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:
Wenn Sie beispielsweise einen Wert von 0,025 , erhalten Sie . Gleiches gilt für einen Plugin-Wert von . Sie erhalten .
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.
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.
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:
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.
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.
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.