Sind Heatmaps „eine der am wenigsten wirksamen Arten der Datenvisualisierung“?

22

Frage: Wann (bei welchen Arten von Datenvisualisierungsproblemen) sind Heatmaps am effektivsten? (Insbesondere effektiver als alle anderen möglichen Visualisierungstechniken?)

Wann sind Wärmekarten am wenigsten wirksam?

Gibt es gemeinsame Muster oder Faustregeln, anhand derer entschieden werden kann, ob eine Heatmap eine effektive Methode zur Visualisierung der Daten darstellt und wann diese wahrscheinlich unwirksam sind?

(Grundsätzlich habe ich Wärmekarten für 2 kategoriale Variablen und 1 kontinuierliche Variable im Auge, bin aber auch daran interessiert, Meinungen zu anderen Arten von Wärmekarten zu hören.)

Kontext: Ich nehme an einem Online-Kurs zur Datenvisualisierung teil und sie diskutieren derzeit ineffektive und überlastete Diagrammtypen. Sie erwähnten bereits Dynamit-Diagramme und Kreisdiagramme, und die Gründe, warum diese unwirksam sind und warum es bessere Alternativen zu ihnen gibt, waren klar und überzeugend für mich. Darüber hinaus war es leicht, andere Quellen zu finden, die die gegebenen Meinungen zu Dynamitplots und Kreisdiagrammen bestätigten.

Der Kurs sagte jedoch auch, dass "Wärmekarten eine der am wenigsten wirksamen Arten der Datenvisualisierung sind". Eine Umschreibung der Gründe dafür finden Sie weiter unten. Aber als ich versuchte, andere Orte auf Google zu finden, die diesen Standpunkt bestätigen, hatte ich große Schwierigkeiten, im Gegensatz zu Meinungen über die Wirksamkeit von Kreisdiagrammen und Dynamitplots. Daher möchte ich wissen, inwieweit die im Kurs angegebene Charakterisierung von Heatmaps gültig ist und wann die Faktoren, die dagegen sprechen, für einen bestimmten Kontext am unwichtigsten und wichtigsten sind.

Die angegebenen Gründe waren:

  1. Es ist schwierig, Farbe auf einen kontinuierlichen Maßstab abzubilden.

    Es gibt einige Ausnahmen von dieser Regel, so dass dies normalerweise kein Deal Breaker ist, aber im Fall von Heatmaps ist das Problem besonders schwierig, da sich unsere Wahrnehmung einer Farbe in Abhängigkeit von den benachbarten Farben ändert. Daher eignen sich Heatmaps auch für kleine Datensätze nicht zum Anzeigen einzelner Ergebnisse. Was dazu führt:

  2. Die Beantwortung spezifischer Fragen mit einer Tabellensuchmethode ist im Allgemeinen nicht möglich, da es unmöglich ist, den einer bestimmten Farbe entsprechenden Zahlenwert mit ausreichender Genauigkeit abzuleiten.

  3. Oft sind die Daten nicht so gruppiert, dass Trends sichtbar werden.

    Ohne eine solche Clusterbildung ist es oft schwierig oder unmöglich, auf allgemeine Gesamtmuster zu schließen.

  4. Heatmaps werden häufig nur verwendet, um einen "Wow-Faktor" zu kommunizieren oder einfach nur cool auszusehen, insbesondere wenn ein mehrfarbiger Farbverlauf verwendet wird. In der Regel gibt es jedoch bessere Möglichkeiten, die Daten zu kommunizieren.

Das Plotten kontinuierlicher Daten in einem gemeinsamen Maßstab ist immer die beste Option. Wenn es eine Zeitkomponente gibt, ist die naheliegendste Wahl ein Liniendiagramm.

Chill2Macht
quelle
15
Die Kritik an "Heatmaps" beschränkt sich auf die letzte Zeile von (4): Was genau sind diese "besseren Kommunikationswege"? (Wenn es keine besseren Möglichkeiten gibt, sind (1) - (3) kaum relevant.) Wenn der Zweck wörtlich darin besteht, die Daten zu kommunizieren , gibt es offensichtlich bessere Möglichkeiten: Schreiben Sie die Zahlen auf. Der Zweck einer Visualisierung besteht jedoch selten darin, die Daten zu kommunizieren, sondern eine Interpretation zu unterstützen oder eine Nachricht zu senden . Welche Interpretationen hat Ihre Quelle im Sinn und welche sind die besseren Möglichkeiten, diese Interpretationen zu präsentieren?
whuber
4
@whuber Als Ergänzung dazu - eine sehr schöne Sache bei Heatmaps ist, dass es in vielen Fällen einfach ist, sie zu ergänzen, indem die Rohdaten (möglicherweise entsprechend gerundet) direkt auf jeder Kachel angezeigt werden. Selbst die Verwendung bedingter Formatierungen für die Hintergrundfarbe von Zellen in einem Arbeitsblatt ist eine sehr effektive und weit verbreitete Art von "Heatmap", in deren Zusammenhang es schwierig ist, zu erkennen, wie sie verbessert werden können.
Silverfish
2
Mein Kommentar bezieht sich nur auf Kritik 1. Es ist richtig, dass Farbe (Farbton) nicht auf eine geordnete psychologische Skala abgebildet wird, obwohl dies physisch der Fall ist (Wellenlänge). Durch Hinzufügen einer redundanten Dimension, z. B. Helligkeit, können sie jedoch leichter interpretiert werden. Sie könnten dunkler als hell sein, aber Farben wie hellblau und dunkelrot verwenden.
David Lane
2
Kommt auf den Kontext an. Hier ist ein großartiges Beispiel für wertvolle, umsetzbare Informationen, die aus einer Heatmap gewonnen wurden, für die ich mir keinen bequemeren oder nützlicheren Typ für die Datenvisualisierung vorstellen kann.
Jason C
5
Die Farbe ist überflüssig (und zugegebenermaßen schlecht gewählt - es ist nur die Standard-Bildfarbkarte in R), aber hier ist ein Beispiel für das Minesweeper-Spiel , das ich vor einigen Jahren ausgearbeitet habe. Ich fand die Heatmap sofort aufschlussreich, da sie eine Struktur über das Problem aufzeigt, die intuitiv klar wird, wenn man sie einmal sieht und einen Moment darüber nachdenkt, die aber (für die meisten Menschen) nicht unmittelbar vor dem Betrachten der Handlung offensichtlich ist.
Kardinal

Antworten:

15

Es gibt keine "beste" Handlung für dieses oder jenes. Wie Sie Ihre Daten zeichnen, hängt von der Nachricht ab, die Sie übermitteln möchten. Häufig verwendete Diagramme haben den Vorteil, dass Benutzer sie mit höherer Wahrscheinlichkeit lesen können. Das bedeutet jedoch nicht, dass sie unbedingt die beste Wahl sind.

In Bezug auf Heatmaps habe ich meine Antwort mit den angeblichen Argumenten gegen sie angeordnet.

Zu 1) Wenn Sie der Farbe als Kodierungskanal nicht vertrauen, verwenden Sie stattdessen die Helligkeit mit einer Skala von Dunkelgrau bis Hellgrau. In den meisten Fällen möchten Sie fortlaufende Variablen ablegen (siehe auch 5), um die Anzahl der Farben niedrig zu halten und die Dekodierung durch Benutzer zu vereinfachen. Dies ist jedoch kein Muss. Schauen Sie sich dieses Beispiel an , in dem die stetige Variable nicht in Klassen unterteilt ist.

Ad 2) Natürlich sollten sie nicht als Alternative verwendet werden, um genaue Werte nachzuschlagen. Heatmaps sollten in erster Linie zur Veranschaulichung von Mustern und nicht zum Ersetzen von Tabellen verwendet werden.

Ad 3 + 4) Ich verstehe nicht, wie dies nur mit Heatmaps zusammenhängen würde.

Ad 5) Heatmaps werden idealerweise aber nicht unbedingt mit diskreten Variablen verwendet. Für kontinuierliche Variablen können Wärmekarten als eine Art zweidimensionales Histogramm oder Balkendiagramm mit korrekter Gruppierung sowie Helligkeit als Kodierungskanal verwendet werden.

g3o2
quelle
2
Geniale Antwort! Außer ich weiß nicht, was "Anzeige" bedeutet. Latein? Abkürzung?
xan
1
Vielen Dank! "ad" bedeutet "on" oder "concern", ich denke, es kommt aus dem Lateinischen.
g3o2
Ich habe noch nie gesehen, dass "ad" so verwendet wurde (cc, @xan). Nach Ihrer Beschreibung könnte ich Tempo verwenden .
gung - Wiedereinsetzung von Monica
1
Denken Sie auch daran, Ihre auf Helligkeit basierenden Wärmekarten gammakorrigieren zu lassen.
user253751
3
@gung Nicht wirklich, IMO. Es hat im Gegensatz zu Tempo keine Konnotationen - es bedeutet nur zusätzlich Nachtrag in Bezug auf ... Ganz zu schweigen davon, dass es im Westen universell war und aus dem Lateinischen stammt und unter anderem in der Theologie sowie in der wissenschaftlichen und politischen Literatur ausgiebig verwendet wird andere Dinge. In einem (Mail-) Dialog würden die beiden Parteien damit die Argumente auf jeden der Punkte verweisen. Es scheint jedoch in Ungnade zu fallen, wenn die Schriftsprache gekürzt wird. Der übliche Ersatz ist nur die Verwendung von "1.1" anstelle von "Ad 1.1", was etwas verwirrend sein kann und mir etwas unhöflich vorkommt, aber na ja.
Luaan
5

Jemand kann nicht sagen, dass Heat Map die am wenigsten wirksame Art der Visualisierung ist. Ich würde eher sagen, dass es von Ihrer Anforderung abhängt. In einigen Fällen sind Heatmaps sehr nützlich. Angenommen, Sie müssen einen Bericht über die Kriminalität in einem Land in Bezug auf den Staat (oder in Bezug auf die Stadt) erstellen. Hier haben Sie einen riesigen Datensatz, der zeitabhängig sein kann.

Angenommen, Sie müssen einen Bericht über den Stromverbrauch in Städten erstellen. In diesen Fällen können Sie leicht durch Heatmap visualisieren. Das macht mehr Sinn und ist weniger umständlich.

Kurz gesagt, wenn Sie viele kontinuierliche Daten haben und einen Bericht erstellen möchten, der die Antworten schnell aufzeigt, ist Heatmap am besten geeignet.

Manish Kumar
quelle
2
Für den Energieverbrauch gibt es oft keine bessere Darstellung als eine Heatmap: argustech.be/wp-content/uploads/2012/04/heatmap.png Wochenenden und Arbeitsstunden springen direkt vor dem Betrachter. Sie können die Grundlast sehen, Sie können Spitzen sehen, Sie können sehen, wann sie auftreten. Sie können jedes seltsame Muster in wenigen Sekunden erkennen, zum Beispiel, wenn ein elektrisches Gerät immer an ist oder zu früh oder zu spät startet.
Eric Duminil
4

Kritik 1 in der ursprünglichen Frage deckt den größten Nachteil ab - dass es für jemanden, der die Heatmap liest, schwierig ist, die übermittelten quantitativen Informationen zu dekodieren. Stellen Sie sich ein XY-Streudiagramm oder ein Punktdiagramm vor, bei dem die zugrunde liegende Größe in direktem Zusammenhang mit dem Abstand auf dem Diagramm steht - sehr einfach zu interpretieren.

In einer Heatmap hingegen kann die Person, die die Tabelle liest, 10% „röter“ oder „dunkler“ zu ihrer eigenen Zufriedenheit interpretieren. Hinzu kommt das Problem der unterschiedlichen Fähigkeit der Menschen, zunächst Farbe und Schatten zu erkennen. Dies sind echte Nachteile, die jedoch nicht allgemein tödlich sind.

Im Gegensatz dazu scheint die dritte Kritik versehentlich eine Gelegenheit zu identifizieren, bei der Wärmekarten besonders nützlich sind - wenn die Daten auf einer 2D-Ebene gruppiert werden, sodass ähnliche Werte in einer dritten Dimension als Flecken einer bestimmten Farbe oder Schattierung angezeigt werden. Während Heatmaps in einigen Dingen ineffektiv sind, sind sie für andere nützlich und sollten in Ihrer Tasche bleiben, so wie Golfer oft Pitching Wedges oder ähnliches tragen, obwohl sie zum Fahren oder Putten unbrauchbar sind oder Tischler dies nicht tun Hämmer nicht beachten, da sie nicht zum Schneiden von Holz geeignet sind.

Im Allgemeinen sollte das Visualisieren von Daten als iterative Aktivität angesehen werden, die einige Zeit in Anspruch nimmt, wenn Sie eine Reihe von Visualisierungen ausprobieren, die die wichtigen Merkmale der Daten hervorheben, z besondere Entscheidungen. Es sollte auch nicht angenommen werden, dass das Ergebnis eine einzige Visualisierung ist - manchmal sind mehrere Visualisierungen von Daten erforderlich, um mehrere wichtige Merkmale der Daten hervorzuheben. In diesem Zusammenhang wird es Zeiten geben, in denen für bestimmte Merkmale bestimmter Datensätze die Wärmekarte die effektivste ist und die beschriebenen Kommunikationscluster eine dieser Zeiten sein können. Insgesamt wird es häufig Fälle geben, in denen eine einzige Visualisierung nicht alles kann und mehr als eine erforderlich ist.

Robert de Graaf
quelle
3

Wie bereits von anderen erwähnt, ist es wirklich unangebracht zu sagen, dass Wärmekarten immer ineffektiv sind. Tatsächlich sind sie in vielen Fällen recht effektiv.

Wenn Sie beispielsweise 4D-Daten visualisieren möchten, ist es in vielen Plot-Programmen einfach genug, die ersten drei Dimensionen zu erstellen. Das gesamte Konzept von 4D ist jedoch ziemlich schwierig zu konzipieren. Was ist die "4." Richtung / Dimension?

Hier kann eine Wärmekarte effektiv sein, da die ersten drei Dimensionen auf der Koordinatenachse dargestellt werden können. Die vierte kann durch Stapeln einer Wärmekarte auf die geplottete Ebene (oder Linie, aber das ist weniger wahrscheinlich) visualisiert werden.

Fazit ist, dass Sie Kontext benötigen. Was suchen Sie in Ihrer Visualisierung? Außerdem kann ich Ihnen als Mit-Autodidakt sagen, dass diese Online-Kurse in der Regel sehr trivial und wenig hilfreich sind. Sie sind viel besser dran, wenn Sie nur nach Informationen / Hilfe zu bestimmten Themen suchen, anstatt sich über ein ganzes Thema unterrichten zu lassen.

Trotzdem viel Glück.

Abraham Horowitz
quelle
3

Von Natur aus zeigt eine Heatmap Daten mit zwei kontinuierlichen unabhängigen Variablen (oder nicht ganz gleich einer unabhängigen Variablen aus einem zweidimensionalen Vektorraum) und einer kontinuierlichen abhängigen Variablen an. Für Daten dieser Art, ist eine Heatmap definitiv eines der am meisten effektiven Arten von Datenvisualisierung. Ja, es hat seine Probleme, aber das ist unvermeidlich: Sie müssen wirklich nur mit zwei Dimensionen arbeiten, und ein dreidimensionaler Raum kann nicht auf strukturerhaltende Weise darauf abgebildet werden . Daher benötigen Sie einen Hack wie das Abbilden einer Dimension auf Farbe oder Konturlinien zeichnen etc ..

R2X×Y|X||Y|, was für eine kategoriale Variable endlich ist - mit anderen Worten, das kartesische Produkt zweier kategorialer Variablen kann als eine einzige kategoriale Variable betrachtet werden ! Und in diesem Licht können Sie genauso gut andere Diagramme verwenden, die nicht die Probleme einer Heatmap haben.

Wenn Sie sich in einer Situation befinden, in der eine Heatmap über zwei kategoriale Variablen nützlich erscheint, ist dies ein Hinweis darauf, dass es sich wahrscheinlich nicht wirklich um kategoriale Variablen handelt, sondern vielmehr um quantisierte kontinuierliche Variablen.

links herum
quelle
4
Diese Antwort ist interessant, aber ich denke, es wird kurz darauf eingegangen, Heatmaps mit kategorialen Variablen zu verwenden. Beispielsweise kann man kategoriale Ebenen anhand ihrer Anzahl (oder einer anderen relevanten Sortiervariablen) einordnen und dann mithilfe einer Heatmap die gemeinsame Verteilung oder eine andere Größe visualisieren, die mit den gemeinsamen kategorialen Ebenen variiert. Dies kann an Copulas (und verallgemeinerte Begriffe davon) gebunden werden . Solche Visualisierungen können, wenn sie gut gemacht werden, echte Strukturen in den Daten aufdecken, die ansonsten sehr schwer zu erkennen wären. (...)
Kardinal
(...) Und ein solcher Ansatz ist unabhängig von der (direkten) Vorstellung, die kategorialen Ebenen in einen euklidischen Raum einzubetten.
Kardinal
Ich habe mich gefragt, ob Sie irgendeinen Kommentar zur Praxis der Verwendung von Heatmaps für Genexpressions- / Microarray-Daten haben - dies scheint der Fall zu sein, wenn Heatmaps für zwei kategoriale und eine kontinuierliche Variable verwendet werden, für die die kategorialen Variablen nicht wirklich geeignet sind interpretiert als quantisierte stetige Variablen. Oder ich vermute Heatmaps für Korrelationsmatrizen von kategorialen Variablen im Allgemeinen.
Chill2Macht
3

Heatmaps bieten eine vereinfachte Darstellung mehrerer Variablen aus einer Zeitreihenperspektive. Die Daten können absolute Änderungen im Zeitverlauf sein oder mit Z-Scores oder anderen Mitteln standardisiert werden, um Variablen mit unterschiedlichen Messintervallen oder relativen Änderungen von Untergruppen zu untersuchen. Es bietet eine sehr visuell wahrnehmbare Ansicht, dass man Korrelationen erkennen oder eine Vielzahl von Graphen umkehren und ersetzen kann. Sie können auch in der Vorverarbeitung verwendet werden, um eine mögliche Dimensionsreduktion zu bewerten, z. B. Factoring oder PCA.

Die schlecht intervenierenden Variablen und andere Faktoren können ausgeblendet und weitergegeben werden, wenn dieser Ansatz zur Erkennung von Korrelationen verwendet wird. Dieselben verborgenen Aspekte treten bei Liniendiagrammen auf - jedoch aufgrund der großen Anzahl von Variablen -. Meine Erfahrung ist, dass Heatmaps so viele Informationen enthalten, dass ein Benutzer weder die dazwischen liegenden Aspekte noch andere verborgene Faktoren berücksichtigt.

Dies von einem Datenwissenschaftler aus einer fortschrittlichen wirtschaftswissenschaftlichen Perspektive mit 20 Jahren Erfahrung auf dem Gebiet der Datenerzeugung und der Aufgabe, die Öffentlichkeit mit solchen Daten zu unterrichten.

Paul Tulloch
quelle
1

Heatmaps sind gegenüber Streudiagrammen von Vorteil, wenn zu viele Datenpunkte auf einem Streudiagramm angezeigt werden können. Dies kann in einem Streudiagramm mithilfe von durchscheinenden Datenpunkten gemildert werden. Ab einem bestimmten Schwellenwert ist es jedoch besser, die Daten zusammenzufassen.

In diesem Blog-Beitrag wird ein überzeugendes Beispiel für schwer zu interpretierende Streudiagramme gegeben.

Ein Streudiagramm kann die Dichte nur bis zu einer bestimmten Schwelle visuell darstellen - der Schwelle von "Punkten überall" ...

Zeichnungsdichte, keine Punkte

Die Lösung besteht darin, die Dichte der gruppierten Punkte und nicht die Punkte selbst zu zeichnen. Wir kennen diese Methode in einer Dimension bereits als Histogramm.

In zwei Dimensionen gibt es mehrere Möglichkeiten, dies zu tun. Die Behälterformen können von jeder Methode zum gleichmäßigen Kacheln der Ebene übernommen werden, z. B. von Quadraten oder Sechsecken. Für jede Kachel wird die Anzahl der Datenpunkte innerhalb der Kachel gezählt. Der Kachel wird dann eine Farbe entsprechend der Anzahl der Punkte zugewiesen.

Eine ähnliche Aussage aus den ggplot2-Dokumenten zur Heatmap von 2d bin counts :

Dies ist eine nützliche Alternative zum geom_point()Überzeichnen.

In den Dokumenten von geom_point():

Überzeichnung

Das größte potenzielle Problem bei einem Streudiagramm ist das Überzeichnen: Wenn Sie mehr als ein paar Punkte haben, werden die Punkte möglicherweise übereinander gezeichnet. Dies kann das visuelle Erscheinungsbild des Plots erheblich verzerren. Es gibt keine Lösung für dieses Problem, aber es gibt einige Techniken, die helfen können. Sie können zusätzliche Informationen mit geom_smooth(), geom_quantile()oder hinzufügen geom_density_2d(). Wenn Sie nur wenige eindeutige x-Werte haben, geom_boxplot()kann dies ebenfalls nützlich sein.

Alternativ können Sie die Anzahl der Punkte an jeder Stelle zusammenzufassen und dass in irgendeiner Art und Weise angezeigt werden , verwenden geom_count(), geom_hex()oder geom_density2d().

Eine andere Technik besteht darin, die Punkte transparent (zB geom_point(alpha = 0.05)) oder sehr klein (zB geom_point(shape = ".")) zu machen.

qwr
quelle