Platinum Data Blog by BrainPad

株式会社ブレインパッドのデータ活用に関する取り組みや製品・サービス開発の裏側、社員の日常などをご紹介します。

SAP® Predictive Analytics で簡単クラスタリング

20世紀初頭に建造された豪華客船「タイタニック号」に関するデータで、機械学習・予測分析システム「SAP® Predictive Analytics」を使ったノンプログラミングで実行できるクラスタリング分析を紹介します!
f:id:bp-writer:20190513113357p:plain


こんにちは。デジタルソリューション本部 プレディクティブマーケティングサービス部の辻です。

ツール・ド・東北関連記事などで、何度か写真のみ登場しておりますが、執筆では初投稿となります。
今回は、機械学習・予測分析システム「SAP® Predictive Analytics」を用いて、ノンプログラミングで実行できるクラスタリング分析をご紹介したいと思います。

クラスタリング(clustering)とは

クラスタリングとは、クラスタ分析(cluster analysis)やデータ・クラスタリング(data clustering)とも呼ばれ、与えられたデータ群の中から似た特徴を持つ要素をグルーピングする(クラスタ)手法です。
同一グループ(クラスタ)内の要素が共有する特徴を分析することで、グループの特性が把握しやすくなります。場合によっては、予想していなかった新たな知見の発見に繋がることもあるため、古典的な手法ながら広く用いられています。

SAP® Predictive Analyticsを使ったクラスタリング分析の特徴

一般的にクラスタリングは、観測データだけを対象に分析する「教師なし学習」の手法として分類されますが、SAP® Predictive Analyticsでは正解データを与える「教師あり学習」が可能です。
教師データ(正解データ)の制約を受けたクラスタリング分けが行われるため、ビジネスユーザーによって解釈が容易な結果を得ることができます。

次のページで具体的に「教師なしクラスタリング」と「教師ありクラスタリング」を実行し、データの見通しをつける上での簡便さを比較したいと思います。

クラスタリングの実例

(1)データセットについて

今回扱うデータは、20世紀初頭に建造された豪華客船「タイタニック号」の沈没事故での乗客乗員について、性別や年齢・等級などの属性情報を記録した内容となります。
参照:Titanic: Machine Learning from Disaster Start here! Predict survival on the Titanic and get familiar with ML basics

同一のデータセットを使った生存確率算出の予測モデルを構築した例

(2)SAP® Predictive Analyticsにおけるクラスタリング分析の流れ

クラスタリングを実行したいデータを準備後、下記のステップで分析を進めます。ターゲットの設定以外、ほぼ自動で実行されるため、分析業務経験の浅い人でも容易に実行することが可能です。
  I. データに対して前処理を行う
  II. 前処理を行ったデータをもとに、クラスタリングを実行
    *ターゲット変数の設定有無で「教師あり学習」「教師なし学習」を選択可能
    *クラスタ数を範囲指定することができ、最適なクラスタ数を発見してくれる
    *データの比較時の距離の算出などは詳細設定が可能
  III.作成されたクラスタのプロファイルおよび概要を検討する

(3)教師なしクラスタリングの実行結果

クラスタ数は5~10の範囲内で実行しました。結果、5個のクラスタに分類されました。

クラスタリングには、K-means法に代表されるような非階層的手法が用いられています。ランダムに初期のクラスタを作成し、距離を測定後、重心を移動させる重心的アプローチによりクラスタが構築されています。指定したクラスタ数の範囲で実行し、最も分散の少ない(クラスタに含まれる要素の距離が最も小さい)ものが選択されます。
範囲内で最も適切なクラスタを自動で選択してくれる点も、ビジネスユーザーによって分析の敷居を下げてくれる利点と言えます。

●クラスタの状況をバブルチャートで可視化

クラスタを可視化するために、バブルチャートで表現することもできます。X・Y軸に任意の連続変数を割り当てることで、各変数のクラスタ別の構成が可視化可能です。なお、教師なしクラスタリングの場合、円の大きさは要素の度数(個数、人数)を表します。
ここでは、X軸にAge(年齢)、Y軸にFare(運賃)を指定しました。最も人数の多いクラスタ1は、21歳から27歳の若年層で比較的低価格の運賃で乗船した人で構成されていることが、このグラフから読み取ることができます。

f:id:bp-writer:20190513113019p:plain
図1

●クラスタの特徴量の把握

更なるクラスタの特徴を把握する手段として、カルバック・ライブラー値(KL値)を活用することができます。この値が大きいほど、クラスタで特徴のある値と言えます。
先のバブルチャートでは連続変数の特徴しか捉えることができませんでしたが、全ての変数を検討の上、各クラスタの特徴を決定づけている要素が何かを確認することができます。

例えば、クラスタ1のグループではPclass(客室)のKL値が高く、別のプロファイル画面で母集団との構成比を比較すると低価格のチケット保有者が多いという特徴が読み取れました。クラスタ2のグループでは、embarked(乗船した港)が特徴量となっており、シェルブールまたはクィーンズタウンで乗船した乗客で構成されていることが分かります。

f:id:bp-writer:20190513142651p:plain
図2

機械学習によるクラスタリングは、あくまでもグループ分けをするところまでです。その結果を解釈して、納得感の得られる意味付けを行えるかは、分析者の洞察力に委ねられます。そのため、必ずしも次の施策に繋がる示唆や業務改善等のアクションを得られるとは限りません。
今回の事例で、「乗船した港が特徴量であると分かっても、何をすればいいか分からない」と感じる人も多いかと思います。この点が、クラスタリングの結果解釈の難しさと言えます。
つまり、作成されたグループに納得感のある解釈を加えられるかは、個人の技量や主観によってしまうのです。客観的な証拠を得たいと考えて分析実行するにも関わらず、この個人の技量や主観の影響を受けてしまうという事実は、本当に正しい分析結果と言えるのか不安や疑念に繋がります。

こうしたクラスタリングのビジネスに応用する際に障壁となる結果解釈の困難さを解決する手段として、SAP® Predictive Analyticsには教師ありクラスタリングという手法が搭載されています。

(4)教師ありクラスタリングの実行結果

ターゲット変数にSurvival(生存/死亡)を指定し、クラスタ数は5~10の範囲内で実行しました。これにより、ターゲット変数のターゲット値(ここでは、生存を意味する「1」)の分布が多いクラスタと少ないクラスタに分けられます。実行した結果、今回は6個のクラスタに分類されました。

クラスタプロファイル画面において、各クラスタ別の生存者が含まれる割合が確認できます。この例ではクラスタ5には全体の10.57%の人が存在し、このうち94.37%生存しております。つまり、このクラスタの特徴量を分析することで生存者の特徴を把握できると言えそうです。

f:id:bp-writer:20190513142742p:plain
図3

各クラスタのKL値を確認すると、教師なしクラスタリングとは異なる分類になっていることが分かります。
生存者の割合が多いクラスタ5では、Pclass(客室)が1等客室の女性が中心となっておりました。次に生存者の割合が多いクラスタ2では、2等客室の女性が中心となっておりました。史実でも女性と子供を優先して救命ボートに乗せたと伝えられておりますが、データからも史実通りの結果が読み取れます。

次に生存者の割合が少ないクラスタ1をみると、3等客室の男性が中心となっています。これもまた20年ほど前に大ヒットした映画を思い出しながら結果を概観し、納得感の得られそうな結果と言えそうです。

f:id:bp-writer:20190513142858p:plain
図4

●クラスタ別のターゲット変数の数を把握

教師ありクラスタリング実施の場合、円の大きさの基準を「度数」に加えて「ターゲット変数の数」に指定することができます。単純にクラスタに含まれる人数だけではなく、それぞれの生存者数を視覚的に把握することが可能となります。

f:id:bp-writer:20190513113357p:plain
図5

●クラスタの更なる構造理解を補助するSQL式による論理セグメント式の出力

SAP® Predictive Analyticsは、各クラスタにおいて詳細な構造を知りたい人のために、SQL式への変換も可能です。この式は、同一変数を持つ他のデータセットに対して適用することで、一定のグループ分けMDL実行することもできます。

*SAP Predictive AnalyticsではMDLを使用して、ファジィクラスタを多次元のデータキューブ(ハイパーキューブ)へ変換します。

f:id:bp-writer:20190513113429p:plain
図6

ビジネスへの応用例

最後に、SAP® Predictive Analyticsのクラスタリングを使ったビジネス応用方法は様々ですが、代表的な例を一つ紹介します。

顧客リストから属性や消費志向により、複数のクラスタに分類します。そのままダイレクトメールの配布に利用することも一般的です。加えて、SAP® Predictive Analyticsの分類/回帰を用いて購入確率を予測するモデルを生成し、購入に繋がりやすいクラスタ(見込み客)にのみ絞り、更にその中でも購入確率の高い顧客から順にあたるなどのマーケット施策を実行し、より効率的な施策設計が可能となります。

f:id:bp-writer:20190513142924p:plain
図7


クラスタリングは探索的にデータ解析を行う手法で、結果の解釈には、分析者の主観の影響を受けます。つまり客観的な証拠ではないと言え、この特徴は教師データの有無を問わず言えることとなります。その特徴を理解した上で、ビジネスでの活用が必要となります。


当社では、SAP® Predictive Analyticsをはじめ、独自性の強い海外製品を活用したデータ活用支援を積極的に行っています。ご興味のある方は、ぜひエントリーください!
www.brainpad.co.jp