10.4 非階層的クラスター分析:K-means法

非階層的クラスター分析では、段階的なクラスターの分類ではなく、事前に決められたクラスター数に基づき、データを分類する。本資料では代表的な非階層的クラスタリング法である、K-means法について紹介する。K-means法の分析では、分析者が事前にクラスター数を決める必要がある。その仮定の下、Sequential threshold method と言われる以下のようなプロセスによってクラスターが決定される。

  1. 初期クラスターの形成
  2. クラスターセンターのアップデートと更新
  3. アップデートの収束と最終クラスターの決定

10.710.8 はK-means法のプロセスに関する直感的説明を段階的に図示化したものである。ここでは、図 10.7 (1) のようなデータに対し、3つのクラスター数を仮定した場合を考える(このプロセスは任意の \(k\) 個のクラスターに対して適応可能)。

K-means法直感1

Figure 10.7: K-means法直感1

まず初めに図10.7 (2) に着目してほしい。ここでは、与えられたデータの空間に対して3つのクラスターセンター初期値(初期シードとも言う)をランダムにとる。次に各観測個体をそれぞれの最も近い初期センターに割り当てる形で3つのクラスターを作成する(図10.7 (3))。ここで、作成された3つのクラスター(の観測値)と、初期値とを比較し、適切に中心を表しているかを検討する(図10.7 (4))。例えば、図10.7 (4) における赤いクラスターについてはもう少し右上の方向にセンターを移動したほうがいいかもしれない。このように、各クラスターの観測値に基づき、クラスターセンターが計算され、アップデートされる。

K-means法直感2

Figure 10.8: K-means法直感2

しかしながら、クラスターセンターがアップデートされると、新たなセンターから各観測個体までの距離も変化する。例えば、図10.8 (5) を見ると、これまで赤クラスターに属していた個体のひとつが、クラスターセンターのアップデートに伴って赤のセンターよりも青のセンターから近くなっている。そのため、この個体は青クラスターに分類される(図10.8 (6))。各観測個体のクラスターへの分類が変更されたため、クラスターセンターも当然修正されるべきであり、新たな分類に基づくクラスターセンターが再度計算される(図10.8 (7))。K-means方においては、このようなプロセスをクラスターセンターが動かなくなるまで繰り返すことで、観測個体を分類する。

K-means法によるクラスターセンターの計算等については、ソフトウェアが行ってくれる。しかしながら、分析者は分析実行前にクラスター数の決定を行わなければならない。クラスター数の決定においては、10.3.1節でも述べた通り、分析者の恣意性を含む判断によって決定される。クラスター数の決定においては、伝統的には(1)ハーティガンルールと、(2)エルボー法という方法のいずれかもしくはその両方を用いるkとが多い。

ハーティガンルールとは、\(k\) 個と \(k+1\) 個のクラスターにおける内部平方和(クラスター内部の分散)を比較する変量を計算し、その値が10を越えた場合は、\(k+1\)個のクラスター数を採用したほうが良いという考え方である。この値が10を越える状況は、\(k+1\)個の場合に比べ\(k\)個のクラスターを採用したほうが内部平方和(クラスター内部の分散)が大きくなることを意味している。

一方でエルボー法とは、\(k\) 個のクラスター数それぞれに対応する内部平方和をプロットすることで、好ましいクラスター数を解釈する方法である。図10.9に示すように、クラスター数の変化に伴い、内部平方和(クラスター内部の分散)がどのように変化するかをチェックすることができる。この図を用いた判断では、変化量(傾き)の変化に着目することも多い。変化量が小さい、つまりクラスター数が増えてもあまり内部平方和が減らない場合、効率性と有効性の観点からより少ないクラスター数を選ぶことが判断されやすい。例えば図10.9 の場合、4つのクラスターまではクラスター数の増加とともに内部平方和が下がっているものの、4を越えてからは傾きがほぼ水平になっていることがうかがえる。そのため、このような結果の場合には、4クラスターを仮定した非階層的クラスター分析を実行することが多い。

エルボー法例

Figure 10.9: エルボー法例

ここで、セグメントの発見を目的とするような探索的なクラスター分析に関する手順を紹介する。非階層的クラスター分析は、階層的クラスター分析との組み合わせる形で実行されることも多い。顧客セグメントを探索するような目的で実行されるクラスター分析として、以下のような手順を紹介する:

  1. 階層クラスター分析、ハーティガン、エルボーの確認
  2. クラスター数 (k) を決定
  3. k個のクラスター数に対する K-means クラスター分析の実行
  • \(\rightarrow\) クラスターの図示化と記述による検討
  1. クラスターのプロファイル情報を整理し、各クラスターを評価

次節では、この4つのプロセスに基づき、Rを使ったクラスター分析方法を紹介する。