← study-apps.com 学習サイト集トップへ

クラスター分析

「似たもの同士をグループに分ける」自動分類の理論と手法を学びます。

このモジュールで学ぶこと 「1000人の購買データから、自然なお客様のタイプ分けができるか?」——事前にグループ数や特徴がわからない状態で、データを「似たもの同士のまとまり(クラスター)」に分けるのがクラスター分析です。判別分析が「既知のグループへの割り当て」なら、クラスター分析は「グループ自体を発見する」教師なし学習です。 「何をもって似ている?」——距離の定義 クラスター分析ではまず「2点の近さ(距離)」を定義します。よく使う距離: ユークリッド距離:(普通の直線距離) マンハッタン距離:(街路に沿った距離) マハラノビス距離:変数の分散・共分散を考慮した距離(スケールの影響を受けない) 階層型クラスター分析とデンドログラム 50人の顧客の購買データがあるとします。最初は全員を「別々の50グループ」として出発し、最も似た2人を1グループに統合、また最も似たペア(またはグループ)を統合……という作業を繰り返すと、最終的に全員が1グループになります。この「くっつけていく」過程を追うのが階層型クラスター分析(Hierarchical Clustering)です(凝集型)。 結果はデンドログラム(樹形図)で表されます。横軸がデータ、縦軸が併合されたときの距離(非類似度)です。デンドログラムの「枝の高さ」でカットすることで任意のクラスター数を得られます。 クラスター間の距離の定義(リンク法): ウォード法(Ward's Method):クラスター内の偏差平方和の増分を最小化——最もよく使われ、コンパクトなクラスターを作ります 完全リンク法:2クラスター内の最大距離(最も遠いペア)で定義——外れ値に対してロバスト 単リンク法:2クラスター内の最小距離(最も近いペア)——くさり状のクラスターになりやすい 群平均法:全ペアの平均距離 試験頻出:ウォード法は準1級で最頻出のリンク法です。「クラスター内平方和の増加を最小化する」という性質を覚えましょう。 k-means 法 10,000人の顧客を「買い物パターンで3タイプに分けたい」とします。階層型は全ペアの距離を計算するため計算量が膨大になりがちです。一方、「 と最初から決めて分ける」ことで大規模データにも対応できるのがk-means 法です。 アルゴリズム: 個の重心(セントロイド)を初期配置 各点を最も近い重心のクラスターに割り当て 各クラスターの重心を更新 2〜3を収束まで繰り返す 最小化する目的関数:(クラスター内平方和)。 k-means の注意点: 初期値依存(複数の初期値で試す) クラスター数 を事前に決める必要がある(エルボー法で判断) スケールの影響を受けるため、事前に標準化が必要 よくある誤解:「k-means はどんなデータにも使える万能な手法」と思いがちですが、誤りです。k-means は目的関数(クラスター内平方和の最小化)の構造上、等方的(球状)でほぼ同じ大きさのクラスターを仮定しています。そのため(a) 細長く伸びた帯状のクラスター(例:三日月型)、(b) クラスター間で大きさやばらつきが大きく異なる場合、(c) 階層構造を持つデータ、では明らかに不適切なグループ分けになります。このような場合は密度ベースの DBSCAN や階層クラスタリング(ウォード法・単リンク法)を検討します。 距離行列とクラスター評価 距離行列(Distance Matrix)は の対称行列で、全データペア間の距離を格納します。階層型クラスター分析の入力として使われます。 クラスター分析の結果を評価する指標: シルエット係数(Silhouette Score):各点 について、クラスター内の平均距離 と最近傍クラスターとの平均距離 を使って: の範囲は で、1に近いほど適切なクラスタリングです。目安として平均シルエット係数が 0.5 以上なら概ね良好、0.25 未満なら構造が弱いと判断します。 が負の値の点は、別のクラスターに入った方が自然だったことを示します。 クラスター数の決定にはシルエット係数の平均値、エルボー法、デンドログラムの見た目などを総合して判断します。 k-means vs 階層クラスタリングの使い分け クラスター分析は大きく分けて 非階層型(k-means) と 階層型(凝集型) の 2 系統があります。データの規模・目的・ の事前知識に応じて選びます。 k-means:あらかじめクラスター数 を指定し、各点をその重心に割り当てる手法。大規模データに強く、球状(等方的)なクラスタを想定するとき有効です。 階層クラスタリング:すべてのペア間距離から樹形図(デンドログラム)を構築する手法。 が未知でも構造を視覚化できますが、計算量が大きく大規模データには不向きです。 試験頻出:k-means vs 階層の比較表 判断の目安:「 がだいたい分かっていて高速に分類したい」なら k-means、「 が分からず、まずデータの構造を眺めたい」なら階層、というのが基本方針です。 の決定方法 k-means では を事前に決める必要があるため、複数の候補から最適値を選ぶ手続きが重要です。代表的な方法は次の 3 つです。 エルボー法: ごとにクラスタ内平方和(WCSS)を計算し、 を横軸・WCSS を縦軸にプロットします。 を増やすほど WCSS は単調減少しますが、ある から減り方が緩やかになる「肘の点」を選びます。 シルエット係数:各 について平均シルエット係数を計算し、最大となる を選びます。値の範囲は から で、 以上なら良好な分離、 未満なら構造が弱いと判断します。 ギャップ統計量:観測データの WCSS と「一様分布から生成した参照データ」の WCSS の差(ギャップ)が最大となる を選びます。理論的根拠が比較的厳密で、エルボーが曖昧なときに有用です。 数値例:アイリスデータ(がく片・花弁の 4 変数、150 個体)に k-means を適用すると、 で WCSS の減少がカクッと緩やかになり(エルボー点)、平均シルエット係数もおよそ と や より高くなります。実際の品種数(setosa・versicolor・virginica)と一致するため、教科書例として頻出です。 距離尺度の使い分け クラスター分析の結果は「何をもって似ているとみなすか」——すなわち距離尺度の選択に大きく依存します。 ユークリッド距離 :最も標準的な距離。連続変数で次元のスケールが揃っているとき(または標準化後)に使います。 マンハッタン距離 :座標軸方向の絶対差の和。外れ値の影響を受けにくく、ロバストな分析が必要なときに使います。 マハラノビス距離 :共分散行列 で標準化するため、変数間の相関を考慮できます。多変量正規分布を仮定する場面で有効です。 コサイン類似度 :ベクトルの「向き」を測る尺度。テキスト分類(TF-IDF ベクトル)や推薦システムなど、大きさより方向が意味を持つ場面で使います。 試験頻出:距離尺度の選び方 判断の目安:距離尺度の選択は分析結果を左右します。「変数のスケールを揃えたか」「相関を考慮すべきか」「外れ値の影響を抑えたいか」の 3 点を確認してから選ぶと迷いません。

確認クイズ(抜粋)

Q1. 階層型クラスター分析の結果を可視化する図を何と呼ぶか?

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

Q2. ウォード法(Ward's Method)がクラスター間距離を定義する方法はどれか?

A. クラスター内平方和の増分を最小化

Q3. k-means 法で必要な事前指定はどれか?

A. クラスター数

全10問のクイズはサイトのインタラクティブ版でお試しください。

第5章の他のモジュール

※本サイトは個人による学習支援サイトであり、統計質保証推進協会・日本統計学会の公式サイトではありません。