Eine gute Möglichkeit, viele Daten grafisch darzustellen

15

Ich arbeite an einem Projekt, das 14 Variablen und 345.000 Beobachtungen für Wohnungsdaten umfasst (z. B. Baujahr, Quadratmeterzahl, Verkaufspreis, Wohnbezirk usw.). Ich befasse mich mit dem Versuch, gute grafische Techniken und R-Bibliotheken zu finden, die nette Plott-Techniken enthalten.

Ich sehe bereits, was in ggplot und lattice gut funktioniert, und ich denke darüber nach, für einige meiner numerischen Variablen Geigenpläne zu erstellen.

Welche anderen Pakete würden die Leute empfehlen, um eine große Anzahl von numerischen oder faktortypisierten Variablen übersichtlich, poliert und vor allem prägnant anzuzeigen?

Christopher Aden
quelle
"klare, polierte und vor allem prägnante Art" Klingt für mich wie ggplot2.
Brandon Bertelsen
1
Ich suche nicht nur nach R-Bibliotheken, sondern auch nach bestimmten Arten von Diagrammen. Mein Wissen über Graphen beschränkt sich auf Scatter, Box, QQ, Histogramme, Violinen, Kernel-Dichteschätzungen usw. Etwas undurchsichtigere Graphen, die mehr über die Daten aussagen als diese, wären fantastisch.
Christopher Aden
2
Parallele Koordinaten klingen wie eine andere zu erwähnen. Auch Methoden zur Dimensionsreduktion können hilfreich sein.
Tal Galili

Antworten:

13

Das beste "Diagramm" ist so offensichtlich, dass es noch niemand erwähnt hat: Erstellen Sie Karten. Die Daten zu Wohnraum hängen im Wesentlichen von der räumlichen Lage ab (laut der alten Immobiliensäge). Daher ist es das allererste, was zu tun ist, eine klare detaillierte Karte jeder Variablen zu erstellen. Um dies mit einer Drittelmillion Punkten gut zu machen, ist ein industrielles GIS erforderlich, das den Prozess verkürzen kann. Danach ist es sinnvoll, Wahrscheinlichkeitsdiagramme und Boxplots zu erstellen, um univariate Verteilungen zu untersuchen, Streudiagramm-Matrizen und wandernde schematische Boxplots usw. zu zeichnen, um Abhängigkeiten zu untersuchen Datenbeziehungen und wie Sie die Daten geografisch in sinnvolle Teilmengen aufteilen.

whuber
quelle
Großartige Idee! Ich habe bereits Breiten- und Längengrade aller Datenpunkte, so dass eine solche Aufgabe relativ elementar wäre. Ich dachte, die Kartenbibliothek wäre ein guter Weg, es sei denn, es gibt etwas Besseres.
Christopher Aden
2
@Christopher Sie können auch tun dies mit ggplot2(insb. Wenn Sie nicht brauchen , um Ländergrenzen zu ziehen), had.co.nz/ggplot2/coord_map.html . Ansonsten maps, gmapssind besser. Es gibt auch GeoXpeine R-Schnittstelle zu GRASS. Übrigens hat Mondrian ein Plugin für geografische Daten :)
chl
Es kann schwierig sein, die beste Antwort zu finden, wenn es mehrere gute Vorschläge gibt, aber ich bin der Meinung, dass dies die richtige Richtung ist. Ich werde ggplot2 ausprobieren und mir Maps, GeoXp und Mondrian ansehen. Vielen Dank für die Idee, räumlich zu zeichnen!
Christopher Aden
Ich habe gute Erfolge mit hatte lattice‚s levelplotund contourplot. Das Paket fieldshat einige nette Funktionen, einschließlich quiltplotderer , die nützlich sind, wenn sich Ihre Daten nicht ausschließlich in einem Raster befinden. Es hat auch eine schöne Spline-Funktion Tpsfür dünne Platten , um nicht gerasterte Daten in ein Raster zu glätten. Bei dedizierter GIS-Software macht GRASS für mich irgendwie keinen Sinn, ich bevorzuge QGIS.
Wayne
6

Ich würde empfehlen, sich GGobi anzuschauen , das auch eine R-Schnittstelle hat, zumindest zu Erkundungszwecken. Es verfügt über eine Reihe von grafischen Darstellungen, die besonders nützlich sind, um mit einer großen Anzahl von Beobachtungen und Variablen umzugehen und diese miteinander zu verknüpfen. Vielleicht möchten Sie zunächst einige der Videos im Abschnitt "Demo ansehen " auf der Seite " Learn GGobi " ansehen .

Aktualisieren

Links zu Hadley Wickhams Tools für GGobi, wie von chl in den Kommentaren vorgeschlagen:

  • DescribeDisplay "R-Paket, mit dem Sie ggobi-Grafiken in R neu erstellen können"
  • clusterfly "Clustering-Ergebnisse in großen Dimensionen untersuchen"
  • rggobi "R-Paket, das eine einfache Schnittstelle zu GGobi bietet"
ars
quelle
1
@ars Fügen wir Hadleys R-Tools hinzu, um das GGobi-Erlebnis zu verbessern, z . B. DescribeDisplayund clusterfly.
Chl
Hi ars, wie ich auf meine Antwort schrieb - meine Erfahrung mit ggobi ist, dass es mit großen Datensätzen nicht gut umgehen kann. Hast du noch eine Erfahrung damit?
Tal Galili
@Tal Das Problem besteht darin, dass für die Bildschirmanzeige / -wiedergabe keine Glyphen verwendet werden, was bei R-Basisgrafiken üblich ist. Dies wurde auf der letzten DSC-Konferenz ( j.mp/bpOhBH ) diskutiert . Tatsächlich gibt es ein laufendes Projekt mit Qt als Backend und einem neuen Port von GGobi, um die interaktive Anzeige großer Datenmengen zu verbessern.
Chl
1
@Tal: Ich habe die Erfahrung gemacht, dass es beim Aktualisieren / Neulackieren der Ansichten ziemlich langsam ist, z. B. beim Hinzufügen einer Variablen oder beim Ziehen, um die Anzeigen im PCP neu anzuordnen. Trotzdem ist es nutzbar, wenn auch nicht so interaktiv wie bei großen Datenmengen. @chl: Das ist wirklich gut zu wissen, danke!
ars
1
@ars @Tal Hier sind die Links zur Qt-Schnittstelle für R ( j.mp/d1AJp7 ) und GGobi ( j.mp/cUOvfp ). Siehe auch Hadleys Github-Repository!
CHL
6

Ich glaube, Sie stellen tatsächlich zwei Fragen: 1) Welche Arten von Visualisierungen sollen verwendet werden und 2) welches R-Paket kann sie erzeugen.

Welche Art von Grafik verwendet werden soll, hängt von Ihren Anforderungen ab (z. B. Arten von Variablen - numerisch, faktorisch, geografisch usw. und die Art der Verbindungen, die Sie anzeigen möchten):

Nun darüber, wie es geht. Ein Problem bei vielen Datenpunkten ist die Zeit, bis der Plot erstellt wird. ggplot2, iplots, ggobi sind nicht sehr gut für zu viele Datenpunkte (zumindest aus meiner Erfahrung). In diesem Fall möchten Sie sich möglicherweise auf R-Basisgrafiken konzentrieren oder Ihre Daten abtasten und alle anderen Tools verwenden. Oder Sie können hoffen, dass die Leute, die iplots extreme (oder Acinonyx ) entwickeln, eine fortgeschrittene Release-Phase erreichen.

Tal Galili
quelle
Danke für die Links zu rflowcytund Acinonyx.
Chl
BTW, rflowcytwurde mit jüngsten Versionen von Bioconductor veraltet, es wird jetzt empfohlen, zu verwenden flowViz. Wie auch immer, beide verlassen sich auf lattice.
Chl
Sehr gründliche Antwort, Tal! Die Generierungszeit der Handlung sollte kein großes Problem sein. Ich habe die meisten meiner Diagramme mit dem Basispaket erstellt, und das Problem, dass die Diagramme besser aussehen, war, als ich mich entschied, ein Diagramm für das Papier zu verwenden. Ich hatte überlegt, eine Streudiagramm-Matrix für die numerischen Variablen zu verwenden, aber da viele von ihnen unterschiedliche Einheiten haben (einige in Dollar, andere in Quadratmetern), würde ich nur allgemeine Trends erhalten, aber mit ~ 8 numerischen Einheiten Variablen, ein 8x8 SPM ist ein bisschen überladen.
Christopher Aden
3

Mondrian bietet interaktive Funktionen und verarbeitet relativ große Datenmengen (allerdings in Java).

Paraview beinhaltet 2D / 3D nämlich. Eigenschaften.

chl
quelle
Vielen Dank für die beiden neuartigen Bibliotheken. Mein Hauptkonflikt mit diesen beiden besteht darin, dass ich meinen Bericht in Papierform einreiche, sodass interaktive Grafiken möglicherweise nicht vollständig verwendet werden. Die Grafiken von Mondrian sehen ziemlich komplex aus. Ich werde es mir ansehen.
Christopher Aden
@Christopher Für Mondrian haben Sie die iplotsvon @Tal zitierte "äquivalente" R-Version . Über Paraview haben Sie die Möglichkeit, einen Screenshot Ihres Viz zu speichern. DescribeDisplayHier können Sie dynamische Visualisierungen aus GGobi exportieren: cran.r-project.org/web/packages/DescribeDisplay/index.html .
Chl
-3

Ich möchte Sie darauf aufmerksam machen, Parallele Koordinaten : Visuelle mehrdimensionale Geometrie und ihre Anwendungen , die die neuesten Durchbrüche und Anwendungen auf diesem Gebiet enthalten.

Das Buch wurde unter anderem von Stephen Hawking gelobt. Oberflächen werden (unter Verwendung von Dualität) durch ihre Normalenvektoren an ihren Punkten beschrieben. Es enthält Anwendungen für die Flugsicherung (Automatische Kollisionsvermeidung - 3 USA-Patente), multivariates Data Mining (für reale Datensätze, von denen einige Hunderte von Variablen enthalten), multiobjektive Optimierung, Prozesssteuerung, Smart Displays für die Intensivpflege, Sicherheit, Netzwerkvisualisierung und zuletzt Big Daten.

Alfred Inselberg
quelle
5
Hallo Alfred, danke, dass du der Seite beigetreten bist. Vielleicht haben Sie ein Beispiel ähnlich dem OP-Datensatz (14 Variablen und 345.000 Beobachtungen), mit dem Sie ein Bild liefern und beschreiben / demonstrieren können, wie parallele Koordinaten nützlich sein können? Viele der statischen Parallelkoordinatendiagramme, die ich bei so vielen Beobachtungen gesehen habe, sehen in der Regel wie Spaghetti auf einer Platte aus. Ich vermute jedoch, dass Sie einen besseren Einblick haben, wie man aus so großen N-Daten einen Sinn macht.
Andy W
Hallo Andy, ich habe kein Beispiel mit so vielen Beobachtungen. In
Alfred Inselberg
Hallo Andy, ich habe kein Beispiel mit so vielen Beobachtungen. Interaktivität ist für die Datenexploration von entscheidender Bedeutung. Ich arbeitete an einem Datensatz mit ungefähr 800 Variablen und 10.000 Beobachtungen in einem Mobilfunknetz, um "mysteriöse" Fehler zu entdecken. Unter Verwendung der Klassifikatoren wurden stufenweise und interaktiv die 11 verantwortlichen Variablen gefunden und diese in der Zeit zurückverfolgt, in der ungewöhnliche Aktivitäten im Netzwerk 3–4 festgestellt wurden, bevor der Fehler festgestellt wurde.
Alfred Inselberg