Skip to main content
1	
  

「この	
  Visualiza)on	
  ツールがすごい2014」	
  
〜データ世界を彩る美しきツール6選〜	
  
March 2nd, 2014 データ可視化勉強会
Presented	
  by	
  
	
  
	
  

Takahiro	
  Inoue	
  –	
  Chief	
  Data	
  Scien:st	
  
2	
  

Agenda	
1. 
2. 
3. 
4. 
5. 
6. 
7. 
8. 

Introduc:on	
  
Learning	
  Visualiza:on	
  
表計算部門:aabel3	
  
Takahiro	
   noue	
  –	
  Chief	
  Data	
  
Dashboard	
  部門:Metric	
  IInsights	
   Scien:st	
  
BI	
  部門:tableau	
  
統計ソフト部門:ggplot2	
  
抽象化部門:Neo4j(Graph	
  Database)	
  
プログラミング部門:d3.js(省略)	
  
Presented	
  by	
  
	
  
	
  
3	
  

1.	
  Introduc)on	
  
4	
  

Introduc)on	
•  Takahiro	
  Inoue	
  (TwiPer:	
  @doryokujin	
  )	
  
•  Majored	
  in	
  Mathema:cs	
  in	
  Keio	
  University	
  
•  Chief	
  Data	
  Scien:st	
  and	
  Solu:on	
  Architect	
  @	
  Treasure-­‐Data	
  
Presented	
  by	
  
	
  
	
  

•  Leader	
  of	
  Japanese	
  MongoDB	
  Community,	
  MData	
  Scien:st	
  
Takahiro	
  Inoue	
  –	
  Chief	
   ongo	
  Masters	
  
•  doryokujin’s	
  blog	
  hPp://doryokujin.hatenablog.jp/	
  
5	
  

Treasure	
  Data	
  Introduc)on	
Data Collection

Data Storage

Data Analysis

Company & Product Over View

Web logs

Treasure Agent

App logs

Streaming Log !
Collector (JSON)!

Sensor

Cloud DB, Web App,
& Command Line

BI Connectivity

Flexible, Scalable,
Columnar Storage!
Presented	
  by	
  

REST API, SQL, Pig,
JDBC / ODBC!

Tableau, Metric Insights,
BI Tools
Dr.Sum, Excel, etc.

New!!	
Treasure Viewer

	
  
	
  

Treasure Batch Query
Takahiro	
  Inoue	
  –	
  Chief	
  Data	
  Scien:st	
  
&
New!!	
Treasure Query Accelerator

RDBMS
Bulk Import
CRM

Parallel Upload from
CSV, MySQL, etc.!

ERP

Time to Value
Value	
  Proposi)on	
  1	

New!!	
Management Console
No Command Line,!
Every Operation is Here! !

Economy & Flexibility
Value	
  Proposi)on	
  2	

Result Push
REST API, SQL,
Pig!

Dashboards
Custom App, Local DB,
FTP Server, etc.

Simple & Supported
Value	
  Proposi)on	
  3
6	
  

M	
  x	
  N	
  通りのデータ収集・活用方法

7	
  

Fluentd:	
  M	
  +	
  N	
  通りに経路を集約して簡素化	
Access logs
Apache

Alerting
Nagios

App logs
Frontend
Backend

Analysis
MongoDB
MySQL
Hadoop

System logs
syslogd
Databases

filter / buffer / routing

Archiving
Amazon S3
8	
  

Data Analysis
REST	
  API	
  

Heavy	
  LiKing	
  SQL	
  (Hive):	
  
-­‐  Hive’s	
  Built-­‐in	
  UDFs	
  
-­‐  TD	
  Added	
  Func:ons:	
  
-­‐  Time	
  Func:ons	
  
-­‐  First,	
  Last,	
  Rank	
  
-­‐  Sessionize	
  

Scheduled	
  Jobs	
  
-­‐  SQL,	
  Pig	
  Scripts	
  
-­‐  Data	
  Pushes	
  
JDBC	
  Connec)vity:	
  
-­‐  Custom	
  Java	
  Apps	
  
-­‐  Standards-­‐based	
  
-­‐  BI	
  Tool	
  Integra:on	
  
Tableau	
  ODBC	
  connector	
  
-­‐  Leverages	
  Impala	
  

Interac)ve	
  SQL	
  
Treasure	
  Query	
  Accelerator	
  	
  
(Impala)	
  
Scripted	
  Processing	
  (Pig):	
  
-­‐  DataFu	
  (LinkedIn)	
  
-­‐  Piggybank	
  (Apache)	
  

Push	
  Query	
  Results:	
  
-­‐  MySQL,	
  PostgreSQL	
  
-­‐  Google	
  Spreadsheet	
  
-­‐  Web,	
  FTP,	
  S3	
  
-­‐  Lecronic,	
  Indicee	
  
-­‐  Treasure	
  Data	
  Table	
  
9	
  

2.	
  Learning	
  Visualiza)on	
  
10	
  

Visualiza)on	
  Types(入力データに基づく分類)	
ScaUer	
  Plot	
  
N-­‐Dimensional	
  Graph	
  
Map	
  Plot	
  

Aggregated	
  
Data	
  
Cross	
  Tables	
  

Raw	
  Data	
  

2-­‐Dimensional	
  Graph	
  
Math	
  Graph	
  

Analyzed	
  
Data	
  

Sta)s)cal	
  Graph	
  
11	
  

Raw	
  Data	
  Explana)on	
ScaUer	
  Plot(散布図)	
  

(for	
  Rawdata)	
  
	
  
データレコードの任意の数値変数2項目
をプロットし,関係を発見する。	
	

Map	
  Plot	
  

(for	
  Rawdata)	
  
	
  

位置情報(緯度,経度)を持つデータポ
イントを地図上にマッピングし,データの
密集度などを参考にする。	

Math	
  Graph	
  
(for	
  Rawdata)	
  

	
  
データの「関係」を数学的グラフによって
表現。
12	
  

Processed	
  Data	
  Explana)on	
2-­‐Dimensional	
  Graph	
  

(for	
  aggregated	
  data)	
  
	
  
主に	
  X-­‐軸,Y-­‐軸 (,Y2-­‐軸)を用いて表現さ
れる,バーグラフや円グラフなどの平面
チャート。	

N-­‐Dimensional	
  Graph	
  
(for	
  cross	
  tables)	
  
	
  

X-­‐軸,Y-­‐軸,Z-­‐軸 を用いて表現されるグ
ラフ。Z-­‐軸は半径や色,奥行き,凡例な
どによって表現される。	

Sta)s)cal	
  Graph	
  
(for	
  analyzed	
  data)	
  

	
  
統計分析によって導いた分布やモデル,
パターンなどを図示する。
13	
  

Graphの種類とツールの対応表	
表計算	
ScaUer	
  Plot	
  

2-­‐Dimensional	
  Graph	
   N-­‐Dimensional	
  Graph	
  

Sta)s)cal	
  Graph	
  

ScaUer	
  Plot	
  

2-­‐Dimensional	
  Graph	
   N-­‐Dimensional	
  Graph	
  

Sta)s)cal	
  Graph	
  

ScaUer	
  Plot	
  

2-­‐Dimensional	
  Graph	
  

統計ソフト	

Dashboard	

BI	

プログラミングラ
イブラリ	

Map	
  Plot	
  

ScaUer	
  Plot	
  

抽象化	
Math	
  Graph	
  

2-­‐Dimensional	
  Graph	
   N-­‐Dimensional	
  Graph	
  

Map	
  Plot	
  

2-­‐Dimensional	
  Graph	
   N-­‐Dimensional	
  Graph	
  
14	
  

Processed	
  Data	
  Explana)on	
部門	

ツール名	

OS	

描画手続き	

表計算	

aabel3	

Mac	

Chart	
  Library	

統計ソフト	

ggplot2	
  (R	
  Library)	
 Windows,	
  Mac,	
  Linux	

The	
  Grammar	
  of	
  Graphics	
  
+	
  Layer	
  of	
  Graphics	

Dashboard	

Metric	
  Insights	

Web	
  UI	

Widget	
  Tutorial	
  /	
  
Chart	
  Library	
  &	
  Import	
  JS	

BI	

Tableau	

Windows	

VizQL	

プログラミン
D3.js	
  	
  (JavaScript)	
 -­‐	
グライブラリ	
抽象化	

Neo4j	
  (Java:	
  Graph	
  
-­‐	
Database)	

Data	
  Driven	
  Documents	
Property	
  Graph
15	
  

3.	
  表計算部門	
  
•  aabel3	
  
16	
  

表計算部門:aabel3	
•  数々の統計手法、探究的データ解析手法を提供。	

•  複数の多変量データを容易にデータ整理可能。	
•  リアルタイムの双方向インタラクティブデータ作用
を可能にし、多変量データ解析を容易にするユ
ニークなパイプラインデザインを装備。	
•  インタラクティブな可視化機能、数多くのグラフタイ
プ、240	
  以上のデータプレゼンテーションスタイル
を用意。	

•  数値データ管理ツール、フォーミュラエディタなど
のユーティリティを装備したネイティブワークシート。	

•  さまざまなデータインポート、グラフィックファイル
エクスポート、データマニピュレータ、フレキシブル
なカスタマイズツール、Unicode	
  対応、出版品質の
グラフィックなど研究、調査に必要なツールを装備。
17	
  

描画手続き:Chart	
  Library
18	
  

描画手続き:Chart	
  Library	

•  多様性:あらゆるVisualiza:on・統計メソッドを装備。	
  
•  容易性:チュートリアルに従ってあらゆる図が描ける。	
  
•  ワークシート:エクセルと同じようにワークシートによるデータ編集,抽出が可能。
19	
  

応用事例:Map	
  Plot
20	
  

応用事例:回帰分析	
  /	
  生存時間分析
21	
  

4.	
  Dashboard	
  部門	
  
•  Metric	
  Insights	
  
22	
  

Dashboard部門:Metric	
  Insights
23	
  

Dashboard部門:Metric	
  Insights	
•  毎日更新される	
  KPI	
  を素早く参照可能。	
•  異常検出機能,およびアラート機能。
チャートへのアノテーション機能。	
•  Smart	
  Phone	
  や Tablet	
  からも綺麗に描
画できる。	
•  D3.js,	
  Google	
  Chart,	
  Higcharts	
  などのJSライブ
ラリをインポート可能→インタラクティブな図	
•  (任意の時間インターバルでの)データ自動
更新機能。	
•  素早く編集可能な互いに独立したパネル
(ウィジェット)を持っている。	
  
•  様々なデータベース・ファイル形式と接続でき
るコネクタを装備。	
  
24	
  

描画手続き:Widget	
  Tutorial	
1. 集計インターバ
ルを設定
2. メジャーの種類
を設定

3. カテゴリを設定
25	
  

描画手続き:Widget	
  Tutorial	
4. Plug-inを選択

5. 接続するデー
タソースを指定
6. クエリを記述

7. Sample Result
を確認
26	
  

応用事例:Import	
  JS	
  Library
27	
  

応用事例:レポーティング
28	
  

応用事例:Dynamic	
  Pivot	
  Table
29	
  

5.	
  BI(Business	
  Intelligence) 部門	
  
•  Tableau	
  
30	
  

BI部門:Tableau
31	
  

BI部門:tableau
32	
  

Dashboard	
  (MI)	
  と	
  BI	
  (Tableau)	
  の違い	
Dashboard ( Metric Insights )

BI	
  (	
  Tableau	
  )

• 

毎日更新されるデータ (KPI) を素早く参照する
ため	
解析者に関わらず全てのユーザーが参照する
ため	
異常値やイベントなどの効果を素早く把握する
ため	
Smart Phone や Tablet からも参照するため	

• 

異常検出機能,およびアラート機能を備えてい
ること	
チャートへのアノテーション機能を備えているこ
と	
チャートの一覧性・わかりやすさを重視してい
ること	
(任意の時間インターバルでの)データ自動更
新機能を持っていること	
素早く編集可能な互いに独立したパネル(ウィ
ジェット)を持っていること	
様々なデータベース・ファイル形式と接続でき
るコネクタを備えていること	

• 
• 

• 

目的

• 
• 

• 
• 
• 

要請

• 
• 
• 

• 
• 
• 

• 
• 
• 

様々の切り口・セグメントの組合せでデータを閲覧す
るため	
インタラクティブな操作でドリルダウンや軸の切り替
えを行うため	
様々なチャートとテーブルを組合せた情報表現を行
うため	
プレゼンに耐えうるクオリティの高いレポートを作成
するため	
インタラクティブな操作が可能なこと	
豊富なチャートライブラリ,ダッシュボードエディタの
実装していること	
最適化された中間データ構造(Data Cubeなど)を備
えていること	
マウス操作によってデータの深堀りや切り口の切り
替えが可能なこと	
JDBC / ODBC コネクタを初めとした様々なデータソー
スとの接続口を持つこと
33	
  

描画手続き:VizQL	

hPp://tableau.globalpreneurs.jp/faq/
34	
  

描画手続き:Dimension	
  &	
  Measure
35	
  

描画手続き:Dimension	
  &	
  Measure
36	
  

Video	
  Tutorial	
  
	

hPp://youtu.be/vh9v76e95GY
37	
  

応用事例
38	
  

応用事例
39	
  

6.	
  統計ソフト部門	
  
•  ggplot2	
  
40	
  

統計ソフト部門:ggplot2	

•  ggplot2はRのパッケージ。	
  
•  “The	
  Grammar	
  of	
  Graphics”:文法に基づいた柔軟
な描画が可能。	
•  ありあわせのChart	
  Libraryから選択するのではな
く,文法に基づいて現状の問題にあった描画が可
能。	
•  The	
  Grammar	
  of	
  Graphicsをさらに拡張し,「レイ
ヤー」という概念を導入。	
•  豊富な書籍,ドキュメント
41	
  

描画手続き:The	
  Grammar	
  of	
  Graphics	
要素	
  

名前	
  

説明	
  

data	
  

データ	
  

ビジュアル化したい対象。	
  

geom	

幾何学的オ
ブジェクト	

プロット上のタイプを決める。	

{	
  point,	
  bar,	
  boxplot,	
  line	
  }	
  

stat	

統計的変換	

データをようやくする様々な方法。オプ
ション。	

{	
  density,	
  boxplot,	
  smooth,	
  histogram	
  }	

scale	

スケール	

データを「位置」と「カラー」にマッピング
する。	

{	
  x=0.037,	
  y=0.531,	
  colour=#FF6C91	
  }	

coord	
 座標系	

オブジェクトの位置を指定された座標
系の上にプロット平面にマッピング。	

{	
  Cartesian,	
  Map,	
  Polar	
  }	

facet	

トリレス・プロットの一般化。データ全体
から異なる部分集合を抽出する。	

ファセット	

例	
  
42	
  

描画手続き:Layer	
  of	
  Graphics	
•  レイヤー文法は次の成分の組み合わせから成る:	
  
	
  {	
  data,	
  mapping,	
  geom,	
  stat,	
  posi:on	
  }	
  
•  プロットにレイヤーを重ねるには	
  “+”	
  を使う。	

一般のグラフィクスライブラ
リでの作図例。1つの層に
あらゆる成分を置く。	

Ggplot2ではそれぞれの層
に成分を置いていく。	
図の参照先
43	
  

描画手続き:Layer	
  of	
  Graphics	
#	
  ggplot2に入っている乗用車の燃費データ	
  
$	
  ?mpg	
  
$	
  summary(mpg)	
  
	
  
$	
  p	
  <-­‐	
  ggplot(mpg,	
  aes(displ,	
  hwy))	
	
  
#	
  geom	
  成分を与えることで始めて描画される	
  
$	
  p	
  +	
  geom_point()	
  
	
  
#	
  geom	
  成分として	
  line	
  を重ねる。散布図と折れ線の描画	
  
$	
  ggplot(mpg,	
  aes(displ,	
  hwy))+	
  
	
  	
  	
  	
  geom_point()+	
  
	
  	
  	
  	
  geom_line()	
  
	
  
#	
  cyl	
  (	
  =	
  シリンダ数)	
  をfactorにした色分けを行う	
  
$	
  ggplot(mpg,	
  aes(displ,	
  hwy))+	
  
	
  	
  	
  	
  geom_point()+	
  
	
  	
  	
  	
  geom_line(aes(color	
  =	
  factor(cyl)))	
  
	
  
	
  
44	
  

描画手続き:Layer	
  of	
  Graphics	
#ファセットの追加,2×2の sccater	
  matrix	
  
$	
  ggplot(data	
  =	
  gender.comp,	
  aes(Male,	
  Female))+	
  
	
  	
  	
  	
  geom_abline(colour	
  =	
  "grey80")+	
  
	
  	
  	
  	
  geom_point(alpha	
  =	
  0.6)+	
  
	
  	
  	
  	
  facet_wrap(~Measure,	
  scales	
  =	
  "free")	
  
	
  
45	
  

7.	
  抽象化部門	
  
•  Neo4j	
  (Graph	
  Database)	
  
46	
  

hPp://www.slideshare.net/doryokujin/graphdbgraphdb
47	
  

Discussion & Q and A