Ich analysiere einen Datensatz mit vielen Parametern (z. B. 50-200) und bin daran interessiert, die Beziehungen zwischen Variablen zu untersuchen (z. B. in Form von Streudiagrammen mit zwei Variablen oder 2D-Histogrammen). Für diese Anzahl von Parametern scheint es jedoch nicht möglich zu sein, ein 200x200-Array von Plots zu zeichnen (es sei denn, ich drucke es aus und hänge es an eine Wand).
Wenn Sie jedoch nur eine Korrelationsmatrix erstellen, erhalten Sie nicht alle Informationen über Beziehungen mit zwei Variablen.
Gibt es eine Möglichkeit (Bibliothek oder Workflow), 2-Variablen-Beziehungen für viele Variablen zu untersuchen?
Ich bin besonders daran interessiert, Ergebnisse anderen zu zeigen (möglicherweise nach einer gewissen Datenvorverarbeitung). ZB etwas Interaktives in JavaScript, wo ich eine Streudiagramm-Matrix für ausgewählte Felder aus einer Korrelationsmatrix sehen kann.
Mit Streudiagramm-Matrix meine ich so etwas:
(entnommen aus dem Pandasplotting-Blog ; verfügbar in Python / Pandas , R , D3.js usw.).
quelle
Antworten:
Die Untersuchung der Beziehungen zwischen Variablen ist ziemlich vage, aber zwei der allgemeineren Ziele bei der Untersuchung solcher Streudiagramme sind vermutlich;
Beide reduzieren die Daten in verwaltbarere Zusammenfassungen, haben jedoch unterschiedliche Ziele. Identifizieren Sie latente Gruppen, die normalerweise die Dimensionen in den Daten reduzieren (z. B. über PCA), und untersuchen Sie dann, ob sich Variablen oder Fälle in diesem reduzierten Raum zusammenballen. Siehe zum Beispiel Friendly (2002) oder Cook et al. (1995).
Das Identifizieren von Ausreißern kann entweder das Anpassen eines Modells und das Zeichnen der Abweichungen vom Modell bedeuten (z. B. das Zeichnen von Residuen eines Regressionsmodells) oder das Reduzieren der Daten in ihre Hauptkomponenten und nur das Hervorheben von Punkten, die entweder vom Modell oder vom Hauptdatenbestand abweichen. Beispielsweise zeigen Boxplots in einer oder zwei Dimensionen normalerweise nur einzelne Punkte, die außerhalb der Scharniere liegen (Wickham & Stryjewski, 2013). Das Zeichnen von Residuen hat die nette Eigenschaft, dass es Diagramme abflachen sollte (Tukey, 1977), daher ist jeder Hinweis auf Beziehungen in der verbleibenden Punktwolke "interessant". Diese Frage zum Lebenslauf enthält einige hervorragende Vorschläge zur Identifizierung multivariater Ausreißer.
Ein üblicher Weg, um solch große SPLOMS zu untersuchen, besteht darin, nicht alle einzelnen Punkte zu zeichnen , sondern eine Art vereinfachte Zusammenfassung und dann möglicherweise Punkte, die stark von dieser Zusammenfassung abweichen, z. B. Vertrauensellipsen, skagnostische Zusammenfassungen (Wilkinson & Wills, 2008), bivariate Box-Plots, Konturdiagramme. Im Folgenden finden Sie ein Beispiel für das Zeichnen von Ellipsen, die die Kovarianz definieren, und das Überlagern eines Lössglätters, um die lineare Assoziation zu beschreiben.
(Quelle: statmethods.net )
In jedem Fall würde ein wirklich erfolgreicher, interaktiver Plot mit so vielen Variablen wahrscheinlich eine intelligente Sortierung (Wilkinson, 2005) und eine einfache Möglichkeit zum Herausfiltern von Variablen (zusätzlich zu den Funktionen zum Bürsten / Verknüpfen) erfordern. Außerdem müsste jeder realistische Datensatz die Fähigkeit haben, die Achse zu transformieren (z. B. die Daten auf logarithmischer Skala darstellen, die Daten durch Wurzeln transformieren usw.). Viel Glück und bleib nicht bei nur einer Verschwörung!
Zitate
quelle
Sie können die glänzende Oberfläche aus dem PairsD3 R-Paket verwenden, die eine Möglichkeit zur Interaktion mit Streudiagramm-Matrizen bietet.
Ein Beispiel mit dem Iris-Datensatz:
Quelle: https://github.com/garthtarr/pairsD3
quelle