エルボー法
概要
エルボー法は、k-means クラスタリングの最適なクラスタ数 を自動推定する手法です。 を変化させたときの WCSS(クラスタ内二乗和)の変化率が急激に鈍化する「肘(elbow)」の点を最適 とみなします。
Tunny Dashboard では「Elbow (Auto)」モードで自動推定を行い、ユーザーが手動指定しなくても適切な を選択できます。
本ページでは、この推定を WCSS の収集、二次差分の計算、推奨 の決定という 3 ステップに分けて説明します。
理論背景
WCSS の挙動
クラスタを増やすほど各点は近い重心を持てるため、$k$ を増やすにつれて WCSS は必ず単調減少します。 (点と同数)にすれば各点が自分自身の重心になるので WCSS は 0 になりますが、それは 1 点ずつに分けただけで、まとまりを見つけたことにはなりません。
つまり WCSS の小ささだけを基準にすると、$k$ はいくらでも大きくできてしまいます。
そのため、値そのものではなく減り方の変化を見ます。
「十分な分割効果」が得られる点を超えると、WCSS の減少量は急速に小さくなります。
この屈曲点がエルボーであり、過剰分割(過学習的クラスタリング)を避けた適切な とみなされます。
アルゴリズム
ステップ 1:WCSS の収集
のそれぞれで k-means を実行し、WCSS を記録します:
このとき各 の k-means を Deterministic 戦略で初期化することで、同じデータであれば何度実行しても同じ WCSS 列が得られます(kmeans.md 参照)。 です。
上限のデフォルトは 10 で、k 選択が Elbow (Auto) のとき、クラスタウィジェットの「Max k」(範囲 2〜50)で変更できます($N$ はトライアル数)。
Max k を引き上げると k-means の実行回数もそのぶん増えるので、トライアル数が多い場合は実行時間に注意してください。 の実体について補足します。
ここで収集される各 の実体は、最近傍重心への二乗距離の標本平均(WCSS / N)であって、WCSS の総和ではありません(kmeans.md の該当注記を参照)。
ですが、$N$ はどの を試しても共通なので、これは各 を共通の定数 倍するだけであり、後述する二次差分の最大位置には影響しません。
ステップ 2:二次差分の計算
WCSS 列の二次有限差分を計算します:
インデックス の は、位置 における曲線の「曲がり具合(凹性)」を表します。
二次差分は一次の変化(傾き)を打ち消すため、WCSS が一定の割合で減り続けているあいだは 0 に近いままです。
直線では となり、エルボー点では が最大となります。
ステップ 3:推奨 の決定
のオフセットは、$k = 2$ から始まる WCSS インデックスと二次差分インデックスのずれによります。
| 変数 | との対応 |
|---|---|
| の 3 点を使用 → 肘は ( ) | |
| 肘は |
推定 は の範囲にクランプされます。
具体例
たとえば での WCSS が以下のようになったとします。
| WCSS | |
|---|---|
| 2 | 1000 |
| 3 | 400 |
| 4 | 350 |
| 5 | 340 |
二次差分:
が最大のため、推奨 です。
WCSS は から 3 にかけて 1000 から 400 へ大きく下がり、そこから先はほとんど下がっていません。
表の値を見ても折れ曲がりは にあり、二次差分による推定もそこを指しています。
特殊ケース
トライアル数が少ない場合や点が退化している場合は、上記の手順をそのまま適用できません。
これらのケースでは、次のようにフォールバックします。
| ケース | 動作 |
|---|---|
| WCSS を計算せず、 を返す | |
| 試行数が 2 以下(差分列が短い) | 二次差分を計算せず、 を返す |
| 全点が 1 点に重なる(距離 ) | 重複回避フォールバックで後続の点を重心として使用 |
強みと限界
強み
- ユーザーが を指定しなくてよい
- 計算コストが低い( 回の k-means 実行で完了)
- 二次差分は線形トレンドをキャンセルし、曲率だけを評価するため頑健
限界
- WCSS が滑らかに減少しエルボーが不明瞭なデータでは、推定精度が下がる
- クラスタが自然に存在しないデータ(一様分布など)では、過剰な を推奨する場合がある
- のデフォルトは 10。より多くのクラスタ数が必要なデータでは、「Max k」設定(最大 50)を引き上げることで真のエルボーを探索範囲に含められる(k-means の実行回数は増える)
エルボー法が返すのは、あくまで WCSS 曲線の曲がりが最大になる位置です。
データに明確なまとまりがない場合でも、曲線のどこかが最も曲がっている以上、何らかの が返ってきます。
推定結果が不自然なとき
エルボー法の推定が直感と合わない場合は、「Manual」モードに切り替えて を直接指定します。
その際は、WCSS が急激に下がる の直後を選び、解釈性を重視する場合は小さい を優先するとよいです。
クラスタ数に唯一の正解があるわけではありません。
いくつかの を試して、解釈しやすい分割を選ぶという進め方でも構いません。
参考文献
- Thorndike, R. L. (1953). Who Belongs in the Family? Psychometrika, 18(4), 267–276. https://doi.org/10.1007/BF02289263