Was ist der Unterschied zwischen „Ladungen“ und „Korrelationsladungen“ in PCA und PLS?


11

Bei der Hauptkomponentenanalyse (PCA) müssen häufig zwei Ladungen gegeneinander aufgetragen werden, um die Beziehungen zwischen den Variablen zu untersuchen. In dem dem PLS R-Paket beiliegenden Dokument zur Durchführung der Hauptkomponentenregression und der PLS-Regression gibt es ein anderes Diagramm, das als Korrelationsladungsdiagramm bezeichnet wird (siehe Abbildung 7 und Seite 15 im Dokument). Die Korrelationsbelastung ist , wie erläutert, die Korrelation zwischen den Bewertungen (von der PCA oder PLS) und den tatsächlich beobachteten Daten.

Es scheint mir, dass Ladungen und Korrelationsladungen ziemlich ähnlich sind, außer dass sie etwas anders skaliert sind. Ein reproduzierbares Beispiel in R mit dem eingebauten Datensatz mtcars lautet wie folgt:

data(mtcars)
pca <- prcomp(mtcars, center=TRUE, scale=TRUE)

#loading plot
plot(pca$rotation[,1], pca$rotation[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Loadings for PC1 vs. PC2')

#correlation loading plot
correlationloadings <- cor(mtcars, pca$x)
plot(correlationloadings[,1], correlationloadings[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Correlation Loadings for PC1 vs. PC2')

Ladediagramm Korrelationslast im Diagramm

Was ist der Unterschied in der Interpretation dieser Diagramme? Und welches Grundstück (falls vorhanden) eignet sich am besten für die Praxis?


Verwenden Sie für eine bessere Ansicht des PCA Biplot (PCA). Es zeigt Ihnen das Laden und die Punktzahlen des PCA und Sie können es besser interpretieren.
Paul

6
R prcompPaket nennt Eigenvektoren rücksichtslos "Ladungen". Ich rate , diese Bedingungen getrennt zu halten. Belastungen sind Eigenvektoren, die auf die jeweiligen Eigenwerte skaliert sind.
ttnphns

1
Erklären der Geometrie eines Ladediagramms
ttnphns

Antworten:


13

Warnung: RVerwendet den Begriff "Ladungen" auf verwirrende Weise. Ich erkläre es unten.

Betrachten Sie Datensatz mit (zentrierten) Variablen in Spalten und N Datenpunkten in Zeilen. Die Durchführung der PCA dieses Datensatzes entspricht einer Singularwertzerlegung X = U S V . Spalten von U S sind Hauptkomponenten (PC „scores“) und Spalten von VXNX=USVUSV sind Hauptachsen. Die Kovarianzmatrix ist durch , also sind die HauptachsenVEigenvektoren der Kovarianzmatrix.1N1XX=VS2N1VV

"Ladungen" sind als Spalten von , dh sie sind Eigenvektoren, die durch die Quadratwurzeln der jeweiligen Eigenwerte skaliert werden. Sie unterscheiden sich von Eigenvektoren! Siehe meine Antwort hierzur Motivation.L=VSN1

Mit diesem Formalismus können wir eine Kreuzkovarianzmatrix zwischen Originalvariablen und standardisierten PCs berechnen:

1N1X(N1U)=1N1VSUU=1N1VS=L,
1L

Um die terminologische Verwirrung zu beseitigen: Was das R-Paket "Ladungen" nennt, sind Hauptachsen, und was es "Korrelationsladungen" nennt, sind (für PCA, die auf der Korrelationsmatrix durchgeführt werden) tatsächlich Ladungen. Wie Sie selbst bemerkt haben, unterscheiden sie sich nur in der Skalierung. Was besser zu zeichnen ist, hängt davon ab, was Sie sehen möchten. Betrachten Sie ein folgendes einfaches Beispiel:

Biplots

VxyLxyxysind mit PC1 viel stärker korreliert als mit PC2. Ich denke, dass die meisten Leute es am häufigsten vorziehen, die richtige Art von Biplot zu sehen.

xy1 , sie können jedoch niemals außerhalb des Einheitskreises reichen. Beweis dieser Tatsache verlasse ich als Übung.

Schauen wir uns jetzt noch einmal die mtcars an Datensatz von . Hier ist ein Biplot der PCA, die mit der Korrelationsmatrix erstellt wurde:

mtcars pca biplot

V.L. .

Und hier ist ein Biplot der PCA, die auf der Kovarianzmatrix erstellt wurde:

mtcars pca biplot

100V.L.

PS Es gibt viele verschiedene Varianten von PCA-Biplots. In meiner Antwort finden Sie einige weitere Erklärungen und eine Übersicht: Positionieren der Pfeile auf einem PCA-Biplot . Den schönsten Biplot, der jemals auf CrossValidated veröffentlicht wurde, finden Sie hier .


2
Obwohl dies eine sehr gute Antwort ist (+1), hat sie nur eine didaktische Schwäche, da sie Variablen zunächst in Zeilen von X und nicht in Spalten von X einfügt, wie dies traditionell in statistischen Datensätzen / Beispielen der Fall ist. Aufgrund dieser Transponierung werden U-Vektoren in der Antwort zu Variablen und V zu Fällen. Die meisten Leute, die PCA kennen, sind an das entgegengesetzte Layout gewöhnt. so behindert es die Wahrnehmung ein wenig.
ttnphns

1
Ich könnte empfehlen, die "Moral" des Unterschieds zwischen dem "Achsen-Biplot" und dem "Ladungs-Biplot" im Scan mündlich hervorzuheben. Im ersten Fall wird die Variabilität (= Skala, = Magnidute, = Trägheit, = Masse) nicht dargestellt: Sie wird in Eigenwerten gespeichert. Im zweiten Fall wurde es vollständig an Eigenvektoren abgegeben, die Variablen darstellen; Aufgrund dieser "Wiederbelebung" werden die Variablen zu einer aussagekräftigen Datenwolke aus zwei Punkten oder Vektoren mit bestimmten Längen vom Ursprung und bestimmten Winkel. So befinden wir uns "plötzlich" im Subjektraum .
ttnphns

X.xU.U.xX.U.X.X.X.U., was komisch aussieht. Aber ich gebe zu, dass viele Lehrbücher diese Konvention verwenden (ich bin mir nicht sicher warum).
Amöbe sagt Reinstate Monica

1
Dies ist natürlich Geschmackssache. Beachten Sie jedoch, dass die große Mehrheit der statistischen Programme Datentabellen als anzeigt cases X variables. Traditionell macht die lineare Algebra in den meisten statistischen Analysetexten den Fall zu einem Zeilenvektor. Vielleicht ist es beim maschinellen Lernen anders?
ttnphns

1
@user_anon Nein, diese Antwort berücksichtigt Standard-PCA ohne Faktorrotationen.
Amöbe sagt Reinstate Monica
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.