Was ist eine gute Möglichkeit, eine sehr große Anzahl gepaarter Datenpunkte grafisch darzustellen?

9

In meinem Bereich besteht die übliche Methode zum Zeichnen gepaarter Daten aus einer Reihe von dünn abfallenden Liniensegmenten, die mit dem Median und dem CI des Medians für die beiden Gruppen überlagert werden:

Geben Sie hier die Bildbeschreibung ein

Diese Art von Plot wird jedoch viel schwieriger zu lesen, da die Anzahl der Datenpunkte sehr groß wird (in meinem Fall habe ich in der Größenordnung von 10000 Paaren):

Geben Sie hier die Bildbeschreibung ein

Das Alpha zu reduzieren hilft ein bisschen, aber es ist immer noch nicht großartig. Auf der Suche nach einer Lösung bin ich auf dieses Papier gestoßen und habe beschlossen, ein "paralleles Liniendiagramm" zu implementieren. Auch hier funktioniert es sehr gut für eine kleine Anzahl von Datenpunkten:

Geben Sie hier die Bildbeschreibung ein

N

Geben Sie hier die Bildbeschreibung ein

Ich nehme an, ich könnte die Verteilungen für die beiden Gruppen separat anzeigen, z. B. mit Boxplots oder Violinen, und eine Linie mit Fehlerbalken oben mit den beiden Medianen / CIs zeichnen, aber diese Idee gefällt mir wirklich nicht, da sie nicht vermitteln würde die gepaarte Natur der Daten.

Ich bin auch nicht besonders begeistert von der Idee eines 2D-Streudiagramms: Ich würde eine kompaktere Darstellung bevorzugen, und im Idealfall eine, bei der die Werte für die beiden Gruppen entlang derselben Achse aufgetragen werden. Der Vollständigkeit halber sehen die Daten wie folgt als 2D-Streuung aus:

Geben Sie hier die Bildbeschreibung ein

Kennt jemand eine bessere Möglichkeit, gepaarte Daten mit einer sehr großen Stichprobengröße darzustellen? Könnten Sie mich mit einigen Beispielen verknüpfen?

Bearbeiten

Tut mir leid, ich habe offensichtlich nicht gut genug erklärt, wonach ich suche. Ja, das 2D-Streudiagramm funktioniert, und es gibt viele Möglichkeiten, wie es verbessert werden kann, um die Punktedichte besser zu vermitteln. Ich könnte die Punkte gemäß einer Schätzung der Kerndichte farblich kennzeichnen und ein 2D-Histogramm erstellen Ich könnte Konturen auf die Punkte usw. usw. zeichnen.

Ich denke jedoch, dass dies ein Overkill für die Botschaft ist, die ich vermitteln möchte. Es ist mir nicht wirklich wichtig, die 2D-Dichte von Punkten an sich anzuzeigen - alles, was ich tun muss, ist zu zeigen, dass die Werte für "Balken" im Allgemeinen größer als die für "Punkte" sind, und zwar auf möglichst einfache und klare Weise und ohne die wesentliche gepaarte Natur der Daten zu verlieren. Idealerweise möchte ich die gepaarten Werte für die beiden Gruppen entlang derselben und nicht entlang orthogonaler Achsen darstellen, da dies den visuellen Vergleich erleichtert.

Vielleicht gibt es keine bessere Option als ein Streudiagramm, aber ich würde gerne wissen, ob es Alternativen gibt, die funktionieren könnten.

ali_m
quelle
1
Haben Sie versucht, einfach die entsprechenden Werte barauf der horizontalen und dotder vertikalen Achse als Streudiagramm zu zeichnen?
Bis Hoffmann
@ TillHoffmann Ja, das habe ich am Ende meiner Frage erwähnt. Es ist wahrscheinlich die beste Option, die ich derzeit habe, aber ich würde eine kompaktere Darstellung bevorzugen, und idealerweise eine, die die Werte beider Gruppen entlang derselben Achse darstellt (vielleicht bin ich unangemessen anspruchsvoll ...). Ich werde das Streudiagramm zu meiner Frage hinzufügen.
Ali_m
Entschuldigung, das habe ich nicht verstanden. Wie generieren Sie Ihre synthetischen Daten im Moment?
Bis Hoffmann
2
Können Sie erklären, was Sie unter einer "kompakten" Darstellung verstehen? Das Streudiagramm ist allen anderen in Bezug auf die Darstellung der Beziehungen sowie der individuell ungewöhnlichen Daten auf kleinem Raum deutlich überlegen. Es wächst nur besser, wenn die Größe des Datensatzes zunimmt. (10.000 sind für ein Streudiagramm nicht groß.) Sie erwähnen so viele verschiedene Grafiken, dass es unmöglich ist, abzuleiten, was Sie wirklich benötigen. Bitte teilen Sie uns den Zweck Ihrer Visualisierung mit: Welche Art von Informationen möchten Sie genau lernen oder an andere weitergeben? Wie genau und schnell wollen Sie, dass es wahrgenommen und verstanden wird?
whuber
1
@whuber Sorry für die Unklarheit. Was ich mir erhofft hatte, war eine Möglichkeit, die Daten so darzustellen, dass die Werte für beide Gruppen entlang derselben und nicht als orthogonale Achsen (wie sie in den Diagrammen "geneigte Linie" und "parallele Linie" dargestellt sind) dargestellt werden. Die Meldung ist sehr einfach: Die Werte für die "Balken" sind im Allgemeinen höher als die für die "Punkte". Darüber hinaus ist es mir egal, wie dicht die Verteilung ist, obwohl ich gerne vermitteln möchte, dass die Stichprobe eine große Anzahl von Paaren enthält.
Ali_m

Antworten:

7

Wenn ich Ihr Ziel verstehe, würde ich nur gepaarte Differenzen berechnen ( bars - dots) und diese Unterschiede dann in einem Histogramm oder einem Diagramm zur Schätzung der Kerneldichte darstellen. Sie können auch eine beliebige Kombination aus (1) einer vertikalen Linie, die der Nulldifferenz entspricht, (2) einer beliebigen Auswahl von Perzentilen hinzufügen.

Dies würde hervorheben, welcher Teil der Daten barsgrößer dotsist und im Allgemeinen, welche Unterschiede beobachtet werden.

(Ich habe angenommen, dass Sie nicht daran interessiert sind, die tatsächlichen Rohwerte von barsund dotsim selben Diagramm anzuzeigen .)

Man könnte auch Vertrauen oder hintere glaubwürdige Intervalle zeichnen, um anzuzeigen, ob diese Unterschiede signifikant sind. (H / T @ MrMeritology!)

Sean Easter
quelle
Hinzufügen zu dieser Antwort: Sie können auch Konfidenzintervalle für die gepaarten Unterschiede zeichnen, die visuell anzeigen, ob die Unterschiede signifikant sind oder nicht.
MrMeritology
yB=μ+offset(yA)+Δ(yAy¯A
2

yByAyA

yB=μ+offset(yA)+Δ(yAy¯A)+ϵ
+Δ2(yAy¯A)2

Grafisch könnten Sie die Linien wie gezeigt mit einem reduzierten Alpha-Faktor (*) anzeigen und möglicherweise weiter reduzieren, indem Sie nur eine zufällige Stichprobe von Linien anzeigen. Dann könnten Sie die Linien nach Neigung färben ...

Für Bland-Altman-Diagramme, die in einem Kommentar von Nick Cox erwähnt wurden, siehe beispielsweise ein Beispiel für eine Vereinbarung zwischen Methoden mit mehreren Beobachtungen pro Person oder einen Blick auf das Tag .

(*) Der Alpha-Faktor ist hier ein grafischer Parameter, der Punkte im Diagramm transparent macht, sodass die ersten gezeichneten Punkte durch späteres Überzeichnen nicht vollständig verdeckt werden.

kjetil b halvorsen
quelle
1
1

Ich würde das 2D-Streudiagramm bevorzugen. Ich würde die Referenzlinie hellgrau zeichnen, um mehr Kontrast in der überfüllten Region zu erzielen. Um das Gedränge zu verringern, zeichnen Sie die Markierungen ohne Rand, reduzieren Sie das Alpha weiter und reduzieren Sie die Markergröße.

Wenn Sie jedoch mehr an den typischen Paaren als an den Flügeln der Verteilung interessiert sind, versuchen Sie, die kumulative Summe von dotsgegen die kumulative Summe von zu zeichnen bars. Das Diagramm ist immer noch 2D, aber mit viel weniger Tinte. Um auch den Plotbereich zu sparen, können Sie die Kurve um 45 ° drehen, sodass der Rahmen als Referenzrichtung dient.

Dieses Diagramm würde auch einen Trend in den Daten zeigen. Wenn bekannt ist, dass der Prozess stationär ist, sortieren Sie die Paare nach z. B. ihrem geometrischen Mittelwert sqrt(bars*dots).

Rainald62
quelle
0

Ich würde empfehlen, die Linien so zu zeichnen, wie Sie sie für den Median und die Quartile haben, oder so viele Perzentile, wie Sie möchten. Der Median könnte dicker / erkennbarer bleiben als andere Perzentillinien. Dies würde dazu beitragen, die Fähigkeit zu erhalten, zu sehen, wie sich die Daten in der Verteilung verhalten, ohne die Einfachheit und Vertrautheit des Diagramms zu beeinträchtigen, das derzeit in Ihrem Bereich verwendet wird.

Bei einer so hohen Stichprobengröße wäre der mittlere oder mittlere Trend mit Fehlerbalken wahrscheinlich ausreichend, da Sie den zentralen Grenzwertsatz so gründlich genießen würden. Das biomedizinische Feld stützt sich auch auf diese gepaarten Liniendiagramme. Dies ist jedoch häufig der Fall, da die Stichprobengröße in der Größenordnung von 10 bis 20 liegen kann. Daher ist es wichtig, potenzielle Hebelpunkte zu visualisieren.

Elch
quelle
0

Mein erster Vorschlag ist ein Streudiagramm.

Wenn 10000 Punkte, die in Ihrem Diagramm ungleichmäßig verteilt sind, immer noch eine vage Wolke sind, ziehen Sie eine Wärmekarte in Betracht. Die Farbe des Pixels bei x = 10,5, y = 11,5 würde angeben, wie oft ein Wert zwischen 10,45 und 10,55 auf einen Wert zwischen 11,45 und 11,55 abgebildet wird: 0 = weiß = RGB (255,255,255), 1 = blau = RGB (0, 0,255), 2 = RGB (1,0,254), ... 256 und höher = RGB (255,0,0) = rot

Dirk Horsten
quelle
Das gibt mir im Wesentlichen die gleiche Art der Darstellung wie eine 2D-Streuung, außer mit geringerer Auflösung. Am Ende mache ich vielleicht so etwas, aber ich hatte idealerweise auf eine kompaktere Darstellung gehofft, die die Werte für beide Gruppen entlang derselben Achse und nicht orthogonale Achsen darstellt.
Ali_m
1
Wenn Sie sich Ihr Streudiagramm ansehen, sehen Sie, dass Sie viele Informationen in der Mitte Ihres "Tintenflecks" verlieren. Sie müssen etwas tun, entweder durch Anwenden einer Transformation (Logarithmus?) Oder mit der von mir vorgeschlagenen Gesundheitskarte.
Dirk Horsten
Es tut uns leid! Ihr Vorschlag ist völlig vernünftig - ich habe einfach nicht gut genug erklärt, wonach ich suche. Ja, ein zweidimensionales Diagramm (Streuung, Heatmap, Konturdiagramm usw.) würde die Dichte der Abtastpunkte gut darstellen, aber ich denke, das sind mehr Informationen, als ich wirklich anzeigen muss. Ich muss nur zeigen, dass die Werte für "Balken" im Allgemeinen höher sind als die für "Punkte". Ich suche nach dem einfachsten Weg, dies zu zeigen, während die gepaarte Natur der Daten erhalten bleibt.
Ali_m
Zeigt die Diagonale auf dem Catter-Plot die Richtung nicht gut genug an?
Dirk Horsten
Nein, aber vielleicht habe ich unvernünftige Erwartungen :-)
ali_m