玄関雑学の部屋雑学コーナー統計学入門

20.2 クラスター分析結果の解釈

(1) クラスター分析の手順

第1節のアルゴリズムの説明は抽象的でわかりにくいので、表20.1.1のデータにクラスター分析を適用し、クラスター分析の手順を具体的に説明しましょう。 説明のために、最も単純な方法であるエウクレイデス(ユークリッド)平方距離と最短距離法を用いることにします。

○ステップ0

最初に6例の被験者をそれぞれクラスターにし、クラスター間の距離を求めます。 その結果を表にしたものが表20.2.1です。 対角線上は同一クラスター間の距離なので、本来は0になります。 しかし距離の計算にクラスターの個体数が必要なものがあるので、ここに各クラスターの個体数を入れることにします。

表20.2.1 クラスター間のエウクレイデス平方距離−0
クラスターID C1  C2  C3  C4  C5  C6 
C111313102968
C2131251037
C313211425
C410511526
C529104519
C66837252691

○ステップ1-1

表20.2.1の中で距離が最も近い2つのクラスターはC3とC4です。 そこでこの2つのクラスターを融合し、あらためてC3にします。 クラスターを融合する時は、番号の大きいクラスターを番号の小さいクラスターに融合します。 この様子を散布図で描いたものが図20.2.1であり、2分木(binary tree)で描いたものが図20.2.2です。 2分木は節(node)が2つ以下の枝を持つ木構造(tree)のことで、この場合は最初のクラスターつまり各個体を葉(leaf)で表し、それを融合したクラスターを節で表します。

C3 ← C4を融合 … クラスター間のエウクレイデス平方距離:d342 = 1
C3に含まれる個体:3、4
図20.2.1 趣味の程度の散布図 図20.2.2 趣味の程度の2分木

○ステップ1-2

融合後のC3と他のクラスターの距離を更新します。 この時、C3と他のクラスターとの距離は、C3に含まれる3番の個体の距離と4番の個体の距離のうち短い方を採用します。 その結果を表にしたものが表20.2.2です。 後の作図のためにC4は個体数を0にして残してあり、以後の融合対象からは除外します。

表20.2.2 クラスター間のエウクレイデス平方距離−1
クラスターID C1  C2  C3  C4  C5  C6 
C111310(10)2968
C21312(5)1037
C31022(1)425
(C4)(10)(5)(1)0(5)(26)
C529104(5)19
C6683725(26)91

○ステップ2-1

表20.2.2の中で距離が最も近い2つのクラスターはC2とC3です。 そこでこの2つのクラスターを融合し、あらためてC2にします。

C2 ← C3を融合 … クラスター間のエウクレイデス平方距離:d232 = 2
C2に含まれる個体:2、3、4
図20.2.3 趣味の程度の散布図 図20.2.4 趣味の程度の2分木

○ステップ2-2

融合後のC2と他のクラスターの距離を更新します。 この時、C2と他のクラスターとの距離は、C2に含まれる2番、3番、4番の個体の距離の中で最短のものを採用します。 その結果を表にしたものが表20.2.3です。

表20.2.3 クラスター間のエウクレイデス平方距離−2
クラスターID C1  C2  C3  C4  C5  C6 
C1110(10)(10)2968
C2103(2)(5)425
(C3)(10)(2)0(1)(4)(25)
(C4)(10)(5)(1)0(5)(26)
C5294(4)(5)19
C66825(25)(26)91

○ステップ3-1

表20.2.3の中で距離が最も近い2つのクラスターはC2とC5です。 そこでこの2つのクラスターを融合し、あらためてC2にします。

C2 ← C5を融合 … クラスター間のエウクレイデス平方距離:d252 = 4
C2に含まれる個体:2、3、4、5
図20.2.5 趣味の程度の散布図 図20.2.6 趣味の程度の2分木

○ステップ3-2

融合後のC2と他のクラスターの距離を更新します。 この時、C2と他のクラスターとの距離は、C2に含まれる2番、3番、4番、5番の個体の距離の中で最短のものを採用します。 その結果を表にしたものが表20.2.4です。

表20.2.4 クラスター間のエウクレイデス平方距離−3
クラスターID C1  C2  C3  C4  C5  C6 
C1110(10)(10)(29)68
C2104(2)(5)(4)9
(C3)(10)(2)0(1)(4)(25)
(C4)(10)(5)(1)0(5)(26)
(C5)(29)(4)(4)(5)0(9)
C6689(25)(26)(9)1

○ステップ4-1

表20.2.4の中で距離が最も近い2つのクラスターはC2とC6です。 そこでこの2つのクラスターを融合し、あらためてC2にします。

C2 ← C6を融合 … クラスター間のエウクレイデス平方距離:d262 = 9
C2に含まれる個体:2、3、4、5、6
図20.2.7 趣味の程度の散布図 図20.2.8 趣味の程度の2分木

○ステップ4-2

融合後のC2とC1の距離を更新します。 この時、C2とC1との距離は、C2に含まれる2番、3番、4番、5番、6番の個体の距離の中で最短のものを採用します。 その結果を表にしたものが表20.2.5です。

表20.2.5 クラスター間のエウクレイデス平方距離−4
クラスターID C1  C2  C3  C4  C5  C6 
C1110(10)(10)(29)(68)
C2105(2)(5)(4)(9)
(C3)(10)(2)0(1)(4)(25)
(C4)(10)(5)(1)0(5)(26)
(C5)(29)(4)(4)(5)0(9)
(C6)(68)(9)(25)(26)(9)0

○ステップ5

最後にC1とC2を融合し、すべての個体が1つのクラスターになります。

C1 ← C2を融合 … クラスター間のエウクレイデス平方距離:d122 = 10
C1に含まれる個体:1、2、3、4、5、6
図20.2.9 趣味の程度の散布図 図20.2.10 趣味の程度の2分木
表20.2.6 クラスター間のエウクレイデス平方距離−5
クラスターID C1  C2  C3  C4  C5  C6 
C16(10)(10)(10)(29)(68)
C2(10)0(2)(5)(4)(9)
(C3)(10)(2)0(1)(4)(25)
(C4)(10)(5)(1)0(5)(26)
(C5)(29)(4)(4)(5)0(9)
(C6)(68)(9)(25)(26)(9)0

(2) 樹形図(デンドログラム)

クラスター分析の結果をグラフ表示する時、通常は階層構造を図式化するのに適した樹形図(dendrogram、デンドログラム)を用います。 これは図20.2.11のように横軸を個体IDにし、縦軸を距離にして、個体がクラスターに融合される様子を枝分かれした樹木状のグラフとして描いたものであり、図20.2.10の2分木をグラフ化したものに相当します。

図20.2.11 最短距離法の樹形図

この樹形図は図20.2.10の2分木と表20.2.5を利用して描くことができます。 例えば図20.2.10の2分木で最初に融合したのはC3とC4であり、表20.2.5からC3とC4の融合時の距離は1だったことがわかります。 そして次に融合したのがC2とC3であり、表20.2.5のC2とC3の融合時の距離は2でした。 こうしたことを続けて行き、最後にC1とC2が距離10で融合するところまでたどれば図20.2.11を描くのに必要なデータが全て手に入ります。

(3) シルエット分析(silhouette analysis)

このように階層的クラスター分析では、最後は必ず1つのクラスターになります。 そこで最適なクラスター数はいくつかつまりクラスターの融合をどこで止めるかという問題が生じます。 この問題に対する一般的な規準はなく、色々な要素を考慮してデータごとに決める必要があります。 そのための評価方法のひとつにシルエット分析があります。 この手法は次のような規準に従って最適クラスター数を検討します。

この規準に従い、個体ごとに次のようなシルエット係数(silhouette coefficient)を求めます。

クラスター内凝集度aij:ni個の個体が属するクラスターCiにおいて、個体jと他の個体kまでの平均距離

クラスター間乖離度bij:クラスターCiに属する個体jについて、個体jに最も近いクラスターCjnearに属するnjnear個の個体までの平均距離

クラスターCiに属する個体jのシルエット係数sij:(bij - aij)をaijとbijの大きい方で割った値
 (-1 ≦ sij ≦ 1)

このシルエット係数を全個体について計算して平均値を求めれば、特定のクラスター数の時の凝集度を表す指標になります。 そしてそのシルエット係数平均値が最も大きい時のクラスター数が最適クラスター数候補になります。

クラスター数がq個の時のシルエット係数平均値
 (-1 ≦ msq ≦ 1 N:全個体数)

具体例として、前節のステップ1から4についてシルエット係数平均値を求めてみましょう。 なおシルエット係数の定義から、各個体がそれぞれクラスターであるステップ0と、全個体が1つのクラスターになったステップ5はシルエット係数を計算できません。

○ステップ1

C1:含まれる個体は1
 a1が計算できないのでs1も計算できない!
C2:含まれる個体は2
 a2が計算できないのでs2も計算できない!
C3:含まれる個体は3と4
 個体3のクラスター内凝集度:a33 = d34 = 1
 個体3に最も近いクラスター:C2 → 個体3のクラスター間乖離度:b32 = d32 = 2
  s  = 32 2 - 1 max(1, 2) = 1 2 = 0.5
 個体4のクラスター内凝集度:a34 = d43 = 1
 個体4に最も近いクラスター:C2 → 個体4のクラスター間乖離度:b42 = d42 = 5
  s  = 42 5 - 1 max(1, 5) = 4 5 = 0.8
C5:含まれる個体は5
 a5が計算できないのでs5も計算できない!
C6:含まれる個体は6
 a6が計算できないのでs6も計算できない!
シルエット係数平均値:m  = s5 0.5 + 0.8 6 = 0.216…
※シルエット係数が計算できない個体についてはシルエット係数 = 0として計算した結果

○ステップ2

C1:含まれる個体は1
 a1が計算できないのでs1も計算できない!
C2:含まれる個体は2と3と4
 個体2のクラスター内凝集度:
  a  = 22 d23 + d24 2 = 2 + 5 2 = 3.5
 個体2に最も近いクラスター:C5 → b25 = d25 = 10
  s  = 22 10 - 3.5 max(3.5, 10) = 6.5 10 = 0.65
 個体3のクラスター内凝集度:
  a  = 23 d32 + d34 2 = 2 + 1 2 = 1.5
 個体3に最も近いクラスター:C5 → b35 = d35 = 4
  s  = 23 4 - 1.5 max(1.5, 4) = 2.5 4 = 0.625
 個体4のクラスター内凝集度:
  a  = 24 d42 + d43 2 = 5 + 1 2 = 3
 個体4に最も近いクラスター:C5 → b45 = d45 = 5
  s  = 24 5 - 3 max(3, 5) = 2 5 = 0.4
C5:含まれる個体は5
 a5が計算できないのでs5も計算できない!
C6:含まれる個体は6
 a6が計算できないのでs6も計算できない!
シルエット係数平均値:m  = s4 0.65 + 0.625 + 0.4 6 = 0.279…
※シルエット係数が計算できない個体についてはシルエット係数 = 0として計算した結果

○ステップ3

C1:含まれる個体は1
 a1が計算できないのでs1も計算できない!
C2:含まれる個体は2と3と4と5
 個体2のクラスター内凝集度:
  a  = 22 d23 + d24 + d25 3 = 2 + 5 + 10 3 = 5.666…
 個体2に最も近いクラスター:C1 → b21 = d21 = 13
  s  = 22 13 - 5.667 max(5.667, 13) = 7.333 13 = 0.564…
 個体3のクラスター内凝集度:
  a  = 23 d32 + d34 + d35 3 = 2 + 1 + 4 3 = 2.333…
 個体3に最も近いクラスター:C1 → b31 = d31 = 13
  s  = 23 13 - 2.333 max(2.333, 13) = 2.5 13 = 0.820…
 個体4のクラスター内凝集度:
  a  = 24 d42 + d43 + d45 3 = 5 + 1 + 5 3 = 3.666…
 個体4に最も近いクラスター:C1 → b41 = d41 = 10
  s  = 24 10 - 3.667 max(3.667, 10) = 6.333 10 = 0.633
 個体5のクラスター内凝集度:
  a  = 25 d52 + d53 + d54 3 = 10 + 4 + 5 3 = 6.333…
 個体5に最も近いクラスター:C6 → b56 = d56 = 9
  s  = 25 9 - 6.333 max(6.333, 9) = 2.667 9 = 0.296…
C6:含まれる個体は6
 a6が計算できないのでs6も計算できない!
シルエット係数平均値:m  = s3 0.564 + 0.821 + 0.633 + 0.296 6 = 0.3857
※シルエット係数が計算できない個体についてはシルエット係数 = 0として計算した結果

○ステップ4

C1:含まれる個体は1
 a1が計算できないのでs1も計算できない!
C2:含まれる個体は2と3と4と5と6
 個体2のクラスター内凝集度:
  a  = 22 d23 + d24 + d25 + d26 4 = 2 + 5 + 10 + 37 4 = 13.5
 個体2に最も近いクラスター:C1 → b21 = d21 = 13
  s  = 22 13 - 13.5 max(13.5, 13) = -0.5 13.5 = -0.037…
 個体3のクラスター内凝集度:
  a  = 23 d32 + d34 + d35 + d36 4 = 2 + 1 + 4 + 25 4 = 8
 個体3に最も近いクラスター:C1 → b31 = d31 = 13
  s  = 23 13 - 8 max(8, 13) = 5 13 = 0.384…
 個体4のクラスター内凝集度:
  a  = 24 d42 + d43 + d45 + d46 4 = 5 + 1 + 5 + 26 4 = 9.25
 個体4に最も近いクラスター:C1 → b41 = d41 = 10
  s  = 24 10 - 9.25 max(9.25, 10) = 0.75 10 = 0.075
 個体5のクラスター内凝集度:
  a  = 25 d52 + d53 + d54 + d56 4 = 10 + 4 + 5 + 9 4 = 7
 個体5に最も近いクラスター:C1 → b51 = d51 = 29
  s  = 25 29 - 7 max(7, 29) = 22 29 = 0.758…
 個体6のクラスター内凝集度:
  a  = 26 d62 + d63 + d64 + d65 4 = 37 + 25 + 26 + 9 4 = 24.25
 個体6に最も近いクラスター:C1 → b61 = d61 = 68
  s  = 26 68 - 24.25 max(24.25, 68) = 43.75 68 = 0.643…
シルエット係数平均値:m  = s2 -0.037 + 0.385 + 0.075 + 0.759 + 0.643 6 = 0.3041
※シルエット係数が計算できない個体についてはシルエット係数 = 0として計算した結果

以上の計算結果中のシルエット係数平均値を並べると次のようになります。 この結果ではステップ3のシルエット係数平均値が最も大きく、クラスターが3個の時が最適候補と考えられます。

ステップ1:クラスター数 = 5 ms5 = 0.216
ステップ2:クラスター数 = 4 ms4 = 0.279
ステップ3:クラスター数 = 3 ms3 = 0.3857
ステップ4:クラスター数 = 2 ms2 = 0.3041

また図20.2.11の樹形図を見ると2番、3番、4番、5番の個体が融合する時の距離は比較的短いのに対して、6番と1番が融合する時の距離は長くなっています。 このことから、シルエット分析の結果と同様に1番と6番の個体は単独で1つのクラスターにし、2〜5番の個体はまとめて1つのクラスターにするというグループ分けが最適と考えられます。 このことは図20.2.5の散布図を見ても納得がいくと思います。

クラスターの数を決めたら、次は各クラスターの特徴を要約して各クラスターに適当な名称を付けます。 こうすることによってクラスター分析結果の解釈が容易になります。 例えば図20.2.5の3つのクラスターについては、C1(1番の個体)はスポーツも読書もあまり好きではない「どちらも興味無グループ」、C2はスポーツも読書もある程度は好きな「どちらも興味有グループ」、C6(6番の個体)はスポーツが非常に好きな「スポーツ偏愛グループ」と解釈することができます。