Wie kann man die wahre Dimensionalität der Daten visualisieren?

8

Ich habe einen Datensatz, der nominell 16-dimensional ist. Ich habe ungefähr 100 Proben in einem Fall und ungefähr 20.000 in einem anderen. Basierend auf verschiedenen explorativen Analysen, die ich mit PCA und Wärmekarten durchgeführt habe, bin ich überzeugt, dass die wahre Dimensionalität (dh die Anzahl der Dimensionen, die zum Erfassen des größten Teils des "Signals" erforderlich sind) bei etwa 4 liegt. Ich möchte eine Folie erstellen dieser Effekt für eine Präsentation. Die "konventionelle Weisheit" über diese Daten, die ich widerlegen möchte, ist, dass die wahre Dimensionalität eins oder zwei ist.

Was ist eine gute, einfache Visualisierung, um die wahre Dimensionalität eines Datensatzes zu zeigen? Vorzugsweise sollte es für Personen verständlich sein, die einen statistischen Hintergrund haben, aber keine "echten" Statistiker sind.

Dsimcha
quelle
1
Definieren Sie bitte "wahr".
Kardinal
@ Cardinal: Es ist unvermeidlich subjektiv. Ich möchte die Anzahl der Dimensionen, die "den größten Teil" der Varianz erfassen.
Dsimcha
1
das ist gut. Ich wollte nur sicher wissen, was Sie wollten. Es gibt interessante Beispiele in multivariaten Statistiken, bei denen Sie beispielsweise einen kleineren Rang als den wahren Rang auswählen sollten, dh den Rang des tatsächlichen, wenn Sie die beste Anzahl von Begriffen finden möchten, die im Sinne der kleinsten Quadrate für PCA beibehalten werden sollen zugrunde liegende Struktur, aus der die Daten generiert wurden.
Kardinal
Ich würde einen speziellen Fall finden, in dem die Verwendung von 2-Dimensionen zu einer schlechten Antwort führt, während die Verwendung von 4-Dimensionen zu einer guten Antwort führt. Dies wird dazu beitragen, Ihren Standpunkt zu vermitteln - die Leute verstehen Beispiele. Fügen Sie dies zu einigen der allgemeineren Dinge hinzu, die unten angegeben sind - "eblow" in der Geröllhandlung usw.
Wahrscheinlichkeitslogik
Die "Beispiele" wären jene Fälle, die große Punktzahlen für die dritte und vierte Komponente aufweisen
Wahrscheinlichkeitslogik

Antworten:

6

Ein Standardansatz wäre, PCA durchzuführen und dann ein Geröllplot zu zeigen, das Sie aus jeder von Ihnen gewählten Software herausholen sollten. Ein wenig basteln und Sie könnten es bei Bedarf für Ihr spezielles Publikum interpretierbarer machen. Manchmal können sie überzeugend sein, aber oft sind sie mehrdeutig und es gibt immer Raum, darüber zu streiten, wie man sie liest, so dass eine Geröllhandlung (Bearbeiten: nicht!) Ideal sein kann. Einen Blick wert.

JMS
quelle
3
@JMS, (+1) speziell für die Vorsicht bei Geröllplots. Ich würde sie "Standard" nennen, aber auch "eine schlechte Idee" (im Allgemeinen). Hier ist eine warnende Geschichte und auch eine Möglichkeit, den Rang sicherer zu bestimmen, insbesondere wenn MSE Ihre Metrik ist. Wenn ich mich recht erinnere, ist dies auch ein Beispiel, bei dem der wahre Rang der falsche ist, um MSE zu minimieren.
Kardinal
@cardinal (+1) Danke für den Link zu Owen & Perrys Artikel.
Chl
Anscheinend habe ich Geröllpläne irgendwann neu erfunden, aber nicht bemerkt, dass sie irgendetwas heißen. Vielen Dank, dass Sie mich an sie erinnert und mich wissen lassen, dass sie "Standard" sind. Da mein Ziel darin besteht, eine schöne Visualisierung zu erstellen, setzt sich einfach, standardisiert und gut genug gegen komplizierte, aber optimalere durch.
Dsimcha
2
@dsimcha, ich habe eine schnelle Google-Suche durchgeführt und es gibt anscheinend ein R-Paket, das den Ansatz in dem von mir bereitgestellten Link implementiert. Es gibt ein schönes Papier von vor ungefähr 20 Jahren (vielleicht 30), ich glaube an The American Statistician , das die Inferenzfehler anhand von "Standard" -Geröllplots deutlich zeigt. Ich werde sehen, ob ich mich an den Titel erinnern kann und einen Link oder eine Referenz veröffentlichen. Obwohl Standard, aber (ziemlich) fehlerhaft, ein ansprechender Ansatz ist, insbesondere unter zeitlichen Einschränkungen, würde ich vorsichtig vor einer solchen Denkweise warnen. Prost.
Kardinal
1
@JMS Es gibt eine Arbeit von Zwick & Velicer (1986), die für die Verwendung einer parallelen Analyse (Resampling-Eigenwerte, um zu testen, ob beobachtete Werte zufällig größer als erwartet waren) oder ihres MAP-Kriteriums über Geröllplots oder der Root-One-Regel spricht. In ihren Simulationen übertreffen die ersten beiden Methoden die anderen (z. B. 92% gegenüber 22% Genauigkeit) bei der Ermittlung der tatsächlichen Anzahl von Komponenten erheblich. Das R-Paket psychimplementiert beide mit begleitenden Geröll-ähnlichen Grafiken (siehe fa.parallel()und VSS()). Das Papier lautet "Vergleich von fünf Regeln zur Bestimmung der Anzahl der beizubehaltenden Komponenten".
gesperrt
4

Eine Möglichkeit, dies zu visualisieren, wäre folgende:

  1. Führen Sie eine PCA für die Daten durch.
  2. VV
  3. xiVVxi=vi+ci
  4. ||ci||||vi||

2

In Matlab (duckst dich von allen Schuhen, die geworfen werden):

lat_d = 2;   %the latent dimension of the generating process
vis_d = 16;  %manifest dimension
n = 10000;   %number of samples
x = randn(n,lat_d) * randn(lat_d,vis_d) + 0.1 * randn(n,vis_d); %add some noise
xmu = mean(x,1);
xc = bsxfun(@minus,x,xmu);    %Matlab syntax for element recycling: ugly, weird.
[U,S,V] = svd(xc);  %this will be slow;
prev = U(:,1:2) * S(1:2,1:2);
prec = U(:,3:end) * S(3:end,3:end);
normv = sqrt(sum(prev .^2,2));
normc = sqrt(sum(prec .^2,2));
scatter(normv,normc);
axis equal;  %to illlustrate the differences in scaling, make axis 'square'

Dies erzeugt das folgende Streudiagramm:

Streudiagramm des Codes

Wenn Sie lat_dauf 4 wechseln , ist die Linie weniger flach.

shabbychef
quelle
@shabbychef, dies scheint vorauszusetzen, dass (a) die wahre Struktur eine lineare Mannigfaltigkeit ist und (b) die Richtungen mit hoher Varianz die wichtigen sind.
Kardinal
1
@cardinal Sie können Annahme und Wirkung verwirren. Die Krümmung im Verteiler wird sich in diesen Streudiagrammen als Krümmung manifestieren, und die Größe der Krümmung wird in der Größe der vertikalen Variation in den Diagrammen offenbart. Tatsächlich betrachtet Shabbychef die Daten so, dass sie sich ungefähr in einer röhrenförmigen Nachbarschaft eines niedrigdimensionalen linearen Raums befinden. Dies legt keinerlei Einschränkungen für die Form der Daten fest.
whuber
@ Shabbyshef +1 für die Zerlegungsidee und natürlich die Erwähnung der Schuhe :)
mpiktas
@whuber, @shabbychef, ich war mit meinem ersten Kommentar wahrscheinlich etwas voreilig, zumal ich zu diesem Zeitpunkt nicht an einem Computer war. Ich glaube, ich habe auch Shabbys Beschreibung anfangs falsch verstanden und konnte die Handlungen nicht sehen. Diese sind eine gute Möglichkeit, einen Standard-Paardiagramm zu erweitern.
Kardinal
1
(s,t)(cos(2πt),sin(2πt),2s/5,t2)stiid uniform (0,1), geordnet nach abnehmender Varianz. Die Anteile der Gesamtvarianz betragen 49,2%, 46,5%, 2,9%, 1,4%. Die beiden unteren Zeilen emulieren @ shabby's Plots. Sie demonstrieren die nahezu 2D-Natur der Daten und enthüllen gleichzeitig die geringe Nichtlinearität, die ich in sie eingefügt habe. Hast du daran gedacht?
whuber
0

Ähnliches habe ich mit PROC Varclus in SAS gemacht. Die Grundidee besteht darin, eine 4-Cluster-Lösung zu generieren, die höchste korrelierte Variable für jeden Cluster auszuwählen und dann zu demonstrieren, dass diese 4-Cluster-Lösung mehr Variationen erklärt als die Zwei-Cluster-Lösung. Für die 2-Cluster-Lösung könnten Sie entweder Varclus oder die ersten 2 Hauptkomponenten verwenden, aber ich mag Varclus, da alles über Variablen und nicht über die Komponenten erklärt wird. Es gibt einen Varclus in R, aber ich bin mir nicht sicher, ob er dasselbe tut.

-Ralph Winters

Ralph Winters
quelle