Angenommen, die Variablen sind positiv oder nicht negativ, dann sind die Kanten der Kante nur Punkte, ab denen die Daten 0 bzw. negativ werden würden. Da solche realen Daten dazu neigen, recht schief zu sein, sehen wir eine größere Punktdichte am unteren Ende ihrer Verteilung und damit eine größere Dichte am "Punkt" des Keils.
Im Allgemeinen ist PCA einfach eine Rotation der Daten, und Einschränkungen für diese Daten werden in den Hauptkomponenten im Allgemeinen auf die gleiche Weise wie in der Frage gezeigt sichtbar.
Hier ist ein Beispiel mit mehreren logarithmisch normalverteilten Variablen:
library("vegan")
set.seed(1)
df <- data.frame(matrix(rlnorm(5*10000), ncol = 5))
plot(rda(df), display = "sites")
Abhängig von der Rotation, die von den ersten beiden PCs impliziert wird, sehen Sie möglicherweise den Keil oder eine etwas andere Version, die hier in 3D mit ( ordirgl()
anstelle von plot()
) angezeigt wird.
Hier in 3d sehen wir mehrere Spitzen, die aus der Mittelmasse herausragen.
Xi∼(N)(μ=0,σ=1)
set.seed(1)
df2 <- data.frame(matrix(rnorm(5*10000), ncol = 5))
plot(rda(df2), display = "sites")
Und für einheitliche positive Zufallsvariablen sehen wir einen Würfel
set.seed(1)
df3 <- data.frame(matrix(runif(3*10000), ncol = 3))
plot(rda(df3), display = "sites")
Beachten Sie, dass ich hier zur Veranschaulichung die Uniform mit nur 3 Zufallsvariablen zeige, daher beschreiben die Punkte einen Würfel in 3d. Mit höheren Dimensionen / mehr Variablen können wir den 5d-Hyperwürfel nicht perfekt in 3D darstellen und daher wird die ausgeprägte "Würfel" -Form etwas verzerrt. Ähnliche Probleme betreffen die anderen gezeigten Beispiele, aber die Einschränkungen in diesen Beispielen sind immer noch leicht zu erkennen.
Für Ihre Daten würde eine Protokolltransformation der Variablen vor der PCA die Schwänze ziehen und die verklumpten Daten ausdehnen, genau wie Sie eine solche Transformation in einer linearen Regression verwenden könnten.
Andere Formen können in PCA-Plots auftreten. Eine solche Form ist ein Artefakt der in der PCA erhaltenen metrischen Darstellung und wird als Hufeisen bezeichnet . Für Daten mit einem langen oder dominanten Gradienten (Stichproben, die entlang einer einzelnen Dimension angeordnet sind, wobei Variablen entlang von Teilen der Daten von 0 auf ein Maximum ansteigen und dann wieder auf 0 abnehmen, sind dafür bekannt, solche Artefakte zu erzeugen
ll <- data.frame(Species1 = c(1,2,4,7,8,7,4,2,1,rep(0,10)),
Species2 = c(rep(0, 5),1,2,4,7,8,7,4,2,1, rep(0, 5)),
Species3 = c(rep(0, 10),1,2,4,7,8,7,4,2,1))
rownames(ll) <- paste0("site", seq_len(NROW(ll)))
matplot(ll, type = "o", col = 1:3, pch = 21:23, bg = 1:3,
ylab = "Abundance", xlab = "Sites")
Dies erzeugt ein extremes Hufeisen, bei dem sich die Punkte an den Enden der Achsen in die Mitte zurückbiegen.