6.6 聚类分析

6.6.1 距离与相似性的度量

6.6.1.1 距离的度量

距离的定义应当具有如下性质

  1. 非负性:\(d_{ij} \geq 0\)

  2. 对称性:\(d_{ij}=d_{ji}\)

  3. 三角不等式: \(d_{ij} \leq d_{ik} + d_{kj}\)

常用的距离有闵可夫斯基距离、欧氏距离、马氏距离、曼哈顿距离。

6.6.1.2 相似性的度量

有时可能会对指标之间进行聚类,指标间的距离常用相似系数进行度量。相似系数具有如下性质

  1. \(c_{ij}= \pm 1 \Leftrightarrow X_i=aX_j, \, a\neq 0\)

  2. \(|c_{ij}| \leq 1\),若\(|c_{ij}|\)越接近1则变量间关系越密切,越接近0则关系越疏远

  3. \(c_{ij}=c_{ji}\)

常用的相似系数有相关系数、夹角余弦。

距离与相似系数之间可以相互转化

6.6.2 系统聚类

6.6.2.1 类与类之间的距离

  1. 最短距离法:\(D_{KL} = \min\limits_{i\in G_K, j \in G_L} \{d_{ij}\}\)

适用于长条形的或不规则现状的类,对球形类的效果不是很好

  1. 最长距离法:\(D_{KL} = \max\limits_{i\in G_K, j \in G_L} \{d_{ij}\}\)

倾向于产生直径相等的类,易受异常值的影响

  1. 类平均法:\(D_{KL}=\frac{\sum_{i\in G_K, j \in G_L}d_{ij}}{n_Kn_L}\)

两类中所有距离的平均数,倾向于先合并方差小的类,而且偏向于产生方差相同的类

  1. 中间距离法:\(D_{MJ}^2=\frac{1}{2}D_{KJ}^2+\frac{1}{2}D_{LJ}^2-\frac{1}{4}D_{KL}^2\)

平行四边形的对角线的中线距离,

  1. 重心法:\(D_{KL}^2 = ||\bar X_K - \bar X_L||^2 = (\bar X_K-\bar X_L)'(\bar X_K-\bar X_L)\)

注意这里是平方距离,是重心差的内积。和其他系统聚类方法相比在处理异常值方面更稳健

  1. Ward法:\(D_{KL}^2 = ||\bar X_K - \bar X_L||^2/(\frac{1}{n_K}+\frac{1}{n_L})\)

在重心法的基础上多除了各自数量的倒数和。该法倾向于先合并样品少的类,且对异常值非常敏感

下面是不同形状数据及各种距离的系统聚类方法效果。

  1. 能完全分开的球状数据

    各种距离的系统聚类方法均适用。

  2. 不能完全分开的球状数据

    • Ward法、类平均法、重心法的聚类形状差不多,Ward法比较适合样本大小相等的球状数据的聚类。

    • 最短距离法最差。

  3. 样本大小不等的球状数据

    重心法的聚类效果最好,类平均法偏向产生方差相等的类。

  4. 并排拉长的数据

    • 最短距离法效果最好。

    • Ward法、类平均法、重心法都不行。数据进行预处理后可以得到较好的聚类结果。

  5. 非球状数据

    • 最短距离法聚类效果最好。

    • Ward法、类平均法、重心法都不行,即使对数据进行预处理后仍不起作用。

系统距离的特点:

  1. 无需事先指定类的数目。

  2. 需要确定相异度(距离/相似性系数)和联接度量准则。

  3. 运算量较大,适用于小规模数据。

  4. 一旦完成合并或分裂,则无法撤销或修正。

6.6.3 Kmeans

算法步骤:

  1. 输入观测样本数据和聚类数目K。

  2. 随机将所有观测样本分配到K个类中,作为样本初始类。

  3. 分别计算K个类的中心\(\bar x^{(i)}, \, i=1,...,K\)

  4. 计算每个观测样本到其所属类的中心的平方距离\(SSE=\sum_{i=1}^K\sum_{j\in G_i} ||x_j-\bar x^{(i)}||^2\)

  5. 重新将每个观测样本分配到距离其最近的类中心所在的类中,使得SSE减少。

  6. 重复第3-5步,直至SSE不在减少,得到最终的聚类结果。

kmeans聚类的特点:

  1. 核心思想是使同类内所有样本点的总体差异性尽可能小。

  2. 适用于中大规模样本数据。

  3. 需要事先指定聚类的数目K。

  4. 不同的初始类可能会导致不同结果。

  5. 适用于发现球状类。

  6. 可能会陷入局部解。

  7. 对异常值非常敏感。