R - 'princomp' kann nur mit mehr Einheiten als Variablen verwendet werden

8

Ich verwende R-Software (R-Commander), um meine Daten zu gruppieren. Ich habe eine kleinere Teilmenge meiner Daten mit 200 Zeilen und etwa 800 Spalten. Ich bekomme den folgenden Fehler, wenn ich Kmeans Cluster und Plot auf einem Graphen versuche. "'princomp' kann nur mit mehr Einheiten als Variablen verwendet werden"

Ich habe dann ein Testdoc von 10 Zeilen und 10 Spalten erstellt, die gut plotten, aber wenn ich eine zusätzliche Spalte hinzufüge, bekomme ich wieder einen Fehler. Warum ist das? Ich muss in der Lage sein, meinen Cluster zu plotten. Wenn ich meinen Datensatz nach dem Ausführen von kmeans darauf anschaue, kann ich die Spalte mit den zusätzlichen Ergebnissen sehen, die anzeigt, zu welchen Clustern sie gehören.

Gibt es irgendwas was ich falsch mache, kann ich diesen Fehler loswerden und meine größere Probe plotten ??? Bitte helft mir, seit einer Woche den Kopf zu ruinieren. Danke Jungs.

    
CoolSteve 16.04.2011, 13:54
quelle

3 Antworten

21

Das Problem besteht darin, dass Sie mehr Variablen als Beispielpunkte haben und die Hauptkomponentenanalyse fehlschlägt.

In der Hilfedatei für princomp wird erklärt (lies ?princomp ):

%Vor%     
jberg 16.04.2011, 13:58
quelle
4

Die Hauptkomponentenanalyse ist unterspezifiziert , wenn Sie weniger Beispiele als Datenpunkte haben. Jeder Datenpunkt ist seine eigene Hauptkomponente. Damit PCA funktioniert, sollte die Anzahl der Instanzen deutlich größer als die Anzahl der Dimensionen sein.

Einfach gesagt können Sie die Probleme so betrachten: Wenn Sie n Dimensionen haben, können Sie bis zu n+1 Instanzen mit Vektoren kodieren, die alle 0 sind oder die höchstens 1 1 haben. Und das ist optimal, also wird PCA das machen! Aber es ist nicht sehr hilfreich.

    
Anony-Mousse 02.07.2012 14:34
quelle
0

Sie können prcomp statt princomp

verwenden     
Maziar Kasaei 17.05.2017 22:21
quelle