Wenn Sie einen Biplot für eine PCA-Analyse erstellen, haben Sie die Hauptkomponente PC1-Scores auf der x-Achse und PC2-Scores auf der y-Achse. Aber was sind die anderen beiden Achsen rechts und oben auf dem Bildschirm?
Meinen Sie zB im Plot, dass der folgende Befehl zurückgibt?
biplot(prcomp(USArrests, scale =TRUE))
Wenn ja, sollen die obere und die rechte Achse zur Interpretation der roten Pfeile (Punkte, die die Variablen darstellen) in der Darstellung verwendet werden.
Wenn Sie wissen, wie die Hauptkomponentenanalyse funktioniert, und Sie R-Code lesen können, zeigt Ihnen der folgende Code, wie die Ergebnisse prcomp()von biplot.prcomp()vor dem endgültigen Plotten von zunächst behandelt werden biplot.default(). Diese beiden Funktionen werden im Hintergrund aufgerufen, wenn Sie mit zeichnen biplot(), und der folgende geänderte Code-Auszug stammt von biplot.prcomp().
Kurz gesagt, im obigen Beispiel wird die Matrix der variablen Ladungen ( x$rotation) mit der Standardabweichung der Hauptkomponenten ( x$sdev) multipliziert mit der Quadratwurzel der Anzahl der Beobachtungen skaliert . Dadurch wird der Maßstab für die obere und die rechte Achse auf das festgelegt, was auf dem Plot angezeigt wird.
Es gibt auch andere Methoden, um die variablen Ladungen zu skalieren. Diese werden zB vom R-Paket vegan angeboten.
+1. Ich habe mir erlaubt, die Zahl in Ihre Antwort einzufügen.
Amöbe sagt Reinstate Monica
Darüber hinaus wäre es für zukünftige Referenzen sehr nützlich, wenn Sie Ihrer Antwort hinzufügen könnten, dass die PC-Punktzahlen (Achsen links und unten) auf Quadratsummeneinheiten skaliert sind: Sie sind nicht "roh". PC punktet.
Ich habe eine bessere Visualisierung für den Biplot. Bitte überprüfen Sie die folgende Abbildung.
Im Experiment versuche ich, 3D-Punkte in 2D (simulierter Datensatz) abzubilden.
Der Trick, um Biplot in 2d zu verstehen, besteht darin, den richtigen Winkel zu finden, um dasselbe in 3d zu sehen. Alle Datenpunkte sind nummeriert, Sie können die Zuordnung deutlich sehen.
Hier ist der Code, um die Ergebnisse zu reproduzieren.
+1. Beachten Sie jedoch, dass in Ihrer gedrehten 3D-Figur die Varianz der Punktwolke erhalten bleibt (horizontale Projektion, dh PC1, hat eine größere Varianz als die vertikale, dh PC2), während die roten Pfeile alle eine Einheitslänge haben (in 3D). Dies ist in dem Biplot nicht der Fall, der durch den biplotBefehl in R erzeugt und in Ihrer Abbildung auf der rechten Seite wiedergegeben wurde: Dort ist die Punktwolke standardisiert, aber die Pfeile haben Längen, die den Varianzen entsprechen.
Amöbe sagt Reinstate Monica
@amoeba guter Punkt. Ich habe nur die Pfeile manuell gezeichnet und vergessen, dass die Länge des Pfeils auch bestimmte Bedeutungen hat.
Haitao Du
Ich denke dein manuelles 3D / 2D "Biplot" entspricht eher dem, was die Funktion biplotmit scale=0Argument erzeugt .
Antworten:
Meinen Sie zB im Plot, dass der folgende Befehl zurückgibt?
Wenn ja, sollen die obere und die rechte Achse zur Interpretation der roten Pfeile (Punkte, die die Variablen darstellen) in der Darstellung verwendet werden.
Wenn Sie wissen, wie die Hauptkomponentenanalyse funktioniert, und Sie R-Code lesen können, zeigt Ihnen der folgende Code, wie die Ergebnisse
prcomp()
vonbiplot.prcomp()
vor dem endgültigen Plotten von zunächst behandelt werdenbiplot.default()
. Diese beiden Funktionen werden im Hintergrund aufgerufen, wenn Sie mit zeichnenbiplot()
, und der folgende geänderte Code-Auszug stammt vonbiplot.prcomp()
.Kurz gesagt, im obigen Beispiel wird die Matrix der variablen Ladungen (
x$rotation
) mit der Standardabweichung der Hauptkomponenten (x$sdev
) multipliziert mit der Quadratwurzel der Anzahl der Beobachtungen skaliert . Dadurch wird der Maßstab für die obere und die rechte Achse auf das festgelegt, was auf dem Plot angezeigt wird.Es gibt auch andere Methoden, um die variablen Ladungen zu skalieren. Diese werden zB vom R-Paket vegan angeboten.
quelle
biplot.default
Ich habe eine bessere Visualisierung für den Biplot. Bitte überprüfen Sie die folgende Abbildung.
Im Experiment versuche ich, 3D-Punkte in 2D (simulierter Datensatz) abzubilden.
Der Trick, um Biplot in 2d zu verstehen, besteht darin, den richtigen Winkel zu finden, um dasselbe in 3d zu sehen. Alle Datenpunkte sind nummeriert, Sie können die Zuordnung deutlich sehen.
Hier ist der Code, um die Ergebnisse zu reproduzieren.
quelle
biplot
Befehl in R erzeugt und in Ihrer Abbildung auf der rechten Seite wiedergegeben wurde: Dort ist die Punktwolke standardisiert, aber die Pfeile haben Längen, die den Varianzen entsprechen.biplot
mitscale=0
Argument erzeugt .