クラスター分析をやってみよう! ~アルコール消費量から都道府県をグルーピングする~

2017/03/15 15:56 Shingo 1 Comments

皆さまこんにちは、 bashiiです。

突然ですが、 V10の新機能、クラスタリング(クラスター分析)機能って、みなさん使われていますか?
とても便利な機能なのですが、まだ使ったことがない・・・いまいち使いどころがわからない・・・といった方もいらっしゃるのではないでしょうか?

ということで; 今回は Tableau Version 10からの新機能であるクラスタリング機能について、面白い利用方法を考察してみたいと思います。

最終的にはアルコール消費量のデータからクラスター分析を用いて県民性を覗いてみたいと思います。 
(↓イメージ図)



◆ クラスタリングとは何か
クラスタリングとは簡単にいうと、物事をその特徴に応じて、いい感じのグループに分けるということです。これをクラスター分析と言い、機械学習の一つとして位置づけられます。

ビジネスの分野でもマーケティングの戦略立案や製品ポジショニングの分析などに利用されています。
例えば製品の中で季節ごとの売れ筋商品のグループを作り、製品グループごとのキャンペーンを行ったり、顧客の中からお得意様グループを見つけ出し、そのグループに対して特別なキャンペーンを行ったり・・・といった具合に、何かの施策をするときに特定のグループ分割を把握することでメリットが得られるシーンがあります。
このようなグルーピングを機械学習の力で行い、新たな気づきを得ることがクラスター分析の醍醐味と言えるでしょう。
クラスター分析の手法(データをグループに分割するアルゴリズム)としては、K-meansアルゴリズムが有名で、Tableau でもこの方法を採用しています。

(クラスター分析の厳密な定義については、いろいろなリンクがありますのでWebで検索ください。この記事では概要を感覚的に理解することを趣旨とさせていただきますのでご了承ください。)

◆ K-meansの仕組み
Tableauでも利用されているK-means法について簡単な説明をいたします。

1.まずクラスタの中心点を対象データからランダムにk個決める(例では2個)
2.各データを最も近くにある中心点のクラスタに割り当てる
3.クラスタ内のデータの平均値を新たなクラスタの中心点にする
4.各データを最も近くにある中心点のクラスタに割り当てる
5.クラスタ内のデータの平均値を新たなクラスタの中心点にする
6.各データを最も近くにある中心点のクラスタに割り当てる
7.クラスタ内のデータの平均値を新たなクラスタの中心点にする

8.各データを最も近くにある中心点のクラスタに割り当てる(上記手順を繰り返す)

9.繰り返しの結果、クラスタの中心点が変化しなくなったら終了

◆ Tableau での使い方
Tableau でK-meansのクラスタリングを実施する方法はいたって簡単です。

3種類のアイリス(アヤメ科の一種)の花弁の長さ、幅、花ガクの長さ、幅の4つの情報を標本として取得したデータセットがあります。(このデータはRやPythonに入っているとっても有名なデータセットです。)

このデータセットを散布図として表示します。
これをK-meansアルゴリズムを使ってクラスターに分類してみます。


操作はいたって簡単です。
アナリティクスタブを開く → 「クラスター」 を散布図にドラッグ
以上です。

花弁の長さ、幅、花ガクの長さ、幅の4つの情報をもとに、自動的に最適なクラスタ数を調整して分類した結果、クラスター1~クラスター3の3つのグループに標本を分類することに成功しました。

データセットには実際のアイリスの種別(Setosa,Versicolor,Virginica)の品種情報があるので、これに従って分類してみると以下のようになります。
・・・ほとんど変わらないですね。 

このケースでは、K-meansによって分類したグループが実際のアイリスの品種分類と変わらないことが分かります。つまり、K-meansによって分類がある程度言い当てられていることが感覚的に見て取れます。
Tableau でのクラスタリング機能の詳細については、以下のリンクを参照ください。
Understanding Clustering in Tableau 10 - writen by Bora Beran
https://boraberan.wordpress.com/?s=K-means

◆ アルコール消費量のデータから県民性がわかるか?
それではもう少し、現実的な例を取り上げてみましょう。
今ここで、ワイン、酒、焼酎、ビール、ウィスキーの一人当たりの消費量を得ることができたとします。

このデータから何が見えてくるでしょう。クラスター分析の前に、
まずデータの中身をざっくり見てみましょう。

アルコール消費量全体のランキングをとってみます。

1位 東京
2位 新潟
3位 大阪
4位 高知
5位 秋田

という結果でした。 大都市は飲食店も多くやはりアルコール消費量が多いようです。
次にワイン、酒、焼酎、ビール、ウィスキーの一人当たりの消費量を行と列に配置し散布図を作ってみます。さて、ここから何か情報が得られますか? 何か気づきましたか?

よく見てみると、アルコール種別ごとに消費量が突出している県があるようです。
例えば
日本酒は 新潟、秋田
ワインは 山梨、東京、長野、北海道
焼酎については断トツ宮崎、鹿児島。続いて熊本、大分といったとこでしょうか。
もうなんだか県民性が出てきましね。


次に傾向線に着目してみましょう。傾向として以下がみられるようです。
① 傾向線が右下がりであることから焼酎の消費量が増えると、日本酒の消費量は減る傾向にある
② 同様に日本酒の消費量が増えると焼酎の消費量は減る傾向がある
③ 傾向線が右上がりであることからビールの消費量が増えるとウィスキーの消費量が増える傾向にある


それではこの辺で本題のクラスター分析に入っていきたいと思います。
これらの傾向をもとにアルコール消費の嗜好別に都道府県をグループ化してみましょう。アルコール消費量に似たような傾向がある都道府県を同じグループにまとめまるということをします。

わかりやすいように、列と行の組み合わせを下のように減らしてみます。

ここにアナリティクスペインから「クラスター」をドラッグします。
クラスター数を4あたりに設定します。(クラスター数は面白い結果が出るところを試行錯誤する必要があるのですが、今回は4つから初めてみましましょう。)

「クラスター」をドラッグして、クラスター数を指定するだけで、クラスターによる色分けができましたね!
なんとなく、色分けされたクラスターごとにアルコール消費量の特徴が見えてきましたか?

Tableauのクラスター分析のとっても便利なところは、作成されたクラスターをグループとして、新しいディメンジョンに利用できるということなんです。(これは実はとても便利な機能です!)


色に作られた「クラスター」をディメンジョンエリアにドラッグしてみてください。
クラスターに所属する都道府県をグループにまとめたディメンジョンが追加されます。
これを「アルコール消費量クラスター」と名前を付けます。
新たにできたディメンジョンごとに、アルコールごとの消費量の比率を見てみます。
すると、クラスター1はビールの消費量が多いビール派。
クラスター2はワイン派。 クラスター3は焼酎派といった傾向が見えてきます。
このように、出来上がったクラスターを人間の主観で意味を検討しネーミングすることもクラスター分析の作業の一つです。

さて、作成されたクラスターを地図にマッピングしてみましょう!


圧倒的に、九州中南部、大分、熊本、宮崎、鹿児島は焼酎派! なんですね。ここは揺るぎがありません。
山梨と北海道はワイン派クラスター。日本海側にビール派が多いということも浮き上がってきましたように思います。

クラスターの数を5つにするとまた秋田、新潟の日本酒クラスターが出現しました。

このようにクラスターの数を変えたり、入力の変数を変えて意味のあるクラスターを試行錯誤して探っていくと、面白い発見に出会えるかもしれません。

アルコール消費量傾向によって都道府県をグループ化できれば、焼酎クラスター
である宮崎、鹿児島、大分、熊本で焼酎キャンペーンを実施したり、逆に消費量の少ない日本酒のキャンペーンをやってみるというのも新鮮かもしれません。

皆さんもお手持ちのデータをTableauのクラスタリング機能を使って分析してみてください。新たな発見が得られるかもしれません!!

ワークブックはこちらからダウンロードいただけます。
https://public.tableau.com/shared/Y38T47BC2?:display_count=yes

Tableauからデータサイエンスを始めましょう!!
では、またお会いしましょう・・・


参考文献:

DATA GO.JP
http://www.data.go.jp/

[DoSS@d - DATA] 都道府県別アルコール類の消費量
http://mo161.soci.ous.ac.jp/@d/DoDStat/sake/sake_dataJ.xml

Understanding Clustering in Tableau 10 - writen by Bora Beran
https://boraberan.wordpress.com/?s=K-means

クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた
http://tech.nitoyon.com/ja/blog/2009/04/09/kmeans-visualise/





1 件のコメント:

  1. このコメントは投稿者によって削除されました。

    返信削除