Introduction
良い可視化とは?
Definition 1 : 可視化
データの構造・傾向・異常などを人が視覚的に理解できる形に変換する工程のことを可視化と呼ぶ.
良いデータ可視化は,統計分析と可視化デザインの2つの能力に基づいています.
- 統計分析能力がない可視化デザインは,単なる様式美の提供にとどまり
- 可視化デザイン能力が伴わない統計分析は単なる分析,データ探索にとなります
両方のスキルを適切に組み合わせることによって,データ探索とstory-tellingが結びついて,データの理解を目的とする科学的なコミュニケーションとなります.
▶ Dataとはなにか?
Dataとは,スプレッドシートやカンマ区切りのレコードの集合といったコンピュター上での存在形式を指すのではなく,一義的には「世界の断面を記録したもの」です.
▶ Rules vs Suggestions
bar chartなりscatter plotなり,読み手がデータについて正確な解釈をすることができる可視化でなければならない,というのはデータ可視化のルールの1つです. 一方,axisのスケールなどは科学分野ではScientific Notation(例: \(-1.602\times 10^{-19}\))を用いるべきなど,コミュニケーションの場面に応じて推奨が変わってきます.
「余分な情報は削ぎ落とせ」と上司からコメントをもらったとしても,なにが余分な情報なのかは場面によって異なります.そのため,なにがRulesでなにがSuggestionなのかを区別する習慣が重要になります.
可視化パッケージとstory-tellingの違い
データを用いたstory-tellingという活動の中の一つの工程として「データの構造やパターンを見やすくする」可視化が存在します.その可視化工程の便利ツールとしてmatplotlib
, plotly
, ggplot
といった可視化パッケージが存在します. 可視化パッケージは可視化手法に関する文法(grammer)がユーザーフレンドリーな形で実装で実装されており,それらを使いこなすことで自分が伝えたい内容を上手く可視化オブジェクト(scatter plot
, line plot
, heatmap
, etc.,)として出力することができます.
一方,可視化パッケージを利用するにあたって,以下のポイントを常に忘れないようにしましょう
- 可視化パッケージを使って出力されたものは,あくまでユーザーが指定したものに対応したオブジェクトであって,それ自体がデータを用いたstory-tellingになるわけではない
- 可視化パッケージを使いこなしたとしても,その可視化オブジェクトスペース(表現幅)は可視化パッケージごとに規程されてしまうため,ユーザーが描きたい可視化オブジェクトは必ずしも描けるとは限らない
▶ 可視化パッケージオブジェクト表現空間の制限
たとえば seaborn
でヒストグラムを描きたいと思ったとき,指定できるオプションや見た目は,seaborn
が提供している機能に限定されます. ユーザー操作に応じて可視化を変化させたい(インタラクティブ)場合,seaborn
だけでは不可能で,plotly
など別パッケージの利用などを検討する必要が有ります.