前口上 | 目次 | 第1章 | 第2章 | 第3章 | 第4章 | 第5章 | 第6章 | 第7章 | 第8章 | 第9章 | 第10章 |
第11章 | 第12章 | 第13章 | 第14章 | 第15章 | 第16章 | 第17章 | 第18章 | 第19章 | 第20章 | 付録 |
1 | 2 | 3 |
この章ではクラスター分析の目的と原理、そして各種のアルゴリズムについて解説します。
クラスター分析(cluster analysis)は多くの個体を少数のグループつまりクラスター(集落)に分類する手法です。 その際、判別分析のように既存のグループに個体を分けるのではなく、個体の性質に基づいて似たもの同士を集めて新たなグループを作ります。 この手法は生物をその形態学的な特徴に基いて色々な種に分類する時とか、顧客をその特徴に基いていくつかのグループに分ける時などに用いられます。 医学分野では患者をその特徴に基づいていくつかのグループに分類するよりも、既存のグループ——普通は疾患——に属するかどうかを判別する方が多いので、この手法はあまり用いられません。
例えば6名の被験者を対象にして趣味に関するアンケートを行い、スポーツ好きの程度と読書好きの程度を10段階で評価したデータが表20.1.1のようになったとします。 そしてこのデータを散布図にプロットしたものが図20.1.1です。 このデータにクラスター分析を適用して、クラスター分析の原理を説明しましょう。
被験者ID | スポーツ好きの程度 | 読書好きの程度 |
---|---|---|
1 | 1 | 1 |
2 | 3 | 4 |
3 | 4 | 3 |
4 | 4 | 2 |
5 | 6 | 3 |
6 | 9 | 3 |
判別分析と違ってクラスター分析は数学的に明確なモデルを設定せず、データに基いて個体と個体の関係を見やすいように要約し、そこから何かをヒューリスティック(heuristic、発見的)に読み取ろうという記述統計学的手法であり、データマイニングの一種でもあります。 例えば図20.1.1を見ると2〜5番の被験者がかたまっていて、1番と6番の被験者が少し離れていることが何となくわかります。 このことを数学的に表すために、クラスター分析では個体間の「遠さ/近さ」を距離(distance)または類似度(association)を用いて表します。
ユークリッド幾何学で使われる距離であり、普通は平方した値を用いるのでユークリッド平方距離とも呼ばれます。 被検者iについてp個の項目を測定したデータをxi1、…、xij、…、xip、被検者kについて同様のデータをxk1、…、xkj、…、xkpとすると、iとjのユークリッド距離は次のように定義されます。
次のように少し修飾したユークリッド距離を使う時もあります。
判別分析で用いられる距離であり、変数のバラツキ具合つまり分散と、変数間の関連性を考慮した汎用的な距離です。 定義式が少し複雑なので、この距離については第9章の第4節と、そのページの(注2)を御覧ください。 (→9.4 多変量の場合)
各変数が「0:無 1:有」のダミーデータで表される時に用いられる非類似度であり、ユークリッド距離と似た値です。 この値は個体iとkの各変数をクロス集計した2×2の分割表に基いて、次のように2つの個体の「0/1」が一致していない割合として定義されます。
個体i\個体k | xkj=0 | xkj=1 | 計 |
---|---|---|---|
xij=0 | a | b | a+b |
xij=1 | c | d | c+d |
計 | a+c | b+d | n |
2つの個体の「0/1」が一致している割合を表し、1から不一致係数を引いた値になります。
クラスター分析は、個体をグループ分けする方法の違いによって階層的クラスター分析(hierarchical cluster analysis)と非階層的クラスター分析に大別できます。 階層的クラスター分析は、まず最も似ている個体をまとめて小規模なグループを作り、次にそれらのグループの中で最も似ているグループ同士をまとめて大規模なグループを作るというように、階層的にクラスターを作っていく方法です。
それに対して非階層的クラスター分析は、最初にクラスター数を決めておき、似た個体は同じクラスターに属し、異なった個体は別のクラスターに属し、クラスター同士はできるだけ異なった性質を持つようにグループ分けする方法です。 非階層的クラスター分析は主としてマーケットリサーチの分野で用いられる手法なので、ここでは階層的クラスター分析について説明しましょう。
階層的クラスター分析では次のような手順でクラスターを作ります。
今、クラスターgとhとkがあり、gとhの距離をdgh、gとkの距離をdgk、hとkの距離をdhkとします。 そしてgとhを融合して新しいクラスターgを作成した時、つまりhをgに融合した時、融合後のgとkの距離をdg*kとします。
このdg*kをどのように定義するかについて、次のように色々な方法があります。 これらの方法は組み合わせ的手法(combinatorial method)と呼ばれます。
融合前の2つのクラスターと他のクラスターの距離のうち、短い方の距離を融合後の距離にする方法です。 この方法は個体が1つの方向に長い鎖状(chain)に連なっている時に適しています。 しかしそうでない時は空間の濃縮が起こりやすく、クラスターの分離度が悪くなる傾向があります。
最短距離法とは反対に、融合前の2つのクラスターと他のクラスターの距離のうち、長い方の距離を融合後の距離にする方法です。 この方法は個体がいくつかの団子状(globular)にかたまっている時に適しています。 しかしそうでない時は空間の拡散が起こりやすく、クラスターが分離していく傾向があります。
最短距離法と最長距離法を折衷した方法であり、融合前の2つのクラスターと他のクラスターとの距離の中央値を融合後の距離にする方法です。 この方法は個体がいくつかの集団になっていて、それぞれの集団に含まれる個体数がバラバラの時に適しています。
融合後のクラスターの距離的重心と他のクラスターの距離を融合後の距離にする方法です。 この方法は個体がいくつかの集団になっていて、それぞれの集団に含まれる個体数が大体同じ時に適しています。
融合後のクラスターの全ての個体と他のクラスターの距離を求め、その平均値を融合後の距離にする方法です。 この方法は個体が長い鎖状になっている時にも団子状にかたまっている時にも適しています。 しかし次のウォード法より少しバランスが悪い傾向があります。
融合後のクラスター内の個体間距離の平方和を最小にする点を求め、その点と他のクラスターとの距離を融合後の距離にする方法です。 この方法は最もバランスの取れた方法であり、実際に利用されることの多い方法です。