日経BigData

統計・分析を極める

最も重要で、最もよく使われ、最も難しい分析手法の一つ「クラスター分析」

2015.07.24山川 義介=ALBERT取締役会長

ビッグデータ時代の適切なクラスター(=集団)分析法を学ぶ本講座の第1回。クラスターの分類方式に何を選ぶかが、分析を進める上で最初の大切なポイントとなる。

 クラスター分析は、ビッグデータの分析、その中でもOne to Oneマーケティングに用いる分析手法としては、最も重要な地位を占めており、最もよく使われる手法の1つだ。前号の「達人に学ぶ課題解決(実務で使う分析手法は5つで十分)」にも挙げられている手法だ。情報が氾濫するなか、いかに消費者にとって有用な情報のみを提示するか、いかに施策のコンバージョンを上げることができるかが最大の関心事だが、そのためには、顧客を緻密にクラスタリングし、購買を予測し、的確なアクションを打つことが求められる。

 クラスター(cluster)とは、英語で「房」「集団」「群れ」のことで、似たものがたくさん集まっている様子を表す。「クラスター分析」とは、異なる性質のものが混ざり合った集団から、互いに似た性質を持つものを集め、クラスターを作る方法だ。対象となるサンプル(人、行)や変数(項目、列)をいくつかのグループに分ける、簡単にいえば「似たもの集めの手法」である。

良いクラスター分析の条件

 良いクラスター分析とは、分けた「塊」に含まれる要素同士は似ていて、その「塊」の特徴は、別の「塊」の特徴とはなるべく似ていないものとされる。クラスター分析は、あらかじめ分類の基準が決まっておらず、分類のための外的基準や評価が与えられていない「教師無しの分類法」だ。つまり、分類してみてから、どうしてそのように分類されたかを分析する方法である。従って、データをあらかじめ分かっている基準で男女別や年代別に分けた「塊」をクラスターとは呼ばない。

 クラスター分析を始めるときに決めなくてはならないことは、一般的には以下の4つで、それぞれ、どれを選択するかがポイントになる。

1.グループ分けの対象
 サンプルを分類するのか、変数を分類するのか
2.分類の形式(種類、生成)
 階層的方法か非階層的方法か
3.分類に用いる対象間の距離(類似度)
 ユークリッド距離、マハラノビス距離、コサイン類似度(距離)…
4.クラスターの合併方法(クラスター間の距離の測定方法)
 ウォード法、群平均法、最短距離法、最長距離法…

 「1.グループ分けの対象」は目的が決まれば自動的に決まる。「2.分類の形式」はビッグデータにおいては非階層的方法を用いることが多いので迷うことはほとんどない。「4.クラスター合併方法」も非階層的方法では選択する必要はなく、最も難しいのが 「3.分類に用いる対象間の距離」の選択だ。クラスター分析は「似たもの集めの手法」だと述べたが、「似ている」または「似ていない」をどう定義するかが、ビッグデータにおけるクラスター分析では、最も大きな問題にも関わらず遅れている分野といっても過言ではない。

 アンケートデータなどの密なデータと異なり、購買データは非常にスパース(疎)である。このようなデータを扱う場合、そもそも平均や分散に意味を持たなかったり、類似度を表す距離を一般的なユークリッド距離を用いたのではうまくいかなかったりという問題がある。この「距離問題」については次回で詳しく述べる。

 クラスター分析は手法や指定するパラメータの種類が多く、「クラスター分析のクラスター分析をしなくてはならない」と言われるほどで、「これが最適」という選択方法や「これが最高」というクラスターの定義もない。例えば、最適なクラスター数はいくつかという質問がよくあるが、正解はない。そのほか、初期値をどう設定するかによって結果が異なるというやっかいな問題もあり、とても難しい分析手法の1つに数えられる。

近いものから順番にくくる「階層クラスター分析」

 最も似ている組み合わせから順番にまとまり(クラスター)にしていく方法で、途中過程が階層のように表せ、最終的に図1のような樹形図(デンドログラム)ができる。階層クラスター分析は、近いものから順番にくくるという方法をとるので、あらかじめクラスター数を決める必要がないことが最大の長所だ。

図1 階層型クラスター分析は結合されていく過程を一つひとつ確認できる
図1 階層型クラスター分析は結合されていく過程を一つひとつ確認できる

 分類するだけでなく、結果として出力される樹形図から、分類の過程でできるクラスターがどのように結合されていくかを一つひとつ確認できるので、クラスター数を後から決めることができる。例えば、3つに分けようと思えば、縦の線を3本横切るような線を引き、その線から下につながっている要素を1つのクラスターと考えれば、任意のクラスター数に分けることができる。

 最小は全体である1クラスター、最大は要素数(ここでは5)に等しくなる。階層型クラスターの短所は、分類の対象が非常に多い場合、計算量が多くなり実行が困難になったり、系統図が巨大になり、結果が不明瞭になったりすることだ。非常に多くのデータを対象とするクラスター分析では、次に述べる非階層型クラスター分析を用いるのが一般的だ。

あらかじめ分類数を決める「非階層クラスター分析」

 非階層クラスター分析は、階層クラスター分析と異なり階層的な構造を持たず、あらかじめいくつのクラスターに分けるかを決め、決めた数の塊(排他的部分集合)にサンプルを分割する方法である。 階層クラスター分析と違い、サンプル数が大きいビッグデータを分析するときに適している。

 ただし、いくつのクラスターに分けるかを事前に決める必要があり悩ましい。最適クラスターを求める方法はいくつか提案されているが、実務上は、クラスター別に施策を実施する際の費用を考慮した上で分析者が決めるのがよい。また、後で述べる「初期値依存性」という問題点もある。

 先に、非階層クラスター分析の代表的手法である、「k-means法」を説明する。k-means法の名称は、「クラスターの『平均(means)』を用い、あらかじめ決められたクラスター数『k』個に分類する」ことに由来している。簡単にそのアルゴリズムを示す。

1.核とする任意のk個のサンプル(これが初期値)を選ぶ
2.全サンプルを、k個の核のうち最も近い核にひも付ける(この時点ですべてのサンプルがk個の塊に分けられた)
3.k個の塊のそれぞれの重心を求めて、その重心を新しい核とする
4.全サンプルを新しいk個の核に最も近い核とひも付け、再び3のステップを行う(分布が変わるので重心の位置が移動する)
5.重心が移動しなくなったら終了

k-means法の短所は初期値依存問題

 k-means法の一つの短所として、初期値(初期に選択される「核」となるk個のサンプル)依存性がある。図2の3つのクラスターは、初期値を変えて、重心が変化しなくなるまで、繰り返し計算した時の結果だ。同じデータを距離などのパラメータを同じ条件にして計算しても、初期値が異なるだけで、結果が大きく違うことが分かる。従って、よいクラスターを得るためには、初期値を変えて何回か分析を実施し、平均クラスター内距離が最小になる初期値を選択するなど、最適初期値での結果を採用することが望ましいといえる。

図2 初期値を変えて重心が変化しなくなるまで、繰り返し計算した結果
図2 初期値を変えて重心が変化しなくなるまで、繰り返し計算した結果

 またk-means法の派生手法である「k-means++」法は、初期のk個のクラスター中心はなるべく離れている方がよいという考えに基づいて設定するもので、初期値問題を解決する一つの手法である。

山川 義介| Yoshisuke YAMAKAWA
ALBERT取締役会長。TDK、マルマンを経て、95年エムアンドシー、00年インタースコープを設立。05年ALBERTを設立し、代表取締役会長に就任。15年3月より現職。07年より関東学院大学人間環境研究所客員研究員。08年9月~15年3月明治大学大学院グローバル・ビジネス研究科(MBA)非常勤講師。15年4月よりSBI大学院大学経営管理研究科客員教授