最近もう少し体系的知識が必要だなと思い、改めていくつか書籍を読んでいます。
今回は書籍からの勉強ノート的な内容として、記事を書いていこうと思います。
やや断片的に情報を並べる形になりますが、ご了承ください。
この記事で取り上げる内容は、以下の書籍を元にしています。
実際に(1-4章、8章を特に)ご一読いただくことをオススメします。
このシリーズの想定ユーザーは以下の方々です。
データ可視化ツールには慣れてきたが、何をどう可視化したらいいか分からない
いまひとつ自分の可視化がイケてない気がする
可視化のプロセスが分からない
このシリーズで使用しているTableau Workbookは以下からダウンロードできます。
(以下では可視化という際にInteractiveなダッシュボードも含有することにします)
(出典明記の際には情報を一部割愛します。詳細情報は最初の書籍リンクからご覧ください)
メンタルモデル:可視化のモチベーション
まず最初にデータ可視化のプロセス(ここではデータ可視化を見る人の脳内で起こるプロセス)について記述します。
データ可視化のプロセスとは、データのメンタルモデルを組み立てるときに人が行う認知的活動であり、またはデータを理解するための起点とする表現とも言える、ようです。
The process of visualizing data (meaning the activity of a person who observes a visual representation of content) is a cognitive activity with which people build mental models of data, or rather an internal representation of the world around them, from which they manage to expand on and understand such data.
引用:Introduction to Information Design, p.10
そもそもメンタルモデルとは何でしょうか。
日本語版Wikipediaのメンタルモデルページから引用します。
メンタルモデルは、外界の現実を仮説的に説明するべく構築された内的な記号または表現であり、認識と意思決定において重要な役割を果たす。
おそらく事象への意味づけのような話でしょうか。
データ可視化によってデータに形を与えることにより、データという形ないものに対して意味づけをすること(データのメンタルモデルを構築)が、データ可視化のプロセスということでしょうか。
ところでデータのメンタルモデル構築自体は、別に文字列や数字の羅列の解釈により可能でもあると思います。
一方で、直感的に「いや図で見たほうが早い」ということを我々は知っているわけですが、データのメンタルモデル構築における「データ可視化の優位性」はどこにあるのでしょう。
答えの一部は前回の記事で解説したように、メモリであったり認知負荷の観点にあると思います。
ただ本書では別の観点で優位性が解説されていますので、こちらも紹介します。
1.Locality(空間的位置)
軸によって与えられる位置的な視覚属性です。例えば棒グラフや線グラフが挙げられます。
数値それ自体よりも、それを空間的位置に変換した方が、それぞれの数値の相対的大小などが理解しやすくなります。
2.Minimizing Labeling(最小限の詳細で事足りる)
例えば数表では、傾向などの情報は詳細を見ないとわかりません。
一方でグラフにより、簡単に傾向や概観は掴めます。ここでは詳細な数値は必ずしも表示されている必要はありませんが、傾向などの「何が起こっているか」は、より簡単に理解することができます。
3.Perceptual Enhancement(視覚を用いることができる)
多量のデータでも、視覚表現を使えばわかりやすいですよね。
例えば数百製品のデータを見たい際、それだけの数値等を見比べることは不可能に近いと思います。視覚的に理解できるグラフの方が優れています。
逆に言えば、せっかく可視化しているのに煩雑な感じになっているデータ可視化は、データ可視化の優位性を十分に活用できていないということかもしれません。
極論、データ可視化は粒度の細かい情報を明示的に見せるための技法ではなく、あくまでも人間の視覚のキャパシティに寄り添う手法とも言えるのかもしれません。
このあたりは作り手が要件を考える/聞く際に、ある程度の線引きをするべきポイントかもしれません。
Visual Mapping
可視化したいデータに対して、最適な視覚情報や表現を選択することを「Visual Mapping」というようです。
Visual Mappingを行う際に、特に以下3点を定義することが必要です。
1.Spatial Substrate(どのような空間に可視化を作成するか)
1次元か2次元で作るのか、何を軸にするか、縦軸と横軸を何にするか、など。
2.Graphical Elements(視覚要素(と暫定的に訳します))
Graphical Elementsは「可視化上で見ることのできる全ての(幾何学的)要素」と定義されています(点、線、面、体積など)。
点グラフで作るのか、線グラフで作るのか、棒グラフなのか、など。Tableauで言えば「マークを何にするか」でしょうか。
3.Graphical Properties(視覚属性)
サイズ、向き、色、質感、形などの属性です。
意味づけという意味ではこちらのほうが主でしょうか。
見たほうが早いと思いますので、以下本書から引用します。
出典:Introduction to Information Design, p.21
この3点を元にしてVisual Mappingは行われ、最適な可視化を作ろうと頑張るわけですね。
ちなみに「定量的データ」を視覚的に表現する際に、どの表現がより正確かについての研究があった様子です。位置情報が定量的データには一番効果的のようです。
(だからと言って棒グラフを全て点グラフにしよう、とはなりませんが。あくまでもご参考まで。)
出典:Introduction to Information Design, p.22
このVisual Mappingの3点を意識することの意義について、以下のように考えます。
可視化を作る際「この可視化は最適な可視化なのか、わかりやすい可視化になっているか」を何度も考えます。それはドラフト段階でもあり、作成過程でもあり、大枠が出来た後かもしれません。
この際に自分が使っているSpatial Substrate、Graphical Elements、Graphical Propertiesについて注意を向けてみると、レビューの方向性が見えてくるのではと思います。
データ可視化をデザインする
該当セクションの原題は「Designing a Visual Application」でした。
データ可視化というと、単なる可視化それ自体を意味しがちですが、その先にいるユーザーおよびユーザーの取るアクションまで目を向けるべきだと思います。
その意味だとVisual Applicationという言い回しは、個人的にはユーザー含めた全体感っぽさを覚えています。
大前提をひとつ。データの可視化には基本的に方程式はありません。
ある程度のノウハウやベストプラクティスはあれど、一つの可視化を使いまわせるケースは多くはありませんし、都度様々な文脈に合わせてカスタマイズする必要があると思っています。
どのような可視化をするか(Visual Mapping3要素についてそれぞれ何を当てはめるか)について、
データの本質や背景
想定ユーザー
どのような情報が示されるべきか
想定アクションや使用法
可視化を作る人の能力や経験
などの要素次第で、最適なアウトプットは変わってきます。
それでは、最適なアウトプットをどのように考えるべきか。
本書では以下の5ステップがガイドとして述べられています。
1.問題定義をする。
想定ユーザーと一緒に問題定義をしましょう。
何がニーズで、どのように解決されるのかを定義しましょう。
これが決まらないと、何を可視化するか決まりません。
つまり何がモチベーションで、何がしたいのかという起点から終点までを定義しましょうということです。ユーザーストーリーを定義するとも言えるかもしれません。
2.データの性質を調べる。
扱うデータは定量的なのか、定性的なのか、順序的なのか、などなど。
データの性質および何を意味するものなのかによって、行われるVisual Mappingは変わってきます。
3.扱うカラム数(データ次元数)を考える。
単純に、用いられるカラム数によって作られる可視化は変わってきます。
以下は自分の意見ですが、特に「どこまで可視化に含めるか」「何を可視化から除外するか」を考えることも重要だと思います。
データは可能な限りまとめて見たくはなりますが、ちゃんと1番で定義した問題に即するべきかなと。Tableauの場合はTooltipもありますので。
4.データ構造を考える。
静的なデータの集まりなのか、経時変化するデータなのか、空間的データなのか、などなど。(英訳に困り、かつ専門的でもあったので、上記程度で留めます)
5.インタラクションの有無と種類を定義する。
作成する可視化は静的かインタラクティブかを考えます。
静的な使用(例えば単純モニタリングやPDF配布)を想定している可視化であれば、基本的な情報はすべて明示的に可視化されているべきかなと。
逆にインタラクティブ性を想定し、探索的データ分析あたりを想定する可視化であれば、いくつかの情報はユーザーの操作により現れるものとして設計できます(Tooltip、ダッシュボードアクションなど)。
データ可視化について(特にダッシュボードの場合)、我々が作るものはApplicationであり、ユーザーに使ってもらえるモノであることが重要だと考えます。
本書でも何度か繰り返しユーザーとのコミュニケーションを強調していましたが、ユーザーと何がニーズで、何を見たくて、何をしたいのかを定義しておくことが重要だと思います。
ちゃんとした問いとストーリーを立てないと、結局何のための可視化か分からなくなってしまうのでは、と思います。
(そして使われなくなるのかなと・・・良く分からないまま使うことも悲しいですが)
とはいっても組織文化、開発案件の文脈、コミュニケーション上の制約などにより、実務上は上記全てを詰めていられないケースもあるかと思いますので、その点は考慮いただければ。
Preattentive Properties
この節の議論をする前に、こちらの記事をお読みいただければ幸いです。
上記の記事では、人間の記憶タイプとPreattentive Properties (Preattentive Attributes)の重要性について書きました。
以下の内容では、もう少しPreattentive Propertiesを細かく見ていきます。
Preattentive Propertiesには基本的に4種類が存在します。
Color
Form
Spatial Position
Movement
Colorについては前回の記事で例示しましたし、位置については文字通りです。
Movementについて、人間は動くものに基本的に敏感です。したがって動きによって意識を簡単に向けさせることができます。
そしてFormですが、以下に例示します。このような形状情報により、簡単に特定のものに意識を向けさせることができます。
何かを差別化させたいときに、以下を意識すると良いかもしれません。
出典:Introduction to Information Design, p.37
ところで(諸説ありますが)どのPreattentive Propertyにせよ「何かを区別させるとき、4つ以上にしないほうが良い」というアドバイスがあります。
例えば区別に4色以上使わない、4つの異なる形状を使わない、など。
実際に短期記憶では4つが限界というような言説も見たことがありますので、効果的の可視化の境界線はそのあたりなのだと思います。
ここで考えたいのが「どのようなデータの時に、どのようなPreattentive Attirbuteを使うべきか」という点です。
例えば前述の図では、定量的データにおける正確さは示されていました。
順序、分類についてはどうでしょうか。本書では以下の表が紹介されています。
出典:Introduction to Information Design, p.40
ひとつ例を見てみましょう。
下記はHue(色相)とIntensity(色の濃さ)をそれぞれQuantitative Data(量的データ)に当てはめた場合です。
左はもはや意味が分かりませんね。Salesという量的データを示すのであれば、Intensityの方を使ったほうが良いことは一目瞭然です。
作った可視化に違和感を覚える際は、上記の表を参照してみると良いかもしれません。
逆に言えば、上記の表のアンチパターンがいわゆる「分かりにくい可視化」なのではないかなと(もしくは意図的または悪意かもしれませんが)。
ここまでの内容は本書の3章途中までの内容であり、4-8章は割愛しました。
内容が気になる方は、ぜひ取り寄せてみてください。
最後に
改めて思うのですが、やはりこの分野の教科書は読んだほうが良いですね。
いくつか読みかけの本もありますので、また適宜書いていきたいなと思います。
ちなみにオススメ本は以下の記事にまとめてありますので、ご参考になれば幸いです。
ご質問等はTwitterまたはLinkedinまでよろしくお願いします。それでは。