Was zeigt eine keilartige Form des PCA-Diagramms an?

9

In ihrer Arbeit über Autoencoder für die Textklassifizierung demonstrierten Hinton und Salakhutdinov die Darstellung der zweidimensionalen LSA (die eng mit PCA verwandt ist) : 2-dim LSA.

Durch Anwenden von PCA auf absolut unterschiedliche, leicht hochdimensionale Daten erhielt ich ein ähnlich aussehendes Diagramm: 2-dim PCA(außer in diesem Fall wollte ich wirklich wissen, ob es eine interne Struktur gibt).

Wenn wir zufällige Daten in PCA einspeisen, erhalten wir einen scheibenförmigen Blob, sodass diese keilförmige Form nicht zufällig ist. Bedeutet es etwas für sich?

Macleginn
quelle
6
Ich gehe davon aus, dass alle Variablen positiv (oder nicht negativ) und kontinuierlich sind. In diesem Fall sind die Kanten des Keils nur die Punkte, ab denen die Daten 0 / negativ werden würden. Außerdem können Sie dasselbe Muster erhalten, das Sie mit positiven Variablen mit rechtem Versatz anzeigen. Die Beobachtungen sind am unteren Ende zusammengefasst. Wenn Sie positive einheitliche Zufallsvariablen hätten, würden Sie ein (gedrehtes) Quadrat sehen. Daher sind Muster wie das von Ihnen gezeigte nur Einschränkungen für die Daten. Andere Muster können wie ein Hufeisen angezeigt werden, aber dies ist nicht auf Einschränkungen in den Bereichen der Variablen zurückzuführen.
Gavin Simpson
1
@ GavinSimpson Dies ist wesentlich mehr als ein Kommentar. Warum nicht zu einer Antwort erweitern?
Mike Hunter
Ich fragte meine Kinder (3 und 4 Jahre alt), woran diese Bilder sie erinnern, und sie sagten, es sei ein Fisch. Also vielleicht "fischartige Form"?
Amöbe
@ GavinSimpson, danke! In beiden Fällen sind Variablen in der Tat nicht negativ, aber auch in beiden Fällen sind sie ganzzahlig. Ändert das etwas?
Macleginn

Antworten:

6

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")

Geben Sie hier die Bildbeschreibung ein

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.

Geben Sie hier die Bildbeschreibung ein

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")

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

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")

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

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")

Geben Sie hier die Bildbeschreibung ein

Dies erzeugt ein extremes Hufeisen, bei dem sich die Punkte an den Enden der Achsen in die Mitte zurückbiegen.

Geben Sie hier die Bildbeschreibung ein

Gavin Simpson
quelle
+1. Es kann sinnvoll sein, hier auf Ihre eigene Antwort zu verweisen. Was ist der „Hufeiseneffekt“ und / oder der „Bogeneffekt“ in der PCA- / Korrespondenzanalyse? im letzten Teil dieser Antwort.
Amöbe