Treasure Data Platform で始めるデータ分析入門 〜6. Data Processing Design 〜 Part.6
本記事は移転しました。新サイトにリダイレクトします。
*トレジャーデータはデータ収集、保存、分析のためのエンドツーエンドでサポートされたクラウドサービスです。
本シリーズではデータ分析を以下の7つのレイヤーに分解し,各々について解説していくものとします。(Slide Shareの資料は常時更新されます。)
- Introduction
- 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
本日は「5. Data Processing Design」の第6回目です。
2. Making Cross Table
クロス集計は知っている人には説明の必要が無いかもしれませんが,ここでは前回まで紹介した各クエリパターン毎にクロス集計ステップを考えて行きます。それに並行して作成したクロステーブルに適した可視化方法のいくつかを紹介します。
パターン1:< m | dim1 >
こちらは,クロス集計に最低限必要な2つのディメンジョンを持っていませんのでその必要はありません。
パターン2:< m | time >
こちらも1ディメンジョンなのですが,timeカラム自身が階層を持つ(その他アイテムカラム: category ⊃ sub_category ⊃ item など)ので,クロス集計の対象になります。
Part.3 で紹介した以下の結果に対してクロス集計を適用してみます:
Result :
+------+----+----+-----------+
| y | m | d | sum |
+------+----+----+-----------+
| 2012 | 12 | 01 | 1647475.0 |
| 2012 | 12 | 02 | 1110545.0 |
| 2012 | 12 | 03 | 1195025.0 |
...
x-軸にday , y-軸に month を選び,z-軸(セル)に sum を入れます。クロス「集計」と書いていますが,本ケースではセルに関して再集計されることはありません。
さて,このクロステーブルを可視化してみましょう。今回はバブルチャートを用います。上図のセルの値の大きさがバブルの大きさ+温度色で表現しています。
上図よりわかるのは,月の始め(1〜5日)および半ば(15日〜22日)の値が大きい傾向にあり,特に5月の値の大きさが目立っています。このバブルチャートはクロステーブルを直感的に表現していてわかりやすいですね。
パターン3:< m | dim1, dim2 >
Part.4 で紹介した,
基本例:トヨタ車のモデル (dim1),年式 (dim2) ごとの平均車両価格が安い TOP20
は x-軸にモデル(dim1),y-軸に年式(dim2)を設定すれば良いですね。
基本例:人気モデルの年式ごとの平均価格
は既にクロス集計を紹介しましたが,再掲載しバブルチャートと異なる可視化をしてみましょう。
上図はヒートマップと呼ばれ,バブルチャートがz-軸の値を円の半径と色で表現していたのに対し,こちらは色温度のみで表現しています。
パターン5:< m1 | Seg(m2) >
こちらも与えられたディメンジョンが1つなのでクロス集計の必要はありません。
パターン6:< m1 | Seg(m2), Seg(m3) >
基本例:中古車価格別,平均走行距離別,頻度分布
先ほど紹介したヒートマップも,セグメントが密になると境界もあいまいになってきます。この場合には "Contour Matrix" と呼ばれる等高線のような表示が有効です。
パターン7:< m1 | dim1, Seg(m2) クエリパターン
基本例:走行距離,年式別平均中古車価格
こちらも前回でヒートマップで可視化しましたが,"Symmetric Area Graph" で表現してみましょう。
今日はここまでです。