rohaniのブログ

ゆるっと自然言語処理奴。ときどき工作系バイト。

Information visualizationの講義を受けたので用語をまとめる

多変量データの関係性(相関)の可視化

  • 多重座標系を用いたプロット
    • seaborn.pairplotにあたる
  • Gridded Arrangement
    • グリッド型データの配置を変換して描画領域をまとめる
  • 平行座標を用いたプロット
    • XY平面のY軸にあたる部分が特徴の数だけある。データの類似点を見つけられるらしいけどイマイチわからなかった。。。
    • MULTIDIMENSIONAL DETECTIVE, Alfred Inselberg, IEEE Symposium on Information Visualization, 1997 On Some Generalizations of Parallel Coordinate Plots, Rida E. A. Moustafa and Edward J. Wegman
  • Mosaic Plot
    • 矩形領域でデータを表す。面積に相関が現れる。
    • Exploring categorical data: interactive mosaic plots, Heike Hofmann
  • Radial Visualization
    • 各変数に対するアンカーポイントを円周上に等間隔に配置し、変数の値の大きさによって対応するアンカーポイントに引きつけられる様なバネ力が働くものとする。あるポイントに近いと思っても、周辺変数の引力の影響かもしれない...といった掴み所の無さが頭の悪い私には難しかった。
    • DNA Visual And Analytic Data Mining, P. Hoffman, G. Grinstein, K. Marx, I. Grosse, and E. Stanley
  • Glyph
    • 多次元の離散値データを、図的な属性で表現
    • 色とか形とか向きとか、面白いものだと人の表情とかで表現されていた。
    • H Chernoff: "The use of faces to represent points in k-dimensional space graphically", Journal of the American Statistical Association, Vol.68, No.342, pp. 361-368 1973.

関係の可視化

  • Cone Tree
    • 木構造を三次元表示で見やすく?した
    • Cone Trees: Animated 3D visualizations of hierarchical information", G. G. Robertson, J. D. Mackinlay, and S. K. Card, ACM Conference on Human Factors in Computing Systems (CHI'91).
  • Hyperbolic Browser
    • 木構造を円形表示で見やすくした
    • A focus+context technique based on hyperbolic geometry for visualizing large hierarchies", John Lamping, Ramana Rao, and Peter Pirolli, ACM Conference on Human Factors in Computing Systems (CHI'95).
  • Tree Map
    • 木構造を二次元平面に表示して見やすく?した
    • "Treemaps: A space-filling approach to the visualization of hierarchical information structures", Brian Johnson and Ben Shneiderman, Proc. of the 2nd International IEEE Visualization Conference (1991).
  • Daisy Chart
    • ネットワーク構造を円形状に並べたノード&ヒストグラムとエッジによる接続関係で表す
  • Net Map
    • ネットワーク構造を円形状に並べたノードとエッジの夜接続関係で表す
  • Sem Net
    • 知識情報データベースをいわゆるネットワーク構造で表す

言語と変化の可視化

  • See Soft
    • プログラムの全体を把握するための可視化
    • 色で変更履歴を表現
    • Reference: J. L. Steffen S. G. Eick and E. E. Sumner Jr : "Seesoft - a tool for visualizing line-oriented software statistics", IEEE Trans. on Software Engineering, Vol 18, No. 11, pp. 957--968, 1992.
  • Web Som
    • 類似するデータを近くに配置。多次元データを二次元のヒートマップで見せる。
    • Reference: S. Kaski, T. Honkela, K. Lagus, and T. Kohonen : "Websom - self-organizing maps of document collections", Neurocomputing, volume 21, pp.101-117, 1998.
  • Document Space
  • Galaxy of news
    • 関連する単語を近くに配置?
    • Reference: E.Rennison, "Galaxy of news: An approach to visualizing and understanding expansive news landscapees", UIST'94, pp.3-12.
  • 大量タグデータの可視化
    • 描くタグの特徴を色や大きさで表したり、グラフを個別につけるなどして表現
  • 時系列データの可視化
    • 複数の時系列データを同時に可視化する方法は実はいろいろある。積み重ねたり差分を見せたり
  • Table Lens
    • 複数の棒グラフを表示

対話的に表示を操作する時の留意点

  • Filtering:変数の表示範囲を手動で選択する
  • Selective aggregation(集約):重要度の低いデータをまとめる
  • Micro-macro reading:詳細と大域的な構造を連続的に同時表示する
  • Highlighting:Micro-macro readingの特殊例
  • Distortion:対象物のサイズ,遠近感,空間サイズの変化によって変形

二次元グラフの分類

  • Polyline Drawing
  • Straight-line Drawing
  • Orthogonal Drawing
  • Grid Drawing
  • Planar Drawing
  • Upward (or Downward) Drawing

二次元グラフ描画の際の留意点

美しさを保つために以下を意識する

  • 交差数 : 辺の交差の総数を最小化
  • 面積 : 描画領域の最小化
  • 辺長の総和 : 全ての辺の長さの和の最小化
  • 辺の最大長 : 最長となる辺の長さの最小化
  • 辺長の均一性 : 辺長のばらつき(分散)の最小化
  • 屈曲の総数 : 辺の曲がり角数の和の最小化
  • 屈曲の最大角 : 辺の最大曲がり角の最小化
  • 屈曲角の均一性 : 曲がり角数のばらつき(分散)の最小化
  • 屈曲の解像度 : 頂点を共有する辺間の成す最小開き角の最大化
  • アスペクト比 : 描画領域の縦横比の最小化
  • 対称性 : 対称性を有する描画

情報を表すために以下を行う

  • 求心性 : 特定の頂点を描画領域の中心付近に近づける
  • 外部化 : 特定の頂点を描画領域の境界より外に配置する
  • クラスタ化 : 特定の頂点の部分集合を近接位置に配置する
  • 左右(上下)の順序 : 特定の経路を左から右へ水平に(または,上から下へ垂直に)整列させる
  • 形状 : 特定の部分集合を事前に与えた形状を用いて描く

その他、計算効率よく描画することなどに気をつける。

TensorFlow Graph Visualizer が秀逸らしい



Information Visualizationに際する留意点

与えられた時間内でシステムを最も効果的に完成させるための、システム構築の留意点

  • 利用できる素材が存在するか?
    • 表示に利用できる画像データ
    • 利用できるサンプルプログラム(Processing の事例集やライブラリ集)
  • 対話的な操作(GUI)を、どこまで実装するか?
    • 本質的な操作のみに、機能を絞り込むか?
    • 重要度の低い操作は簡略な実装とするか?
    • 実装する時間的な余裕がない場合は、そのアイデアのみを分かりやすく伝えられるか?

データの前処理

  • 各データのベクトル長を1に統一したり、各次元での値の統計量を統一する(マハラノビス距離)正規化が必要か?
  • 事前にクラス分けされた、ラベルデータが存在するか?
  • 文字列のデータを数値化する必要があるか?
  • 外れ値を判別できる閾値を設定する必要があるか?
  • リンク構造等の関係性を扱うデータ構造をどのように設計するか?

色の利活用

  • 色の微小な違いは見分ける事が困難なので、できるだけ異なる色彩を特性の識別に利用する
    • 一度に使用できる色の数には一定の限度がある
    • 彩度(Saturation)の低い色は見分け辛いので、できるだけ彩度の高い純色を使用する
    • 表示面積によって識別の限界が異なる
    • 利用できる色数が足りない場合は、ハッチング模様やテクスチャの導入を検討する
    • 青に近い色は、一般的に見分け難い
  • 認知的な意味を考慮して使用色を決定する
    • 赤→熱い、警告、注意、活性等、青→冷たい、静寂等

Focus+Context(情報可視化のマントラ(お題目))

  • Context:データの全貌が把握できる様な表示法になっているか?
  • Focus:必要な、注目したい部分に関しては、できるだけ詳細にデータを調べる事ができるか?
  • 上記の Context の表示を保持した状態で、Focus の表示を重畳できるか?

スケーラビリティー(対象となるデータの個体数や次元数が変化しても常に一定の品質を保てる表示方法が望まれる)

  • データの個体数や次元数の増大に伴い、表示面積や表示の複雑度を自動調整する
  • クラスタリング等を用いて、階層的な表示方法も検討する
  • データサイズの増大に対して、常に一定の応答時間を保証できる表示を心掛ける

表示手法の選定

  • 既存手法を対象データに最も適するように独自に組み合せ拡張して開発するのが効率的
    • ネットワークグラフ+棒グラフ
    • アイコンベース(Glyph)と分布図(Radvis等)等々...
  • 3次元表示は実装や対話的操作が大変な反面、相対的に効果は低い場合が多い
  • データの性質、特徴分析の目的に沿った表示法を選ぶ
  • 一般画像の利用も検討する(地図、アイコン等)
  • 視覚認知的な負荷を考慮する
    • 不要な複雑さは排除する
    • Simple is the best!
    • 「見易さ」を伴わない「美しさ」は控える
    • 線の太さ、テキスト文字の大きさ等の種類数は控えめに
    • 意味と表示方法の一貫性が重要
  • 動きの効果を検討する
    • 予測不能な動きは、反って害悪となる
    • 連続的な動き(遷移)を用いて、注意の焦点を見失わない様にする
    • 対話操作の動きと画面の動きの一致、一貫性を保つ
    • 動きそのものにも情報を与えられる(明滅、振動等)
    • 呈示情報の豊富さと、視覚的な複雑度のトレードオフを常に意識する