日々の事柄に関する雑記帳。


用語

AHC
Agglomerative Hierarchical Clustering
凝集型階層的クラスタリング
centroid質量中心
重心
centroid method重心法
CLACLuster Analysis
Euclidean distanceユークリッド距離
gap statisticギャップ統計量
K-meansK平均法

クラスタ分析

クラスタ間の距離

ユークリッド距離
平均ユークリッド距離
標準化ユークリッド距離
マハラノビス距離
マンハッタン距離
市街地距離
チェビシェフ距離
ミンコフスキー距離
  • クラスター分析における距離の標準化
通常のユークリッド距離は式からわかるとおり、各データの性質の差の2乗和の平方根です。よって、簡単に言えばこの距離は、各性質の単位を無視しているということになります。例えば、長さの差3m(メートル)と気温の差3℃が同等の割合 で性質の差(クラスターの割り当て)に影響すると考える、ということです。それに対して、標準化ユークリッド距離はその逆で、標準化を行なうことでデータの持つ性質の差が性質ごとに開きがないように配慮しているわけです。
標準化ユークリッド距離は各性質の差を標準化していますが、標準化ユークリッド距離のほうがユークリッド距離よりも優れているということではありません。なぜなら、標準化するということは、性質ごとの影響力、重みをなくすということであり、本来影響力がある性質の差も、ほとんど影響のない性質の差も等しく扱うということになってしまうからです。

クラスター分析の手法 奮詰廖

クラスタリング手法

最短距離法minimum
single-linkage clustering
異なるクラスタの内、最も近いデータ同士の距離を、クラスタ間の距離とする。
再長距離法maximum
complete-linkage clustering
異なるクラスタの内、最も遠いデータ同士の距離を、クラスタ間の距離とする。
群平均法UPGMA
Unweighted Pair-Group Method using Arithmetic Mean
異なるクラスタの全データ同士の距離の平均を、クラスタ間の距離とする。
McQuitty法WPGMA
Weighted Pair-Group Method using Arithmetic Mean
異なるクラスタの全データ同士の距離の平均を、クラスタ間の距離とする。
重心法UPGMC
Unweighted Pair-Group Method with Centroid
異なるクラスタの重心(データの平均)同士の距離を、クラスタ間の距離とする。
メディアン法WPGMC
Weighted Pair Group Method with Centroid
異なるクラスタの重心(データの平均)同士の距離を、クラスタ間の距離とする。
ウォード法Ward's method異なるクラスタを一グループとし、グループ内平方和を最小にするようにクラスター間の距離を定義する。

LanceとWilliamsは、6つの方法を統一的に扱い式を示し、各方法の違いをパラメータ(αp, αq, β γ)の違いで決定できると示した。
  1. 最短距離法
  2. 再長距離法
  3. 重心法
  4. メディアン法
  5. 群平均法
  6. ウォード法

最適なクラスタ数を求める

エルボー法
発想
  • クラスタ分割数kが増えるほど、クラスター内変動は下がり続ける。
  • kが変化することによる、変動の変化量を調べる。
  • 変化量が少なくなる位置(プロット上の「肘」)のkを見つける。

クラスタ内変動=クラスタ内距離の平方和=クラスタ内誤差の平方和
距離(誤差)→クラスタ内のデータから、クラスタの重心までの距離

クラスター分析:クラスター数の決定法
【R言語】階層的クラスタリング結果の可視化及び客観的なクラスタ数の決定方法について
ギャップ統計
発想
  • クラスタ分割数kが増えるほど、クラスター内変動は下がり続ける。
  • kが変化することによる、変動の変化量を調べる。
  • 観測データのクラスタ、一様分布データのクラスタ間の変動を比較し、ギャップGap(k)が最大となるkを見つける。
  1. 解析対象データと、データが散乱し、まとまりをもたない架空のデータ(一様分布のデータ、クラスタ数1のデータ)を用いる。
  2. 両者をクラスタリングし、クラスタのコンパクト性を比較する。
  3. 最大の比較結果(ギャップ)を得るクラスタ数を、最適なクラスタ数と見なす。
解析対象データと架空データの範囲は同じことに注意。


  • コンパクト性
一様分布から作成されたクラスタ内の距離の平均と元データのクラスタ内の距離の平均とを比べて、より密集しているクラスタ数を採用するという方法である。
Wk観測データによるクラスタ内の変動
Wunif一様分布データによるクラスタ内の変動
sWunifの標準誤差

W = \sum_{k=1}^{K}\;\sum_{C(i)=k}\|X_{i}-\bar{X}_{k}\|_2^2\\

\begin{align}
Gap(k) &= \log\;\frac{W_{unif}}{W_k}\\
&= \log\;W_{unif}-\log\;W(k)
\end{align}\\

\hat{k}=min\{
k\in {1,...,k_{max}\;:\;Gap(k) \geq Gap(k+1)-s(k+1)
\}

gap統計量とS_Dbw
パターン認識02 k平均法ver2.0
R K-means法のクラスタ数を機械的に決定する方法
シルエット分析
凝集度クラスタ内の全データの距離の平均
乖離度クラスタ同士の距離
シルエット・スコア凝集度、乖離度のバランス

シルエット・スコア:±1の間の値を取る。
1所属クラスタの中心に近い。
隣接するクラスタから遠い。
クラスタリングの分離性能が良い。
0クラスタ間の決定境界付近に存在する。クラスタリングの分離性能が悪い。
-1 間違ったクラスタに所属している可能性がある。

あるクラスタをA、Aに最も近いクラスタをBとする。
aiクラスタAの凝集度
クラスタA内の平均距離
biクラスタAB間の意乖離度
クラスタAB間の平均距離
siシルエット・スコア

x_i \in A\\
x_j \in A\, and\;i \neq j\\
x_m \in B\\
a_i = \sum_{j=1}^{N}\;\frac{\|x_{i}-x_{j}\|}{N}\\
b_i = \sum_{m=1}^{M}\;\frac{\|x_{i}-x_{m}\|}{M}\\
s_i = \frac{b_{i}-a_{i}}{max(a_i, b_i)}

クラスター数の決め方の1つシルエット分析
k-meansの最適なクラスター数を調べる方法
クラスタリングとレコメンデーション資料

R

dist距離行列を求める。
factoextra::fviz_clusterクラスタのプロット。
factoextra::fviz_dend樹形図の描画。
hclust階層的クラスタ分析。
hcut階層的クラスタと樹形図の計算。

Python

wardウォード法による距離行列を求める。
dendrogram樹形図の生成。
AgglomerativeClustering凝集型クラスタリング
タグ

管理人/副管理人のみ編集できます