読書ノート

百万件規模のデータの可視化 / Graphics of Large Datasets (Unwin, Theus & Hofmann)

【2007年10月、東京の本屋で実物を見た。 これよりも優先するものがあるかと少し迷ったのだが、 結局これを注文して読むことにした。】

今では百万件(例として1件20バイトとすれば20メガバイト)くらいの ディジタルデータは珍しくない。 その情報を使おうとすれば、なんとかしてそれに目を通さなければならない。 もちろん、百万個の個体をそれぞれ認識するのは無理だ。 多くの場合は、特徴の似た個体をまとめて群れとして認識することになる。 群れの認識を機械にまかせる方法も開発されているが、 それだけではすまないことが多い。 どんな属性の組み合わせをもつ個体がどのくらいあるのかを、 人間と機械の能力を組み合わせてなるべく詳しく見ることによって、 よりよいとらえかたができる可能性が出てくるのだ。 (なお、群れからはずれた個体が見つかれば、 個体として認識しようとすることもある。 あるいは、初めから特定の個体に関心があって、 それが多数の集団の中でどのように位置づけられるかを見たいこともある。)

本書の前半は編者たちによる基本的な方法の解説であり、 後半は他の執筆者もまじえて応用事例が紹介される。 ここではこの区分にこだわらずにわたしが重要と思った方法を紹介する。 このほかにも、とくに前半部分には、データを扱う人に参考になることが いろいろ述べられているので、一読をお勧めしたい。

各変量(個体の属性)が連続量(実数)の値をとるような 多変量データの可視化の基本的方法は、 CLEVELAND (1985)、 ROBBINS (2005)も言うとおり、 2変量の場合には散布図(scatterplot)、 3変量以上の場合もそれを総あたりで作る散布図方陣(scatterplot matrix)である。 しかし、個体数が多くなってくると、似た値をもつ個体の位置が画面上で 区別がつかず、画面が(白地に黒で表示するとすれば)ほとんど真っ黒になってしまう。 この状況を打開する方法としては、散布図の平面を方眼に区切り、 それぞれのます目に含まれた個体の個数を濃淡として表示するのが有効である。

もうひとつ、ROBBINS (2005)の本にも紹介されている 平行座標プロット(parallel coordinate plot)もある。 多変量データの個体を平行する軸上の点どうしを結んだ線分で表わすものだが、 これは散布図よりも簡単に真っ黒になってしまうので、 線に白と黒の中間の透明性をもたせるなどの方法で、 結果として線分の密度が濃淡としてとらえられるようにするとよい。

対話型の処理は有効である。 たとえば、多変量空間のうちのある2次元断面上で集まって見える点を選択し、 それが他の断面ではどのように分布しているかを見たい。 2次元断面の切りかたは、 与えられた変量の軸の組み合わせによるのが基本ではあるが、 さらに軸を回転する(変量の組み合わせを新しい変量とする)こともできるとよい。 しかし、データ量がふえると作図には時間がかかり、 あまり時間がかかると対話型処理が成り立たない。 そこで、新しいデータが到着する場合も、また軸の回転やズームをしたい場合も、 常に画面を最新に保つのをあきらめて、 更新を指示されたときにだけ更新するようにしたほうがよいこともある。 また、作図手順も、結局隠れてしまう部分は初めから表示対象からはずすなど、 実行時間を考慮してくふうする。

各変量がカテゴリーである(比較的少数の有限個の分類のどれであるかを示す) 多変量データの場合は、 もし属性の組み合わせごとに個数を数えて示せばよいのであれば、 表現は棒グラフや帯グラフのたぐいででき、 個体数が多くなっても作図上の問題点は少ない。 (けた違いに多い個数と少ない個数を同時にどう示すかという問題はある。) しかし、変量(個体の属性)の個数がふえると、 変量の組み合わせごとの個数の割合を系統的に見るための表示のくふうが必要になる。 本書では、長方形の画面を、縦横交互に細分していく「mosaic plot」という方法と それを使う場合の濃淡や色などの使いかたのくふうが紹介されている。

点と点が線分でつながることを基本としてできた構造を、 数学用語でグラフという。 ネットワークと呼ばれるものの構造もそれと同類であることが多い。 これを可視化する(ここでの意味のグラフにする)ことも重要な課題だ。 WILLSによる第8章では、 電話会社の通信記録(どの電話番号からどの電話番号に向けて通信があったか)から 不正利用(料金踏みたおし)の疑いのあるものを探索するという事例が扱われている。 外国の番号は国単位でまとめて扱われている。 この大量の点・線からなる構造を、 統計処理によって、 「点」のグループどうしがいろいろな太さの「線」でつながっているという 大局的な構造にまとめ、 そのうち解析者が注目した部分について詳しい構成を図示する、という手順で 解析を進めている。

例で使われているソフトウェアは、 フリーのRや商品のSPSSなど汎用のデータ解析ソフトウェアもあるが、 著者たち自身がとくに大量データ向けに開発しているものもある。 編者たちのグループではソフトウェアに MANETなど画家の名前をつけることが多いようだ。 公開されているものもあり、おもしろそうではあるが、 こちらの時間も限られているので、 まずRなどの汎用ソフトウェアでじゅうぶんか試してみて、 それに不満の場合に見ることにしようと思う。

データをどのような形で持つかも課題である。 WILLS (第8章)は、 グラフ(ネットワーク)構造の表現にはXMLが有効であることを認めながらも、 大量のデータ全体をXMLの文法に従った形で持つのは データ処理効率の面からもデータ保守・改訂の面からも不便であることを指摘し、 データ構造をXMLで表現したうえで大量データの本体は外部ファイルとして持つ GraphXMLという方式を勧めている。 また、図形のほうのグラフについても、同様な考えから、 ある程度抽象化された構造をXMLで表現する VizMLという方式を勧めている。 (いずれも、まだXMLがよくわかっていないわたしには評価できないが、 もっともな主張だろうと思う。)

余談

「ホッケースティック論争」[別記事]に登場した 統計学者Ed WEGMANも執筆者のひとりである。 ただし、平行座標プロットの技術的くふうに関する第7章の第2著者 (監修者的役割と推測される)にすぎないので、本文からは個性はよくわからない。 著者紹介を見ると、研究費提供者として USAの陸・海・空軍およびDARPAの4つが列挙されている。 軍と結びつきが強いが、それを秘密にする必要はない立場であるわけだ。 他の著者が参考文献にあげている WEGMANの過去の著作の題名から見ると、 大量データの可視化・「データマイニング」の技術に 早くから貢献してきた人らしい。

文献


2007-12-02; 更新 2009-01-13; 2011-03-24
増田 耕一 (MASUDA Kooiti)
本務(2011年3月現在): 海洋研究開発機構 地球環境フロンティア研究センター
[読書ノート(教材用)の目次へ] [読書ノート全体目次へ]