Ich lese einen Artikel, in dem der Autor mehrere Variablen aufgrund der starken Korrelation mit anderen Variablen verwirft, bevor er PCA durchführt. Die Gesamtzahl der Variablen liegt bei 20.
Gibt dies irgendwelche Vorteile? Es scheint mir ein Overhead zu sein, da PCA dies automatisch erledigen sollte.
correlation
pca
Typ 2
quelle
quelle
Antworten:
Dies erklärt sich aus dem aufschlussreichen Hinweis in einem Kommentar von @ttnphns.
Das Aneinanderfügen von nahezu korrelierten Variablen erhöht den Beitrag ihres gemeinsamen zugrunde liegenden Faktors zur PCA. Wir können dies geometrisch sehen. Betrachten Sie diese Daten in der XY-Ebene als Punktwolke:
Es gibt eine geringe Korrelation, ungefähr die gleiche Kovarianz, und die Daten sind zentriert: PCA (egal wie durchgeführt) würde zwei ungefähr gleiche Komponenten melden.
Lassen Sie uns nun eine dritte Variable einwerfen, die gleich und einer kleinen Menge zufälliger Fehler ist. Die Korrelationsmatrix von zeigt dies mit den kleinen Off-Diagonal-Koeffizienten außer zwischen der zweiten und dritten Zeile und Spalte ( und ):Z Y. ( X, Y, Z) Y. Z
Geometrisch haben wir alle ursprünglichen Punkte nahezu vertikal verschoben und das vorherige Bild direkt aus der Ebene der Seite gehoben. Diese Pseudo-3D-Punktwolke versucht, das Heben mit einer seitlichen perspektivischen Ansicht zu veranschaulichen (basierend auf einem anderen Datensatz, der jedoch auf die gleiche Weise wie zuvor generiert wurde):
Die Punkte liegen ursprünglich in der blauen Ebene und werden zu den roten Punkten angehoben. Die ursprüngliche Achse zeigt nach rechts. Die resultierende Neigung dehnt auch die Punkte entlang der YZ-Richtungen aus und verdoppelt dadurch ihren Beitrag zur Varianz. Folglich würde eine PCA dieser neuen Daten immer noch zwei Hauptkomponenten identifizieren, aber jetzt wird eine von ihnen die doppelte Varianz der anderen aufweisen.Y
Diese geometrische Erwartung wird in einigen Simulationen bestätigtX2 X5
R
. Zu diesem Zweck wiederholte ich die Prozedur "Heben", indem ich ein zweites, drittes, viertes und fünftes Mal nahezu kollineare Kopien der zweiten Variablen erstellte und sie bis . Hier ist eine Streudiagramm-Matrix, die zeigt, wie gut diese letzten vier Variablen korreliert sind:Die PCA wird mithilfe von Korrelationen erstellt (obwohl dies für diese Daten eigentlich keine Rolle spielt), wobei die ersten beiden Variablen, dann drei, ... und schließlich fünf verwendet werden. Ich zeige die Ergebnisse anhand von Diagrammen der Beiträge der Hauptkomponenten zur Gesamtvarianz.
Bei zwei fast unkorrelierten Variablen sind die Beiträge anfangs fast gleich (linke obere Ecke). Nach dem Hinzufügen einer mit der zweiten korrelierten Variablen - genau wie in der geometrischen Darstellung - gibt es nur noch zwei Hauptkomponenten, eine jetzt doppelt so groß wie die andere. (Eine dritte Komponente spiegelt das Fehlen einer perfekten Korrelation wider; sie misst die "Dicke" der pfannkuchenartigen Wolke im 3D-Streudiagramm.) Nach dem Hinzufügen einer weiteren korrelierten Variablen ( ) macht die erste Komponente nun etwa drei Viertel der Gesamtmenge aus ; Nachdem ein Fünftel hinzugefügt wurde, macht die erste Komponente fast vier Fünftel der Gesamtmenge aus. In allen vier Fällen werden Komponenten nach der zweiten wahrscheinlich von den meisten PCA-Diagnoseverfahren als unwichtig angesehen. im letzten Fall 'X4 Eine wichtige Komponente, die es zu berücksichtigen gilt.
Wir können jetzt sehen, dass es möglicherweise sinnvoll ist, Variablen zu verwerfen, die den gleichen zugrunde liegenden (aber "latenten") Aspekt einer Variablensammlung messen , da die Einbeziehung der nahezu redundanten Variablen dazu führen kann, dass die PCA ihren Beitrag überbetont. Es gibt nichts mathematisch Richtiges (oder Falsches) an einem solchen Verfahren; Es ist ein Urteilsspruch, der auf den analytischen Zielen und der Kenntnis der Daten basiert. Es sollte jedoch klar sein, dass die Stillegung von Variablen, von denen bekannt ist, dass sie stark mit anderen korrelieren, einen erheblichen Einfluss auf die PCA-Ergebnisse haben kann.
Hier ist der
R
Code.quelle
Ich werde den gleichen Prozess und die gleiche Idee wie @whuber weiter veranschaulichen , aber mit den Ladediagrammen, denn Ladungen sind die Essenz der PCA-Ergebnisse.
Hier sind drei 3 Analysen. In der ersten haben wir zwei Variablen, und (in diesem Beispiel korrelieren sie nicht). Im zweiten haben wir hinzugefügt, das fast eine Kopie von und daher stark damit korreliert. Im dritten haben wir noch 2 weitere "Kopien" davon : und .X1 X2 X3 X2 X4 X5
Die Beladungskurven der ersten beiden Hauptkomponenten werden dann erstellt. Rote Spitzen in den Diagrammen weisen auf Korrelationen zwischen den Variablen hin, sodass sich im Bündel mehrerer Spitzen ein Cluster eng korrelierter Variablen befindet. Die Komponenten sind die grauen Linien; Die relative "Stärke" einer Komponente (ihre relative Eigenwertgröße) wird durch das Gewicht der Linie angegeben.
Zwei Effekte des Hinzufügens der "Kopien" können beobachtet werden:
Ich werde die Moral nicht wieder aufnehmen, weil @whuber es bereits getan hat.
Zusatz . Im Folgenden finden Sie einige Bilder als Antwort auf die Kommentare von @ whuber. Es geht um eine Unterscheidung zwischen "variablem Raum" und "Subjektraum" und darum, wie sich Komponenten hier und da orientieren. Es werden drei bivariate PCAs vorgestellt: Analyse der ersten Reihe , Analyse der zweiten Reihe und Analyse der dritten Reihe . Die linke Spalte enthält Streudiagramme (mit standardisierten Daten) und die rechte Spalte enthält Ladediagramme.r=0 r=0.62 r=0.77
In einem Streudiagramm wird die Korrelation zwischen und als Länglichkeit der Wolke dargestellt. Der Winkel (sein Cosinus) zwischen einer Komponentenlinie und einer variablen Linie ist das entsprechende Eigenvektorelement . Die Eigenvektoren sind in allen drei Analysen identisch (daher sind die Winkel in allen drei Diagrammen gleich). [Es ist jedoch wahr, dass bei genau , Eigenvektoren (und damit auch die Winkel) sind theoretisch beliebig; weil die Wolke perfekt "rund" ist, könnte jedes Paar von orthogonalen Linien, die durch den Ursprung kommen, als die beiden Komponenten dienen - sogar undX 2 r = 0 X 1 X 2X1 X2 r=0 X1 X2 Linien selbst könnten als Komponenten gewählt werden.] Die Koordinaten von Datenpunkten (200 Subjekte) auf einer Komponente sind Komponentenwerte, und ihre durch 200-1 geteilte Quadratsumme ist der Eigenwert der Komponente .
In einem Ladediagramm sind die Punkte (Vektoren) Variablen. Sie verteilen den Raum, der zweidimensional ist (weil wir 2 Punkte + Ursprung haben), aber tatsächlich ein reduzierter 200-dimensionaler (Anzahl der Subjekte) "Subjektraum" ist. Hier ist der Winkel (Cosinus) zwischen den roten Vektoren . Die Vektoren sind gleich lang, da die Daten standardisiert wurden. Die erste Komponente ist eine solche Dimensionsachse in diesem Raum, die der Gesamtakkumulation der Punkte entgegeneilt; Bei nur 2 Variablen ist es immer die Halbierende zwischen undX 1 X 2r X1 X2 (Aber das Hinzufügen einer dritten Variablen kann sie trotzdem ablenken). Der Winkel (Cosinus) zwischen einem variablen Vektor und einer Komponentenlinie ist die Korrelation zwischen ihnen, und da die Vektoren eine Einheitslänge und die Komponenten orthogonal sind, ist dies nichts anderes als die Koordinaten, die Belastung . Die Summe der quadratischen Ladungen auf die Komponente ist ihr Eigenwert (die Komponente orientiert sich nur an diesem Objektraum, um ihn zu maximieren).
Zusatz2. Darüber hinaus habe ich von "variablem Raum" und "Subjektraum" gesprochen, als ob sie wie Wasser und Öl inkompatibel wären. Ich musste es mir noch einmal überlegen und kann sagen, dass - zumindest wenn wir über PCA sprechen - beide Räume am Ende isomorph sind und wir dadurch alle PCA-Details korrekt anzeigen können - Datenpunkte, variable Achsen, Komponentenachsen, Variablen als Punkte, - auf einem einzelnen unverzerrten Biplot.
Darunter befinden sich das Streudiagramm (variabler Raum) und das Ladediagramm (Komponentenraum, der aufgrund seines genetischen Ursprungs Subjektraum ist). Alles, was auf der einen Seite gezeigt werden konnte, konnte auch auf der anderen Seite gezeigt werden. Die Bilder sind identisch , nur um 45 Grad gedreht (und in diesem speziellen Fall reflektiert). Dies war eine PCA der Variablen v1 und v2 (standardisiert, daher wurde r analysiert). Schwarze Linien auf den Bildern sind die Variablen als Achsen; grün / gelbe Linien sind die Komponenten als Achsen; blaue Punkte sind die Datenwolke (Probanden); Rote Punkte sind die Variablen, die als Punkte (Vektoren) angezeigt werden.
quelle
The software was free to choose any orthogonal basis for that space, arbitrarily
für runde Wolken im variablen Raum gilt (dh Datenstreudiagramm, wie das erste Bild in Ihrer Antwort), aber das Ladediagramm ist ein Themenraum, in dem Variablen, nicht Fälle, Punkte (Vektoren) sind.Ohne Einzelheiten aus Ihrem Aufsatz würde ich vermuten, dass dieses Verwerfen von stark korrelierten Variablen nur durchgeführt wurde, um Rechenleistung oder Arbeitsbelastung einzusparen. Ich kann keinen Grund dafür erkennen, warum PCA für stark korrelierte Variablen "kaputt geht". Durch die Rückprojektion von Daten auf die von PCA gefundenen Basen werden die Daten aufgehellt (oder dekorreliert). Das ist der springende Punkt hinter PCA.
quelle
Nach meinem Verständnis sind korrelierte Variablen in Ordnung, da PCA Vektoren ausgibt, die orthogonal sind.
quelle
Nun, es hängt von Ihrem Algorithmus ab. Stark korrelierte Variablen können eine schlecht konditionierte Matrix bedeuten. Wenn Sie einen dafür sensiblen Algorithmus verwenden, ist dies möglicherweise sinnvoll. Aber ich wage zu sagen, dass die meisten modernen Algorithmen, die zum Herausdrehen von Eigenwerten und Eigenvektoren verwendet werden, dafür robust sind. Versuchen Sie, die stark korrelierten Variablen zu entfernen. Ändern sich die Eigenwerte und der Eigenvektor stark? Wenn ja, könnte eine schlechte Konditionierung die Antwort sein. Da stark korrelierte Variablen keine Informationen hinzufügen, sollte sich die PCA-Zerlegung nicht ändern
quelle
Hängt davon ab, welche Methode zur Auswahl der Hauptkomponenten Sie verwenden, nicht wahr?
Ich neige dazu, eine Hauptkomponente mit einem Eigenwert> 1 zu verwenden. Das würde mich also nicht beeinflussen.
Und aus den obigen Beispielen würde in der Regel sogar die Scree-Plot-Methode die richtige auswählen. WENN SIE ALLE VOR DEM ELLENBOGEN BEWAHREN. Wenn Sie jedoch einfach die Hauptkomponente mit dem "dominanten" Eigenwert auswählen, werden Sie in die Irre geführt. Aber das ist nicht der richtige Weg, um ein Geröllplot zu benutzen!
quelle