47
1 March 2 nd , 2014 データ可視化勉強会 Presented by Takahiro Inoue – Chief Data Scien:st 「この Visualiza)on ツールがすごい2014〜データ世界を彩る美しきツール6選〜

この Visualization がすごい2014 〜データ世界を彩るツール6選〜

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

1  

March 2nd, 2014 データ可視化勉強会

Presented  by      

Takahiro  Inoue  –  Chief  Data  Scien:st  

「この  Visualiza)on  ツールがすごい2014」  〜データ世界を彩る美しきツール6選〜  

Page 2: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

2  

Presented  by      

Takahiro  Inoue  –  Chief  Data  Scien:st  

1.  Introduc:on  2.  Learning  Visualiza:on  3.  表計算部門:aabel3  4.  Dashboard  部門:Metric  Insights  5.  BI  部門:tableau  6.  統計ソフト部門:ggplot2  7.  抽象化部門:Neo4j(Graph  Database)  8.  プログラミング部門:d3.js(省略)  

Agenda

Page 3: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

3  

1.  Introduc)on  

Page 4: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

4  

Presented  by      

Takahiro  Inoue  –  Chief  Data  Scien:st  

•  Takahiro  Inoue  (TwiPer:  @doryokujin  )  

•  Majored  in  Mathema:cs  in  Keio  University  

•  Chief  Data  Scien:st  and  Solu:on  Architect  @  Treasure-­‐Data  

•  Leader  of  Japanese  MongoDB  Community,  Mongo  Masters  

•  doryokujin’s  blog  hPp://doryokujin.hatenablog.jp/  

Introduc)on

Page 5: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

5  

Presented  by      

Takahiro  Inoue  –  Chief  Data  Scien:st  

Company & Product Over View

Treasure  Data  Introduc)on

Web logs

App logs

Sensor

CRM

ERP

RDBMS

Data Collection Data Analysis

Streaming Log !Collector (JSON)!

Treasure Agent

Parallel Upload from CSV, MySQL, etc.!

Bulk Import

REST API, SQL, Pig, JDBC / ODBC!

BI Connectivity

REST API, SQL, Pig!

Result Push

Data Storage

Treasure Batch Query &

Treasure Query Accelerator

Time to Value Economy & Flexibility Simple & Supported

No Command Line,!Every Operation is Here! !

Management Console New!!

New!!

BI Tools

Dashboards Custom App, Local DB,

FTP Server, etc.

Cloud DB, Web App, & Command Line Flexible, Scalable, Columnar Storage!

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

Treasure Viewer New!!

Value  Proposi)on  1 Value  Proposi)on  2 Value  Proposi)on  3

Page 6: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

6  

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

Page 7: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

7  

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

Nagios

MongoDB

Hadoop

Alerting

Amazon S3

Analysis

Archiving

MySQL

Apache

Frontend

Access logs

syslogd

App logs

System logs

Backend

Databasesfilter / buffer / routing

Page 8: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

8  

Data Analysis

Scripted  Processing  (Pig):  -­‐  DataFu  (LinkedIn)  -­‐  Piggybank  (Apache)  

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

JDBC  Connec)vity:  -­‐  Custom  Java  Apps  -­‐  Standards-­‐based  -­‐  BI  Tool  Integra:on  

Tableau  ODBC  connector  -­‐  Leverages  Impala  

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

Interac)ve  SQL  Treasure  Query  Accelerator    (Impala)  

Scheduled  Jobs  -­‐  SQL,  Pig  Scripts  -­‐  Data  Pushes  REST  API  

Page 9: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

9  

2.  Learning  Visualiza)on  

Page 10: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

10  

Visualiza)on  Types(入力データに基づく分類)

Raw  Data  

Aggregated  Data  

Cross  Tables  

Analyzed  Data  

ScaUer  Plot  

Map  Plot  

Math  Graph  

2-­‐Dimensional  Graph  

N-­‐Dimensional  Graph  

Sta)s)cal  Graph  

Page 11: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

ScaUer  Plot(散布図)  (for  Rawdata)  

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

Map  Plot  (for  Rawdata)  

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

Math  Graph  (for  Rawdata)  

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

11  

Raw  Data  Explana)on

Page 12: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

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)  

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

12  

Processed  Data  Explana)on

Page 13: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

表計算

統計ソフト

Dashboard

BI

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

抽象化

13  

Graphの種類とツールの対応表

Map  Plot  

Map  Plot  

ScaUer  Plot  

ScaUer  Plot  

ScaUer  Plot  

Math  Graph  

2-­‐Dimensional  Graph  

2-­‐Dimensional  Graph  

2-­‐Dimensional  Graph  

2-­‐Dimensional  Graph  

Sta)s)cal  Graph  

Sta)s)cal  Graph  

N-­‐Dimensional  Graph  

N-­‐Dimensional  Graph  

N-­‐Dimensional  Graph  

N-­‐Dimensional  Graph  2-­‐Dimensional  Graph  ScaUer  Plot  

Page 14: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

部門 ツール名 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) -­‐ Data  Driven  Documents

抽象化 Neo4j  (Java:  Graph  Database)

-­‐ Property  Graph

14  

Processed  Data  Explana)on

Page 15: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

15  

3.  表計算部門  •  aabel3  

Page 16: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

16  

表計算部門:aabel3

•  数々の統計手法、探究的データ解析手法を提供。

•  複数の多変量データを容易にデータ整理可能。

•  リアルタイムの双方向インタラクティブデータ作用

を可能にし、多変量データ解析を容易にするユ

ニークなパイプラインデザインを装備。

•  インタラクティブな可視化機能、数多くのグラフタイ

プ、240  以上のデータプレゼンテーションスタイル

を用意。

•  数値データ管理ツール、フォーミュラエディタなど

のユーティリティを装備したネイティブワークシート。

•  さまざまなデータインポート、グラフィックファイル

エクスポート、データマニピュレータ、フレキシブル

なカスタマイズツール、Unicode  対応、出版品質の

グラフィックなど研究、調査に必要なツールを装備。

Page 17: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

17  

描画手続き:Chart  Library

Page 18: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

18  

描画手続き:Chart  Library

•  多様性:あらゆるVisualiza:on・統計メソッドを装備。  

•  容易性:チュートリアルに従ってあらゆる図が描ける。  

•  ワークシート:エクセルと同じようにワークシートによるデータ編集,抽出が可能。

Page 19: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

19  

応用事例:Map  Plot

Page 20: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

20  

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

Page 21: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

21  

4.  Dashboard  部門  •  Metric  Insights  

Page 22: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

22  

Dashboard部門:Metric  Insights

Page 23: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

23  

•  毎日更新される  KPI  を素早く参照可能。

•  異常検出機能,およびアラート機能。

チャートへのアノテーション機能。

•  Smart  Phone  や Tablet  からも綺麗に描

画できる。

•  D3.js,  Google  Chart,  Higcharts  などのJSライブ

ラリをインポート可能→インタラクティブな図

•  (任意の時間インターバルでの)データ自動

更新機能。

•  素早く編集可能な互いに独立したパネル

(ウィジェット)を持っている。  

•  様々なデータベース・ファイル形式と接続でき

るコネクタを装備。  

Dashboard部門:Metric  Insights

Page 24: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

24  

描画手続き:Widget  Tutorial

1. 集計インターバルを設定

2. メジャーの種類を設定

3. カテゴリを設定

Page 25: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

25  

4. Plug-inを選択

5. 接続するデータソースを指定

6. クエリを記述

7. Sample Result を確認

描画手続き:Widget  Tutorial

Page 26: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

26  

応用事例:Import  JS  Library

Page 27: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

27  

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

Page 28: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

28  

応用事例:Dynamic  Pivot  Table

Page 29: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

29  

5.  BI(Business  Intelligence) 部門  •  Tableau  

Page 30: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

30  

BI部門:Tableau

Page 31: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

31  

BI部門:tableau

Page 32: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

32  

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

Dashboard ( Metric Insights ) BI  (  Tableau  )

目的

•  毎日更新されるデータ (KPI) を素早く参照する

ため

•  解析者に関わらず全てのユーザーが参照する

ため

•  異常値やイベントなどの効果を素早く把握する

ため

•  Smart Phone や Tablet からも参照するため

•  様々の切り口・セグメントの組合せでデータを閲覧す

るため

•  インタラクティブな操作でドリルダウンや軸の切り替

えを行うため

•  様々なチャートとテーブルを組合せた情報表現を行

うため

•  プレゼンに耐えうるクオリティの高いレポートを作成

するため

要請

•  異常検出機能,およびアラート機能を備えてい

ること

•  チャートへのアノテーション機能を備えているこ

•  チャートの一覧性・わかりやすさを重視してい

ること

•  (任意の時間インターバルでの)データ自動更

新機能を持っていること

•  素早く編集可能な互いに独立したパネル(ウィ

ジェット)を持っていること

•  様々なデータベース・ファイル形式と接続でき

るコネクタを備えていること

•  インタラクティブな操作が可能なこと

•  豊富なチャートライブラリ,ダッシュボードエディタの

実装していること

•  適化された中間データ構造(Data Cubeなど)を備

えていること

•  マウス操作によってデータの深堀りや切り口の切り

替えが可能なこと

•  JDBC / ODBC コネクタを初めとした様々なデータソー

スとの接続口を持つこと

Page 33: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

33  

描画手続き:VizQL

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

Page 34: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

34  

描画手続き:Dimension  &  Measure

Page 35: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

35  

描画手続き:Dimension  &  Measure

Page 36: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

36  

Video  Tutorial  

hPp://youtu.be/vh9v76e95GY

Page 37: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

37  

応用事例

Page 38: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

38  

応用事例

Page 39: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

39  

6.  統計ソフト部門  •  ggplot2  

Page 40: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

40  

統計ソフト部門:ggplot2

•  ggplot2はRのパッケージ。  

•  “The  Grammar  of  Graphics”:文法に基づいた柔軟

な描画が可能。

•  ありあわせのChart  Libraryから選択するのではな

く,文法に基づいて現状の問題にあった描画が可

能。

•  The  Grammar  of  Graphicsをさらに拡張し,「レイ

ヤー」という概念を導入。

•  豊富な書籍,ドキュメント

Page 41: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

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 ファセット トリレス・プロットの一般化。データ全体

から異なる部分集合を抽出する。

Page 42: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

42  

描画手続き:Layer  of  Graphics

•  レイヤー文法は次の成分の組み合わせから成る:    {  data,  mapping,  geom,  stat,  posi:on  }  

•  プロットにレイヤーを重ねるには  “+”  を使う。

図の参照先

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

Ggplot2ではそれぞれの層に成分を置いていく。

Page 43: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

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)))      

Page 44: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

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")    

Page 45: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

45  

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

Page 46: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

46  

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

Page 47: この Visualization がすごい2014 〜データ世界を彩るツール6選〜

47  

Discussion & Q and A