Welches ist die beste Visualisierung für Notfalltabellen?


22

Welches ist vom statistischen Standpunkt aus das beste Diagramm, um eine Kontingenztabelle anzuzeigen , die typischerweise durch einen Chi-Quadrat-Test analysiert wird? Handelt es sich um einen ausgeblendeten Barplot, einen gestapelten Barplot, eine Heatmap, einen Konturplot, einen Jitterred Scatterplot, einen Plot mit mehreren Linien oder etwas anderes? Sollte man absolute Werte oder Prozentsätze anzeigen?

Edit: Oder wie @forecaster in den Kommentaren vorschlägt, ist die Zahlentabelle selbst eine einfache Handlung und sollte ausreichen.


4
Manchmal ist Datentabelle die beste Visualisierungsmethode im Vergleich zu Diagrammen. Kontingenztabellen sind ein klassisches Beispiel dafür.
Prognose

1
Wichtiger Punkt, obwohl ich nicht der Meinung bin, dass dies immer die beste Option ist.
RNSO

1
Deshalb habe ich "manchmal" gesagt. Ich würde Stephen Few's Show me the numbers empfehlen, das einen ganzen Abschnitt für Tabellen enthält.
Prognose

1
Nun, die beste Methode hängt davon ab, was Sie zeigen möchten, wie groß die Tabelle ist, ohne einige Besonderheiten ist diese zu breit!
kjetil b halvorsen

3
Die meisten stats.stackexchange.com/questions/56322/… scheinen hier relevant zu sein.
Nick Cox

Antworten:


9

Hier wird es keine einheitliche Lösung geben. Wenn Sie eine sehr einfache Tabelle haben (z. B. ), ist es wahrscheinlich am besten, die Tabelle einfach zu präsentieren. Wenn Sie eine tatsächliche Zahl wünschen, sind Mosaik-Diagramme (wie @xan vorschlägt) wahrscheinlich ein guter Ausgangspunkt. Es gibt einige andere Optionen, die zu Mosaikplots analog sind, einschließlich Siebplots, Zuordnungsplots und Dynamikdruckplots (siehe meine Frage hier: Alternative zu Sieb- / Mosaikplots für Kontingenztabellen ); Das Buch Visualizing Categorical Data von Michael Friendly ist eine gute (SAS-basierte) Ressource für dieses Thema, und das vcd-Paket ist eine gute Ressource für die Implementierung dieser Ideen in R. 2×2

Da Tabellen jedoch eine größere Anzahl von Zeilen und Spalten enthalten, wird die Verwendung meiner Meinung nach schwieriger. Eine andere Art der Visualisierung besteht darin, eine Korrespondenzanalyse durchzuführen / zu zeichnen . Eine Korrespondenzanalyse ist analog zu einer Hauptkomponentenanalyse sowohl für die Zeilen als auch für die Spalten der Kontingenztabelle. Dann werden beide zusammen mit einem Biplot geplottet. Hier ist ein R-basiertes Beispiel, das die Daten aus @ xans Antwort verwendet:

library(ca)
tab = as.table(rbind(c(28, 4,  0, 56),
                     c(38, 5,  9, 10),
                     c( 6, 6, 14, 13) ))
names(dimnames(tab)) = c("activity", "period")
rownames(tab)        = c("feed", "social", "travel")
colnames(tab)        = c("morning", "noon", "afternoon", "evening")
tab
#         period
# activity morning noon afternoon evening
#   feed        28    4         0      56
#   social      38    5         9      10
#   travel       6    6        14      13
plot(ca(tab))

Bildbeschreibung hier eingeben

Je näher sich zwei Punkte desselben Typs befinden, desto ähnlicher sind sich die beiden Zeilen- / Spaltenprofile. Und je näher zwei Punkte unterschiedlichen Typs sind, desto größer ist ihre Wahrscheinlichkeitsmasse in der Zelle, die ihren Schnittpunkt darstellt.

In R steht das Paket ca ; auch diese vignette ( pdf ) kann hilfreich sein.


Sehr hilfreich. Offensichtlich scheitert es bei kleinen Werten, zB: tt = with (mtcars, table (factor (gear), factor (vs))); Handlung (ca (tt)); Fehler in x [, dim]: tiefgestellt außerhalb der Grenzen
rnso

Das liegt daran, dass einer der Faktoren (dh factor(vs)) nur zwei Ebenen hat; du brauchst mindestens drei. Versuchen Sie es ttt = with(mtcars, table(factor(gear), factor(cyl))); plot(ca(ttt)).
gung - Wiedereinsetzung von Monica

Sehr gute Darstellung der Beziehungen zwischen verschiedenen Faktoren.
Donnerstag,

Sie können die Tabelle auch anzeigen, nachdem Sie die Zeilen und Spalten in der Reihenfolge der Ergebnisse der Korrespondenzanalyse neu angeordnet haben.
kjetil b halvorsen

Interessante Idee, @kjetilbhalvorsen. Ich bin nicht sicher, wie ich das aus dem caObjekt herausholen soll, also habe ich es von Grund auf neu codiert. Wenn ich keinen Fehler gemacht habe, ordnen Sie die Zeilen c(1,3,2)und Spalten neu an c(4,1,3,2). Danach bin ich mir nicht sicher, was ich hier sehen soll. Woran denkst du?
gung - Reinstate Monica

10

Unterschiedliche Darstellungen heben verschiedene Features besser hervor, aber Mosaik-Diagramme eignen sich gut für eine allgemeine Ansicht (überprüfen Sie, ob etwas auffällt). Vielleicht meintest du das mit ausweichender Handlung in der Bar. Wie die meisten Optionen sind sie nicht symmetrisch, da sie relative Frequenzen in einer Dimension besser darstellen als in der anderen. Ein schönes Feature ist, dass auch die Grenzfrequenzen dargestellt werden.

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben


Das ist gut. Es werden sowohl Zahlen als auch Proportionen dargestellt. Zahlen können auch auf einen Plot gesetzt werden. Wenn die Reihenfolge der x-Achsen-Elemente geordnet ist, sieht es noch besser aus. Mit Ausweichen meinte ich einen gemeinsamen Barplot mit Kategorien nebeneinander und nicht aufeinander gestapelt (siehe position = ' dodge ' auf dieser Seite: r-bloggers.com/using-r-barplot-with-ggplot2 ).
RNSO

1
+1 Dieser Entwurf eignet sich häufig sehr gut für relativ einfache Daten . Umgekehrt habe ich festgestellt, dass es auch bei komplizierteren Daten schnell schwierig wird, darüber nachzudenken, obwohl in der Literatur viel Wert auf die Erweiterbarkeit auf Kontingenztabellen beliebiger Dimension gelegt wird. Trotzdem funktioniert auch unter solchen Umständen kein Design gut. Ein kleiner Punkt in diesem Beispiel ist, dass Sie anscheinend die von Ihrem Programm vorgegebene alphabetische Reihenfolge "Nachmittag" ... "Mittag" akzeptiert haben, während die Beibehaltung der Zeitreihenfolge eine natürlichere Wahl erscheint.
Nick Cox

8

Ich bin damit einverstanden, dass die "beste" Handlung nicht unabhängig von Datensatz, Leserschaft und Zweck existiert. Bei zwei gemessenen Variablen sind Streudiagramme wahrscheinlich das Design, bei dem alle anderen außer für bestimmte Zwecke im Nachhinein verbleiben. Für kategoriale Daten ist jedoch kein solcher Marktführer erkennbar.

Ich möchte hier nur eine einfache Methode erwähnen, die oft wiederentdeckt oder neu erfunden, aber auch oft übersehen wird, selbst in Monographien oder Lehrbüchern über statistische Grafiken.

Beispiel zuerst, mit denselben Daten wie von xan:

Bildbeschreibung hier eingeben

Wenn ein Name gewünscht wird, ist dies, wie so oft, ein Zwei-Wege-Balkendiagramm (in diesem Fall). Ich werde hier keine anderen Begriffe katalogisieren, außer dass mehrere Balkendiagramme eine häufige Alternative mit ähnlichem Geschmack sind. (Mein kleiner Einwand gegen "mehrere Balkendiagramme" ist, dass "mehrere" die sehr häufig gestapelten oder nebeneinander angeordneten Balkendiagramme nicht ausschließt, wohingegen "zwei" für mich klarer ein Zeilen- und Spaltenlayout impliziert, obwohl dies wiederum der Fall ist kann Beispiele nehmen, um das zu verdeutlichen.)

Vor- und Nachteile für diese Art von Handlung sind ebenfalls einfach, aber ich werde einige darlegen. Da ich diesen Entwurf (der mindestens bis in die 1930er Jahre zurückreicht) sehr mag, möchten andere vielleicht schärfere Kritik üben.

+1. Die Idee ist auch für nicht-technische Gruppen leicht zu verstehen . Balkenhöhen oder Balkenlängen codieren in diesem Beispiel Frequenzen. In anderen Beispielen können sie nach Belieben berechnete Prozente, Residuen usw. codieren.

+2. Die Zeilen- und Spaltenstruktur entspricht der einer Tabelle . Sie können auch numerische Werte hinzufügen. Sehr kleine Mengen und sogar implizite Nullen sind deutlich zu erkennen, was bei anderen Designs (z. B. gestapelten Balkendiagrammen, Mosaikplots) nicht immer der Fall ist. Die Beschriftung von Zeilen und Spalten ist in der Regel effizienter als das Hinzufügen eines Schlüssels oder einer Legende mit dem dazu erforderlichen mentalen "Hin und Her". Auf diese Weise kombiniert dieses Design Grafik- und Tabellenideen, was einige Leser anscheinend beunruhigt. Umgekehrt würde ich behaupten, dass starke Unterschiede zwischen Abbildungen und Tabellen nur historische Kater sind, die jetzt überholt sind, da Forscher ihre eigenen Dokumente erstellen können und nicht mehr auf Designer, Komponisten und Drucker angewiesen sind.

+3. Erweiterungen auf Dreiwege-Bauformen und höhere Bauformen sind prinzipiell einfach . Platzieren Sie zwei oder mehr Variablen als zusammengesetzte Variablen auf einer oder beiden Achsen oder geben Sie ein Array solcher Diagramme an. Natürlich ist die Interpretation umso komplizierter, je komplizierter das Design ist.

+4. Das Design erlaubt eindeutig ordinale Variablen auf jeder Achse. Die Reihenfolge kann (z. B.) durch geeignete Schattierung sowie durch die Reihenfolge der Kategorien auf dieser Achse ausgedrückt werden. Die Kategoriereihenfolge der Achsen kann durch ihre Bedeutung oder besser durch die Häufigkeit bestimmt werden. Die alphabetische Reihenfolge nach Textbezeichnungen ist möglicherweise eine Vorgabe, sollte jedoch niemals die einzige in Betracht gezogene Wahl sein.

-1. Durch die allgemeine Gestaltung kann das Diagramm bestimmte Arten von Beziehungen weniger effizient darstellen . Insbesondere ein Mosaikplot kann Abweichungen von der Unabhängigkeit sehr deutlich machen. Wenn umgekehrt die Beziehungen zwischen kategorialen Variablen kompliziert oder unklar sind, kann in der Regel kein Diagramm mehr als diese schwache Tatsache anzeigen.

-2. In gewisser Weise ist das Design ineffizient bei der Raumnutzung , da für jede Kreuzkombination Platz bleibt, unabhängig davon, ob oder wie häufig sie auftritt. Dies ist das Laster des gleichen Prinzips, das als Tugend angesehen wird. Das besondere Design über Räumen kategorisiert gleichermaßen unabhängig von ihrer Häufigkeit; das opfern opfert oft lesbare randbeschriftungen, die ich sehr schätze. In diesem Beispiel sind die Beschriftungen sehr kurz, aber das ist alles andere als typisch.

Hinweis: Die Daten von xan scheinen nur erfunden zu sein, daher werde ich nicht mehr eine Interpretation versuchen, als in anderen Antworten versucht wird. Aber einige hausgemachte Weisheiten verdienen hier das letzte Wort: Das beste Design für Sie ist eines, das Ihnen und Ihren Lesern die Struktur einiger realer Daten, die Sie interessieren, am besten vermittelt.

Andere Beispiele schließen ein

Wie können Sie die Beziehung zwischen 3 kategorialen Variablen visualisieren?

Diagramm für die Beziehung zwischen zwei Ordnungsvariablen


1
+1 für eine weitere praktikable Option und einige großartige Diskussionen. Lassen Sie mich eine Frage zu 2-Wege-Balkendiagrammen stellen / auf einen anderen möglichen Nachteil verweisen: Es gibt eine nicht markierte, aber deutlich wahrnehmbare Box, in der die Balken eingezeichnet werden können. Wenn sich der Balken dem oberen Rand des Kastens nähert, erreicht er 100%. Wie wird dieser Wert bestimmt? (NB, Kontingenztabellen sind in gewissem Sinne immer multinomial, mit einer bekannten Summe.) Wenn Sie die oberen Zeilen- oder Spaltensummen der Box angeben, werden unterschiedliche Wahrnehmungsinferenzen unterstützt. (Es scheint nicht, dass die Tabellensumme verwendet wird, da viele Balken zu klein wären, um sie zu unterscheiden.)
gung - Reinstate Monica

1
@gung Danke. Ich kann mein eigenes Stata-Programm kommentieren, das hier und in meinen Beispielen an anderer Stelle im Lebenslauf verwendet wird. Das Programm ist tabplotvon SSC. Die Höhe der Balken entspricht notwendigerweise einem Bruchteil der Höhe des höchsten oder längsten Balkens. Der dafür verfügbare Platz wird durch die Anzahl der angezeigten Zeilen bestimmt. Der Benutzer kann die Standardlückengröße überschreiben, riskiert dann jedoch, dass sich die Balken berühren oder verschließen. Wenn Balken sowohl negativ als auch positiv sein können, sind die Dinge nicht einfacher. Ich stelle mir vor, dass die gleiche Einschränkung bei jedem anderen Programm auftritt. Kurz gesagt, Balken, die sich nicht berühren, implizieren Leerraum!
Nick Cox

8

Als Ergänzung zu den Antworten von @ gung und @ xan finden Sie hier ein Beispiel für Mosaik- und Assoziationsdiagramme vcdin R.

> tab
        period
activity morning noon afternoon evening
  feed        28    4         0      56
  social      38    5         9      10
  travel       6    6        14      13

So erhalten Sie die Grundstücke:

require(vcd)
mosaic(tab, shade=T, legend=T)
assoc(tab, shade=T, legend=T)

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Beide stellen intuitiv Abweichungen von den erwarteten Frequenzen dar ... Die Standardeinstellung ist das Modell der gegenseitigen Unabhängigkeit , kann jedoch über das Argument geändert werden (z. B. in gemeinsame Unabhängigkeit, wenn eine eindeutige Antwortvariable vorhanden ist) expected.

Siehe auch:

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.