Visualisierung der Schnittpunkte vieler Mengen

30

Gibt es ein Visualisierungsmodell, mit dem die Überschneidung vieler Mengen dargestellt werden kann?

Ich denke etwas wie Venn-Diagramme, aber das könnte sich irgendwie besser für eine größere Anzahl von Sätzen wie 10 oder mehr eignen. Wikipedia zeigt einige höher eingestellte Venn-Diagramme, aber auch die 4 eingestellten Diagramme sind sehr viel zu beachten.

Ich würde davon ausgehen, dass sich viele der Sätze nicht überlappen, sodass es möglich ist, dass Venn-Diagramme in Ordnung sind - aber ich würde gerne ein Computer-Tool finden, mit dem sich das generieren lässt. Für mich sieht es so aus, als ob Google Charts nicht so viele Sätze zulässt.

Kyle Brandt
quelle
1
Verwandte, aber für eine kleine Anzahl von Sätzen (als Referenz): stats.stackexchange.com/questions/4211/…

Antworten:

18

Wenn Sie eine große Anzahl von Sätzen haben, würde ich etwas versuchen, das linearer ist und die Verknüpfungen direkt anzeigt (wie ein Netzwerkdiagramm). Flare und Protovis haben beide Dienstprogramme, um diese Visualisierungen zu handhaben.

In dieser Frage finden Sie einige Beispiele :

Alt-Text

Shane
quelle
(+1) Schöne Antwort! - Die Grafik gefällt mir besonders gut. Ich habe mich gefragt, ob es einen Weg gibt, dies in R zu tun?
Suncoolsu
1
Mir ist keine Möglichkeit bekannt, dies zu tun. Mein Webvis-Paket enthält einen Wrapper für Protovis, aber es wäre eine Menge Arbeit, ihn dazu zu bringen, diese Grafik zu erstellen. Im Übrigen wird in diesem Artikel
Shane,
1
@suncoolsu, das R-Paketdiagramm kann möglicherweise dasselbe "Bogendiagramm" ausführen, auf das Shane hingewiesen hat. Es sieht so aus, als wäre es harte Arbeit, das "Handlungsnetz" so aussehen zu lassen, wie es oben abgebildet ist. cran.r-project.org/web/packages/diagram/vignettes/diagram.pdf .
Andy W
und Andy. Danke für deine Antworten. @ Shane, ich habe dein Webvis-Paket gesehen. Aber ich muss es noch weiter erforschen. Ich mag Protovis-Grafiken sehr. Sie haben eine großartige Website.
Suncoolsu
1
Nettes Diagramm, aber es beantwortet nicht die ursprüngliche Frage, da Sie den Schnittpunkt von 3 oder mehr Mengen nicht darstellen können. Gibt es eine Variante davon, die das tut?
Nassimhddd
11

Dies kann mit der Antwort von @ Shane nicht mithalten, da kreisförmige Anzeigen für die Anzeige komplexer Beziehungen mit hochdimensionalen Datensätzen sehr gut geeignet sind.

venn()K=4

K=4

Für weitere Informationen könnten Sie sich interessieren

Kestler et al., Generalisierte Venn-Diagramme: Eine neue Methode zur Visualisierung komplexer genetischer Mengenbeziehungen , Bioinformatics, 21 (8), 1592-1595 (2004).

Venn-Diagramme haben jedoch ihre Grenzen. In dieser Hinsicht mag ich den Ansatz von Robert Kosara in " Sightings: A Vennerable Challenge" oder " Parallel Sets" (siehe auch diese Diskussion im Andrew Gelman-Weblog).

chl
quelle
Es sieht gut aus. ich hätte es geliebt, wenn es nicht numericals annehmen würde. Es scheint, dass man seine Daten zuerst in eine numerische Liste umwandeln muss.
eastafri
Aus praktischen Gründen wäre es fantastisch, einige Screengrabs hinzuzufügen
user5783745
7

Wir haben einen matrixbasierten Ansatz für Mengenkreuzungen namens UpSet entwickelt, den Sie unter http://vcg.github.io/upset/ nachlesen können . Hier ist ein Beispiel:

UpSet Screenshot

Die Matrix auf der linken Seite gibt den Schnittpunkt an, den eine Zeile darstellt. Die letzte Zeile hier ist beispielsweise der Schnittpunkt der Filmgenres "Action, Adventure und Children". Die Balken rechts zeigen die Größe der Kreuzung, in diesem Beispiel 4.

Sie können auch Attribute der Kreuzungen oder andere Auswahlen usw. zeichnen. Weitere Informationen finden Sie auf der Website.

Es gibt jetzt auch eine statische Version für R, die Sie auf der oben genannten Website oder hier finden: https://github.com/hms-dbmi/UpSetR/

Ein aktueller Bericht zur Set-Visualisierung ist unter http://www.cvast.tuwien.ac.at/SetViz abrufbar - die meisten davon sind jedoch akademisch und werden ohne verfügbaren Code ausgeliefert.

alexsb
quelle
1
Was mich betrifft, ist das Bild, das Sie gepostet haben, eher ein Beispiel für eine Überzeichnung, bei der zu viele Informationen auf einem einzigen Plot zusammengefasst sind ...
Tim
1
@Tim. Ich verstehe zwar, was Sie sagen, aber es ist nicht wirklich überzeichnet, da alle visuellen Elemente klar sichtbar und getrennt sind. Sie könnten argumentieren, dass die Handlung zu komplex ist, um sie leicht erkennen zu können, aber dies könnte genauso gut damit zusammenhängen, dass Sie nicht in der Verwendung der Handlung geschult sind schlechte Skalierbarkeit von VENN-Diagrammen)
ThomasP85
@ Thomasp85 es gab viele recherchen, die zeigen, dass die leute wirklich schlecht in der visuellen interpretation von plots sind (sogar "die" experten), auch solche grundlegenden sachen wie kuchendiagramme. In den meisten Fällen führt eine komplizierte Visualisierung zu Fehlinterpretationen und Missverständnissen.
Tim
@Tim Ich stimme zu, dass einfach immer besser ist, aber komplexe Fragen manchmal komplexe Antworten haben. Der Grund, warum diese Frage gestellt wurde, ist, dass es bis heute keine überzeugende, einfache Visualisierungstechnik gibt, um mit einer großen Anzahl von festgelegten Schnittpunkten umzugehen. Die akzeptierte Antwort bezieht sich nur auf 2-Grad-Schnittpunkte, die mit zunehmender Anzahl von Sätzen einen immer kleineren Teil der Gesamtzahl von Schnittpunkten ausmachen.
ThomasP85
... und Ihr Beispiel mit Kreisdiagrammen hängt mit der Tatsache zusammen, dass Menschen (Experten oder Nicht-Experten) beim Vergleichen von Winkeln schrecklich sind, weshalb Kreisdiagramme niemals verwendet werden sollten :-)
ThomasP85