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