ヒートマップは「最も効果の低いタイプのデータ視覚化の1つ」ですか?


22

質問:ヒートマップが最も効果的なのはいつ(どの種類のデータ視覚化問題に対して)ですか?(特に、他のすべての可能な視覚化手法よりも効果的ですか?)

ヒートマップの効果が最も低いのはいつですか?

ヒートマップがデータを視覚化する効果的な方法である可能性が高いかどうか、およびそれらがいつ効果的でない可能性があるかを決定するために使用できる一般的なパターンまたは経験則はありますか?

(主に、2つのカテゴリ変数と1つの連続変数のヒートマップを念頭に置いていますが、他のタイプのヒートマップに関する意見を聞くことにも興味があります。)

コンテキスト:データの視覚化に関するオンラインコースを受講しており、現在、効果がなく使い古されたプロットタイプについて議論しています。彼らはすでにダイナマイトプロットと円グラフについて言及していましたが、それらが効果的でなく、それらに代わるより良い代替物がある理由については、明確で説得力がありました。さらに、ダイナマイトプロットと円グラフに関する特定の意見を裏付ける他のソースを見つけるのは簡単でした。

ただし、このコースでは、「ヒートマップは最も効率の低いタイプのデータ視覚化の1つである」とも述べています。理由の言い換えを以下に示します。しかし、この観点を裏付けるGoogleの他の場所を見つけようとしたとき、円グラフとダイナマイトプロットの有効性について意見を調べるのとは対照的に、私は多くの困難を抱えていました。そのため、コースで与えられるヒートマップの特性評価がどの程度有効であるか、また、それらに対する要因が特定のコンテキストで最も重要でなく、最も重要な場合を知りたいと思います。

指定された理由は次のとおりです。

  1. 色を連続的なスケールにマッピングすることは困難です。

    この規則にはいくつかの例外があります。したがって、これは通常、取引のブレーカーではありませんが、ヒートマップの場合、色の知覚は隣接する色によって変化するため、問題は特に困難です。したがって、ヒートマップは、小さなデータセットであっても、個々の結果を表示するのには適していません。これは以下につながります:

  2. 特定の色に対応する数値を十分な精度で推測することは不可能であるため、テーブル検索方法を使用して特定の質問に回答することは一般に実行不可能です。

  3. 多くの場合、データはトレンドを引き出すような方法でクラスター化されていません。

    このようなクラスタリングがなければ、一般的な全体パターンについて何かを推測することは、しばしば困難または不可能です。

  4. 特にマルチカラーグラデーションを使用する場合、ヒートマップは「すごい要素」を伝えるため、または単にクールに見えるためにのみ使用されることがよくありますが、通常、データを伝達するためのより良い方法があります。

共通のスケールで連続データをプロットすることは常に最良の選択肢です。時間成分がある場合、最も明白な選択はラインプロットです。


15
「ヒートマップ」に対する批判は、(4)の最後の行に帰着します。これらの「より良い通信方法」とは正確には何ですか?(より良い方法がなければ、(1)-(3)はほとんど関係ありません。)文字通りデータを通信することが目的である場合、明らかにより良い方法があります:数字を書き留めます。ただし、視覚化の目的は、データを伝達することではありません。代わりに、解釈をサポートしたり、メッセージを送信したりすることです。 あなたの情報源はどのような解釈を念頭に置いており、それらの解釈を提示するより良い方法は何であると主張していますか?
whuber

4
@whuber補足として、ヒートマップの非常に良い点の1つは、多くの場合、各タイルに未加工のデータ(おそらく適切な丸め)を直接表示することで簡単に補足できることです。スプレッドシートのセルの背景色に条件付き書式を使用することは、非常に効果的であり、非常に一般的な種類の「ヒートマップ」です。このコンテキストでは、どのように改善できるかわかりません。
シルバーフィッシュ

2
私のコメントは批評1にのみ関係します。色(色相)は、物理的に(波長)マッピングされますが、心理的に秩序あるスケールにマッピングされないのは正しいことです。ただし、明るさなどの冗長なディメンションを追加することで、より簡単に解釈できます。光よりも暗くすることもできますが、ライトブルーやダークレッドなどの色を使用します。
デビッドレーン

2
コンテキストに依存します。ここに、ヒートマップから得られる価値のある実用的な情報の素晴らしい例を示します。これについては、他の便利で便利なデータ視覚化タイプは考えられません。
ジェイソンC

5
色は不必要です(そして、明らかに、選択が不十分です-これはRの既定のイメージカラーマップにすぎません)が、ここに数年前に取り組んだマインスイーパのプレイの例を示します。ヒートマップは、問題についての構造を明らかにするという点ですぐに点灯することがわかりました。それは、一度見れば直観的に明確になりますが、プロットを見る前にすぐには(ほとんどの人にとって)明らかではありません。
枢機卿

回答:


15

これまたはそのための「最高の」プロットのようなものはありません。データのプロット方法は、伝えたいメッセージによって異なります。一般的に使用されるプロットには、ユーザーがそれらを読み取れる可能性が高いという利点があります。それでも、それが必ずしも最良の選択であることを意味するわけではありません。

ヒートマップについては、それらに対する想定される引数によって応答を順序付けしました。

広告1)エンコードチャンネルとして色を信頼しない場合は、代わりに明るさを使用し、スケールはダークグレーからライトグレーの「カラー」トーンを網羅します。ほとんどの場合、連続変数をビン化し(5も参照)、色の数を少なくして、ユーザーがデコードしやすくすることができます。ただし、これは必須ではありません。この例をご覧ください。連続変数はビニングされていません。

広告2)確かに、正確な値を検索するための代替として使用すべきではありません。ヒートマップは主に、テーブルを置き換えるためではなく、パターンを説明するために使用する必要があります。

広告3 + 4)これがヒートマップのみにどのように関連するかわかりません。

広告5)ヒートマップは理想的ですが、必ずしも離散変数で使用されるわけではありません。連続変数の場合、ヒートマップは一種の2次元ヒストグラムまたは棒グラフとして使用でき、適切なビニングとエンコードチャネルとしての明るさを使用できます。


2
素晴らしい答え!「広告」の意味がわからない場合を除きます。ラテン?略語?
xan

1
ありがとう!「ad」は「on」または「concerning」を意味し、ラテン語に由来すると思います。
g3o2

「広告」がそのように使用されるのを見たことがありません(cc、@ xan)。あなたの説明から、私はペースを使うかもしれないと思います。
GUNG -復活モニカ

1
また、輝度ベースのヒートマップをガンマ補正することを忘れないでください。
-user253751

3
@gungそうでもない、IMO。それはペースとは異なり、意味を持たない-それは、さらに、補遺を意味するだけで、...他のもの。(メール)ダイアログでは、2つの当事者がそれを使用して、各ポイントへの引数を参照します。しかし、書かれた言語がトリミングされるにつれて、それは不評に陥っているようです。通常の置き換えは、「Ad 1.1」の代わりに「1.1」を使用するだけです。これは少し混乱する可能性があり、私には少し失礼なようですが、まあまあです。
ルアーン

5

ヒートマップが視覚化の中で最も効果的でないと言うことはできません。むしろあなたの要求に依存すると言いたいです。場合によっては、ヒートマップが非常に便利です。国家ごとに(または都市ごとに)国の犯罪について報告する必要があるとします。ここでは、時間依存性を持つことができる巨大なデータセットがあります。

同様に、都市の電力消費に関するレポートを準備する必要があるとしましょう。このような場合、ヒートマップを使用して簡単に視覚化できます。それはより意味があり、面倒ではありません。

簡単に言えば、大量の連続データがあり、回答をすばやく特定できるレポートを作成する場合は、ヒートマップが最適です。


2
エネルギー消費のために、そこには多くの場合、ヒートマップよりも良いプロットではありません:argustech.be/wp-content/uploads/2012/04/heatmap.png週末と作業時間をビューアで右にジャンプします。基本負荷、ピーク、およびそれらがいつ発生するかを確認できます。たとえば、一部の電気機器が常にオンになっているか、起動が早すぎるか遅すぎる場合など、奇妙なパターンを数秒で検出できます。
エリックドゥミニル

4

元の質問の批評1は最大の欠点をカバーしています-ヒートマップを読んでいる人が伝えられる定量的情報を解読することは難しいということです。基礎となる量がチャート上の距離に直接関連するxy散布図またはドットプロットを考えてみましょう-解釈が非常に簡単です。

一方、ヒートマップでは、チャートを読んでいる人は自分の満足度で10%の「赤」または「暗い」を解釈することができます。それに加えて、色と色合いを区別するための能力の違いという問題があります。これらは真の欠点ですが、普遍的に致命的ではありません。

対照的に、3番目の批評は、ヒートマップが特に有用な場合を意図せずに特定しているようです-データが2D平面にクラスター化されており、3次元の同様の値が特定の色合いまたは色のパッチとして表示される場合。そのため、ヒートマップはいくつかの点では効果的ではありませんが、他の人にとっては有用です。また、ゴルファーがピッチングウェッジなどを運んでいるのと同じように、運転やパッティングに役立たない、または大工はバッグに入れないでください。ハンマーは木を切るのには向いていないので無視してください。

一般的に、データの視覚化は、複数の種類の視覚化を試行し、最適な設定を見つけるための実験を含む、データの重要な機能を引き出すいくつかの視覚化を試行するのに時間がかかる反復アクティビティと見なされる必要があります特定の選択肢。また、結果が1つの視覚化であると想定するべきではありません。データの複数の重要な特徴を強調するために、データの視覚化が必要になる場合があります。これに関連して、特定のデータセットの特定の機能については、ヒートマップが最も効果的である場合があり、説明されているクラスターの通信はそれらの時間の1つである場合があります。全体として、単一の視覚化ではすべてを実行できない場合が頻繁にあり、複数の視覚化が必要になります。


3

他の人が前述したように、ヒートマップは常に効果がないと言うのは本当に不適切です。実際、多くの場合、非常に効果的です。

たとえば、4Dデータを視覚化する場合、多くのプロッティングソフトウェアで最初の3次元を行うのは簡単です。ただし、4Dの概念全体を概念化することはまったく困難です。「4番目」の方向/寸法とは何ですか?

座標軸に最初の3次元をプロットできるため、ヒートマップが効果的である可能性があります。また、プロットされたプレーン(またはライン、しかしそれは可能性が低い)にヒートマップを積み重ねることで4番目を視覚化できます。

要するに、コンテキストが必要です。視覚化で何を探していますか?また、仲間のセルフティーチャーとして、これらのオンラインコースは非常に些細で役に立たない傾向があることを伝えることができます。特定のトピックについての情報やヘルプを探している場合にのみ、それらを使用する方がはるかに優れています。

とにかく幸運を祈ります。


3

本来、ヒートマップは、2つの連続した独立変数(または、2次元のベクトル空間からの1つの独立変数)と1つの連続した従属変数でデータを表示します。そのタイプのデータの場合、ヒートマップは間違いなく最も効果的なタイプのデータ視覚化の1つです。はい、それは問題がありますが、それは避けられません:あなたは本当に2つの次元しか操作できず、3次元空間を構造を維持する方法でそれにマッピングすることはできないので、1次元を色にマッピングするようなハックが必要です等高線の描画など。

R2X×Y|X||Y|、カテゴリ変数では有限です。つまり、2つのカテゴリ変数のデカルト積は、単一のカテゴリ変数と見なすことができます。また、その観点から、ヒートマップの問題がない他のプロットを使用することもできます。

次の2つのカテゴリ変数の上にヒートマップが有用であると思われる状況で自分自身を見つける場合は、これらはおそらくされていることを示す指標だではない、本当にカテゴリ変数ではなく、量子化連続変数が。


4
この答えは興味深いものですが、カテゴリ変数を使用してヒートマップを使用するという概念に簡潔さを与えると思います。たとえば、カウント(またはその他の関連する並べ替え変数)でカテゴリレベルをランク付けし、ヒートマップを使用して、ジョイントのカテゴリレベルで変化するジョイント分布またはその他の量を視覚化できます。これは、コピュラ(およびその一般化された概念)に結び付けることができます。このような視覚化は、うまく行えば、データの実際の構造を明らかにすることができます。そうでなければ、検出は非常に困難です。(...)
枢機

(...)そして、そのようなアプローチは、カテゴリレベルをユークリッド空間に埋め込むという(直接の)概念とは無関係です。
枢機

遺伝子発現/マイクロアレイデータにヒートマップを使用する慣行についてコメントがあるかどうか疑問に思っていました-これらは、カテゴリー変数が実際にはできない2つのカテゴリー変数と1つの連続変数にヒートマップを使用する場合のように思えます量子化された連続変数として解釈されます。または、一般的なカテゴリ変数の相関行列のヒートマップを推測します。
Chill2Macht

3

ヒートマップは、時系列の観点から複数の変数の単純なビューを提供するのに優れています。データは、時間の経過に伴う絶対的な変化、またはZスコアまたは他の手段を使用して標準化でき、異なる測定間隔またはサブグループの相対的な変化を伴う変数を検査できます。相関または逆を見つけることができる非常に視覚的に目立つビューを提供し、多数のグラフを置き換えます。また、前処理で使用して、次元削減の可能性を評価することもできます。つまり、ファクタリングまたはPCAです。

このアプローチを使用して相関を見つけると、不良な介在変数およびその他の要因が隠されて通過する可能性があります。同じ隠された側面は、折れ線グラフでも発生しますが、多数の変数があるため、私の経験では、ヒートマップはユーザーが介在する側面や他の隠された要因を考慮しないほど多くの情報をもたらします。

これは、データを作成する分野で20年の進歩的なエコノミストの観点からのデータサイエンティストからのものであり、そのようなデータで一般大衆を教育することを目的としています。


1

ヒートマップは、散布図で表示するにはデータポイントが多すぎる場合に散布図よりも有利です。これは、半透明のデータポイントを使用する散布図で軽減できますが、特定のしきい値を超えると、データを要約する方が適切になります。

、このブログ投稿与えられていると解釈することは困難であること散布の魅力的な例を。

散布図は、特定のしきい値(「どこでもポイント」のしきい値)までの密度のみを視覚的に表すことができます...

点ではなく密度をプロット

解決策は、ポイント自体ではなく、ビン化されたポイント密度をプロットすることです。この方法は、ヒストグラムとして1つの次元ですでにわかっています。

二次元では、それを行うための複数の方法があります。ビンの形状は、正方形や六角形など、平面を均一に並べる任意の方法から取得できます。各タイルについて、タイル内のデータポイントの数がカウントされます。次に、ポイントの数に応じてタイルに色が割り当てられます。

2dビンカウントのヒートマップに関するggplot2ドキュメントの同様のステートメント:

これは、geom_point()オーバープロットが存在する場合の便利な代替手段です。

のドキュメントgeom_point()

オーバープロット

散布図の最大の潜在的な問題はオーバープロットです。数個以上のポイントがある場合は、ポイントが互いの上にプロットされる場合があります。これにより、プロットの外観が大きく歪む可能性があります。この問題に対する解決策はありませんが、役立つテクニックがいくつかあります。あなたは、との情報を追加することができgeom_smooth()geom_quantile()またはgeom_density_2d()。一意のx値がほとんどないgeom_boxplot()場合にも役立ちます。

また、あなたが使用して、それぞれの場所でのポイントの数を要約し、何らかの方法でそれを表示することができgeom_count()geom_hex()またはgeom_density2d()

もう1つの方法は、ポイントを透明にする(例geom_point(alpha = 0.05))または非常に小さくする(例geom_point(shape = "."))ことです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.