Treasure Data Platform で始めるデータ分析入門 〜8. Data Visualization Patterns 〜 Part.2
本シリーズではデータ分析を以下の7つのレイヤーに分解し,各々について解説していくものとします。(Slide Shareの資料は常時更新されます。)
- Data Collection
- Data Storage
- Data Management
- Data Processing
- Data Processing Design Part.1 Part.2 Part.3 Part.4 Part.5 Part.6
- Data Visualization Treasure Viewer, MetricInsights, Tableau
- Data Visualization Patterns Part.1 Part.2 Part.3
本日は「7. Data Visulizations」の全 3 回続く第 2 回目の紹介です。
前回からの続きです。
2. Table Visualization
Table Visualization とは,サンプルデータセットを集計したテーブルに対して行う Visualization を指します。集計とはデータセットのある変数に対していくつかのセグメントごとに SUM, COUNT などの集計関数を適用することによって次元を 1 つ縮約(行列はベクトルへ,ベクトルは数値へ縮約)することで,各種ツールでいう
- Group By [SQL]
- Pivot Table [Excel]
- Split-Apply-Combine [R]
といった手続きに該当します。以下の様に具体的に見ていった方が簡単です。
A. Table Segmented by Single Column
まずは 1 種類のセグメントにより集計(SUM, AVG, COUNT などして得られたシンプルなテーブルを紹介します。
ところで,このセグメントを変数とみなすことにすれば,前回で述べたように
- 数値変数:(さらに「1.1 連続型」と「1.2 離散型」に分類)
- カテゴリ変数:(さらに「2.1 順序付」と「2.2 順序無」に分類)
に分類することができます。セグメントが上記のどの分類に該当するかによってどの Chart を使用するかが異なってきます。またセグメントのキーの値が X 軸として扱われることになります。
※ 以後は変数とセグメントを同じ意味で扱います。
年代 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 |
Sum | 100 | 120 | 87 | 89 | 79 | 123 | 86 | 56 | 67 | 89 | 102 |
図1:年代毎に合計を計算した 1 × n テーブル(n はセグメントの要素数)。この場合の変数のタイプはカテゴリ変数(順序付)。このテーブルは例えばSQLならば `GROUP BY generation` を含んだ集計クエリによって得られたテーブルを転置することで得られます。
年代 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 |
Sum | 100 | 120 | 87 | 89 | 79 | 123 | 86 | 56 | 67 | 89 | 102 |
Count | 10 | 4 | 3 | 10 | 5 | 3 | 4 | 10 | 8 | 8 | 10 |
Average | 10.0 | 30.0 | 29.9 | 8.9 | 15.8 | 41.0 | 21.5 | 5.6 | 8.3 | 11.1 | 10.2 |
図2:年代ごとに各種集計値を計算した 3 × n テーブル。セグメントの種類が 1 つという意味ではこれも図1 と同じテーブル分類に入ります。Chart として表現する場合は基本的に 1 つか 2 つの行を選択します。2 つの行を選択した場合はこれらは単位が異なりますので左 Y 軸と右 Y 軸を使用することになります。
変数が時間や数値を区分けしたものである場合,隣接する変数の間にもデータの存在を仮定しますので変数間を直線および曲線によって「補間」する必要があります。このようにしてプロット点が線して表現された Chart を Line Chart と呼びます。連続か離散,または補間の方法によって以下の 3 パターンを取り上げています。
- 連続変数:直線補間(図3)
- 離散変数:水平線補間(図4)
- 連続変数:曲線補間(図5)
図4:数値変数(離散)の場合は,隣接するデータ点までの間は値が変わらないとする場合が多く,この場合は水平直線によって補完し,階段型の Line Chart となります。例えば特定の距離毎に料金が飛び飛びに変わるタクシー料金などはこれに当たります。
図5:数値変数(連続)の隣接するデータ点の間を曲線にて補完した Line Chart 。曲線を求める方法はいくつもあり B-Spline などが有名です。(図はこちらを参照しました。)
A-2. Bar Chart(使用ケース:カテゴリ変数)
カテゴリ変数の場合には変数の間にはデータ点は存在しませんので,個々のカテゴリが独立した Chart 表現が必要です。その際に使用されるのが Bar Chart です。
順序付カテゴリ変数の場合には片方向からの「累積」という概念を導入することができ,累積プロットを併せて表示するのは良い方法です。
順序無カテゴリ変数の場合には順序を持たないので累積という概念を持っていませんが,集計した「値自身」を順序付けることによって「集計値が大きいものからの累積」という概念を導入することは可能です。以下の 3 パターンを取り上げています。
- 順序付カテゴリ変数 with 累積プロット(図6)
- 順序無カテゴリ変数(図7上)
- 順序無カテゴリ変数 with 累積プロット(図7下)
図6:カテゴリ変数(順序付)の Bar Chart。同時に左からの累積和の値を総和の値を100として左 Y 軸に同時にプロットしています。
図7:カテゴリ変数(順序無)の Bar Chart は上図。集計値の大きさによって変数をソートして表現した下の方の Bar Chart は集計値の累積プロットを同時表現することが可能になります。
A-3. Pie Chart(使用ケース:順序無カテゴリ変数)
順序無のカテゴリ変数においては,図7上のように Bar Chart で表示するよりも Pie Chart の方が有効な場合が多いでしょう。
図8:カテゴリ変数(順序無)の Pie Chart 。全体に占める各カテゴリの大きさが一見してわかるところが Bar Chart と比較してのメリットです。
今日はここまで。次は 2 種類のセグメントによって集計された以下のテーブルの表現方法を見ていきます。