中国人民大学出版社。

需要额外安装的软件包:

聚类的思想是把相近的元素聚集到一起。 不同的元素距离定义会造成不同聚类结果。

设 \(X\) 是实数域上的线性空间, 在 \(X\) 中定义二元函数 \(d(x,y)\) , 如果 \(d(x,y)\) 满足:

  • 正定性: \(d(x,y) \geq 0\) , \(\forall x, y \in X\) ; \(d(x,y) = 0\) 当且仅当 \(x=y\) ;
  • 对称性: \(d(x,y) = d(y,x)\) , \(\forall x, y \in X\) ;
  • 三角不等式: \(d(x,y) \leq d(x,z) + d(z,y)\) , \(\forall x, y, z \in X\) ,
  • 则称 \(d(x,y)\) 是 \(X\) 上的一个 距离 , 称 \((X,d)\) 为距离空间或度量空间。

    下面定义了一些距离, 其中有一些不满足距离定义, 严格来讲只能算是相异度(dissimilarity):

  • 欧式距离(2范数): \[\begin{aligned} d(\boldsymbol x, \boldsymbol y) = \| \boldsymbol x - \boldsymbol y \|_2 = \sqrt{\sum_{j=1}^p (x_j - y_j)^2} . \end{aligned}\]

  • 曼哈顿距离(1范数): \[\begin{aligned} d(\boldsymbol x, \boldsymbol y) = \| \boldsymbol x - \boldsymbol y \|_1 = \sum_{j=1}^p | x_j - y_j | . \end{aligned}\]

  • 最大值距离(切比雪夫距离,上确界距离,无穷范数): \[\begin{aligned} d(\boldsymbol x, \boldsymbol y) = \| \boldsymbol x - \boldsymbol y \|_\infty = \max_{j} | x_j - y_j | . \end{aligned}\]

  • 闵可夫斯基(Minkowski)距离( \(\alpha\) 范数): \[\begin{aligned} d(\boldsymbol x, \boldsymbol y) = \| \boldsymbol x - \boldsymbol y \|_\alpha = \left[ \sum_{j=1}^p |x_j - y_j|^\alpha \right]^{1/\alpha} . \end{aligned}\] 其中 \(\alpha>0\) 。

  • 马氏(Mahalanobis)距离: \[\begin{aligned} d(\boldsymbol x, \boldsymbol y) = \sqrt{ (\boldsymbol x - \boldsymbol y)^T S^{-1} (\boldsymbol x - \boldsymbol y) }, \end{aligned}\]

    其中 \(S\) 是一个正定矩阵,一般取为样本协方差阵, 可以消除量纲与相关性的影响(相关性又与多元观测取值的聚集方向有关)。

  • 兰氏(Lance)距离: \[\begin{aligned} d(\boldsymbol x, \boldsymbol y) = \sum_{j=1}^p \frac{|x_j - y_j|}{x_j + y_j}, \end{aligned}\] 其中所有 \(x_j, y_j\) 均为正数。

  • 二进(Binary)距离: 若所有分量都取0或1, 则 \(\boldsymbol x\) 与 \(\boldsymbol y\) 的距离是各对应分量中恰有一个1的对数与至少有一个1的对数的比值。 这也称为Jaccard距离, 来自生物学中Jaccard指数的定义。 设 \(\boldsymbol x\) 与 \(\boldsymbol y\) 的各对分量中同时为1的有 \(f_{11}\) 对, 至少有一个1的有 \(f_{01} + f_{10} + f_{11}\) 对, 则Jaccard指数为 J(\boldsymbol x,\boldsymbol y) = \frac{f_{11}}{f_{01} + f_{10} + f_{11}}, 而Jaccard距离为 \[\begin{aligned} d(\boldsymbol x, \boldsymbol y) = 1 - J(\boldsymbol x, \boldsymbol y) = \frac{f_{01} + f_{10}}{f_{01} + f_{10} + f_{11}} . \end{aligned}\]

  • 距离越小, 两个观测点 \(\boldsymbol x\) 与 \(\boldsymbol y\) 之间越接近。

    欧氏距离、曼哈顿距离、最大值距离都是闵可夫斯基距离的特例, 如果各个分量的取值差距很大, 则距离将主要由绝对值大的那个分量决定。 部分问题可以通过标准化每个分量解决, 采用马氏距离也是较好的解决方法。

    以上的距离中观测的各分量都是数值型的, 实际数据中的分量有些是数值型的, 有些是分类数据。 这时常用Gower距离, 设观测数据矩阵为 \(M=(x_{ij})_{n\times p}\) , 每行为一个观测,每列为一个变量(feature), 第 \(s\) 行与第 \(t\) 行的Gower距离定义为 d(s, t) = \frac{1}{p} \sum_{j=1}^p d_j(s, t, M), 如果第 \(j\) 个分量是分类变量, 则 \(d_j(s, t, M)\) 仅当观测 \(s\) 和观测 \(t\) 的第 \(j\) 分量属于同一类时等于0, 否则等于1。 如果第 \(j\) 分量是数值型变量, d_j(s, t, M) = \frac{|x_{sj} - x_{tj}|}{\text{range}(x_{1j}, x_{2j}, \dots, x_{nj})} . 其中 \(\text{range}\) 表示极差(最大值减去最小值)。 这样,每个 \(d_j(s,t,M)\) 都取值于 \([0,1]\) 中, 最终的 \(d(s,t)\) 也取值于 \([0,1]\) 中。 R的cluster包的 daisy() 函数可以计算Gower距离。

    为了度量两个变量的所有观测值之间的距离, 更多地使用相似性的概念。 设数据为 \(n\) 个观测,每个观测有 \(p\) 个变量, 第 \(i\) 个观测为 \((x_{i1}, x_{i2}, \dots, x_{ip})\) , 则第 \(k\) 个变量的 \(n\) 个观测值与第 \(j\) 个变量的 \(n\) 个观测值的相近程度可以用样本相关系数度量: \[\begin{aligned} r_{kj} = \frac{\sum_{i=1}^n (x_{ik} - \bar x_{\cdot k}) (x_{ij} - \bar x_{\cdot j}) } {\sqrt{ \sum_{i=1}^n (x_{ik} - \bar x_{\cdot k})^2 \; \sum_{i=1}^n (x_{ij} - \bar x_{\cdot j})^2}}, \ k, j = 1,2,\dots,p . \end{aligned}\] \(r_{kj}\) 越大相似度越高。 在仅关心两个变量关系的强弱而不关心关系是正向还是反向的时候, 也可以用 \(|r_{kj}|\) 度量相似度。 式中 \(\bar x_{\cdot k} = \frac{1}{n} \sum_{i=1}^n x_{ik}\) 是数据矩阵 \((x_{ik})_{n\times p}\) 的第 \(k\) 列的样本平均值。

    用相关系数转化的距离: d_{kj} = \sqrt{2[1 - r_{kj}]}

    把第 \(k\) 个变量的 \(n\) 个观测值与第 \(j\) 个变量的 \(n\) 个观测值看作 \(\mathbb R^n\) 中的两个向量, 用这两个向量的夹角余弦度量其相近程度: \[\begin{aligned} \cos\theta_{kj} = \frac{\sum_{i=1}^n x_{ik} x_{ij}} {\sqrt{ \sum_{i=1}^n x_{ik}^2 \; \sum_{i=1}^n x_{ij}^2 }} \end{aligned}\] 此余弦取值于 \([-1, 1]\) 之间,值越大表明第 \(k\) 和第 \(j\) 变量相似性越高。

    当观测数据集各列是中心化(每列均值为零)时, 两列的相关系数和夹角余弦是相等的。 但是,使用夹角余弦时不取绝对值。

    对其它更复杂的对象往往也需要计算相异度或者距离。 igraph扩展包的shortest.paths()函数计算图中各节点之间的距离, xkcd扩展包的cophenetic()函数计算一棵树的叶结点之间的距离, distory扩展包的dist.multiPhylo()函数可以用来计算两棵树之间的距离。

    两个图之间的Jaccard距离也可以有定义, 假设两个图的节点相同, 则只要比较共同的边, 据此定义Jaccard距离, igraph扩展包的similarity()函数实现了这一个功能。

    距离和相异度也可以用于比较图像、音频、地图、文档等复杂对象。 细心设计的距离定义可以包含学科知识, 并可以将包含许多异质数据的困难问题简化。 例如,对新闻文本, 经常先切分词语再计算词语频数作为数据。 对数据的相似度或相异度的理解可以引发对数据的更好的呈现。

    5.3 系统聚类法

    设数据为 \(n\) 个观测(样品), 每个观测有 \(p\) 个变量, 第 \(i\) 个观测为 \((x_{i1}, x_{i2}, \dots, x_{ip})\) , 数据组成数据矩阵 \((x_{ij})_{n \times p}\) 。

    Q型系统聚类法的基本步骤是: 开始时将 \(n\) 个样品看作单独的 \(n\) 个类, 将最接近得两个样品合并成一类, 变成 \(n-1\) 个类; 继续从 \(n-1\) 个类中找到最相近的两个类将其合并, 变成 \(n-2\) 个类,如此重复直到合并成了一个大类为止。 R型系统聚类法步骤类似,只不过是针对变量组合并。

    系统聚类算法需要考虑两个问题: 如何衡量两个类的相近程度; 如何选择最终分成多少个类。 前一个问题比较基本, 后一个问题更困难。

    5.3.1 Q型系统聚类的距离

    设 \(G_s\) 和 \(G_t\) 为两个类, \(d_{ij}\) 表示第 \(i\) 样品与第 \(j\) 样品的距离(常用欧式距离), 度量两个类 \(G_s\) 与 \(G_t\) 之间的距离 \(D_{st}\) 有如下几种常用方法:

  • 最小距离法(single linkage):
  • \(G_s\) 与 \(G_t\) 之间的距离是两类中距离最近的两个样品的距离,即 \[\begin{align*} D_{st} = \min_{i \in G_s,\; j \in G_t} d_{ij} . \end{align*}\]

  • 最大距离法(complete linkage): \(G_s\) 与 \(G_t\) 之间的距离是两类中距离最远的两个样品的距离,即
  • \[\begin{align*} D_{st} = \max_{i \in G_s,\; j \in G_t} d_{ij} . \end{align*}\]

  • 中间距离法(median linkage), 这是介于最小距离与最大距离之间的一种类间距离。

  • 重心距离法(centroid linkage): 用 \(\bar{\boldsymbol x}_s\) 表示 \(G_s\) 中的所有观测的样本平均值, 定义 \(G_s\) 与 \(G_t\) 之间的距离为 \(D_{st} = d(\bar{\boldsymbol x}_s, \bar{\boldsymbol x}_t)\) 。

  • 类平均距离法:设 \(G_s\) 中有 \(n_s\) 个观测, \(G_t\) 中有 \(n_t\) 个观测, 定义 \(G_s\) 与 \(G_t\) 之间的距离两类的观测之间所有两两组合的距离平均,即

  • \[\begin{align*} D_{st} = \frac{1}{n_s n_t} \sum_{i \in G_s} \sum_{j \in G_t} d_{ij} . \end{align*}\]

  • 离差平方和法(Ward法): 基于方差分析思想,如果分类正确, 类内的离差平方和应该较小而类间离差平方和应该较大。 设 \(G_s\) 的 \(n_s\) 个样品的样本平均值为 \(\bar{\boldsymbol x}_s = (\bar x_{s1}, \dots, \bar x_{sp})^T\) , 则 \(G_s\) 的类内离差平方和为 \(W_s = \sum_{i \in G_s} \sum_{j=1}^p (x_{ij} - \bar x_{sj})^2\) , 如果把 \(G_s\) 和 \(G_t\) 合并,记为类 \(G_c\) , 定义 \(G_s\) 与 \(G_t\) 的Ward距离为 \(W_r - (W_s + W_t)\) , 即合并造成的类内离差平方和的增量。
  • 5.3.2 R型类间距离

    设 \(G_s\) 和 \(G_t\) 为两个变量类, 用 \(r_{ij}\) 表示第 \(i\) 变量与第 \(j\) 变量的相似型度量值, \[\begin{align*} R_{st} = \max_{i \in G_s, \; j \in G_t} r_{ij} \end{align*}\] 作为两个变量组 \(G_s\) 与 \(G_t\) 之间的相似度。

    注意,如果要用相关系数作为变量间相似度, \(r_{ij}\) 应取为相关系数绝对值。 夹角余弦可能也需要取绝对值。

    5.3.3 身体测量指标聚类

    measure数据框包含了10个成年男性、10个成年女性的胸围、腰围、臀围测量值(单位:英寸)。 对这三种测量值使用聚类分析, 看能否区分男女。

    5.3.4.1 数据

    教材P.41例4.1: 10种葡萄酒有6个评分, 用系统聚类法聚类。

    首先用欧式距离计算距离矩阵:

    聚类并画聚类树状图:

    5.4.2.1 数据

    P.43例4.2: 2011年全国31个省级行政区的城镇居民家庭人均消费性支出的8个主要指标的数据。 根据这些数据,把31个省用k均值聚类法分成4到5类。

    数据在provConsume中。

    因为各列都是某一类别的消费的平均值, 所以是可比的,不需要进行标准化处理。 如果各列不可比而且方差相差比较悬殊, 则应该进行标准化处理, 比如每列除以标准差, 每列除以极差, 每列改成秩统计量,等等。

    R中用 kmeans() 函数聚类, 用 centers= 指定类个数。 为了得到稳定的结果, 通常希望从不同的随机选取的中心出发, 找到最终类内离差平方和最小的分类结果, 所以可以用一个 nstart= 选项指定重复多少次随机初值比较。

    因为聚类的数据是多元的, 所以难以用普通散点图表现聚类结果。 可以计算数据的主成分分析, 用前两个主成分作散点图并用不同颜色表示不同类别。 ggfortify包提供了这样的功能,例如:

    作解释变差比例的图形。

    5.6.1 数据

    联合国开发计划署《人文发展报告2011》给出了世界146个国家和地区的人文发展水平的8个指标。 数据在nationHuman:

    指定4个类,用k均值方法聚类。

    刚才数据已经标准化。

    计算欧式距离:

    https://www.huber.embl.de/msmb/index.html

    聚类算法只是一种算法, 即使所有观测属于一类, 聚类算法也可以将其分为几个类, 只不过类间距离可能比较近。 需要设法相对较客观地验证分类是否合理。

    5.7.1 用组内平方距离和

    一种思路是类似方差分析, 要求分类结果使得类间距离大, 类内观测之间距离小。 比如,定义WSS(组内平方距离之和): \text{WSS}_k = \sum_{\ell=1}^k \sum_{x_i \in C_{\ell}} d^2(x_i, \bar x_{\ell}) 其中 \(k\) 是类的个数, \(C_{\ell}\) 表示第 \(\ell\) 个类的观测集合, \(\bar x_{\ell}\) 是第 \(\ell\) 个类的重心。

    可以在不同的 \(k\) 之间比较 \(\text{WSS}_k\) 的值, 分类越多这个值越小, \(\text{WSS}_k\) 是 \(k\) 的减函数, 在其减小很快的时候应继续多分类, 但是减小很慢的时候就不应该继续分类了, 找到这样的“拐点”就可以确定类的个数。

    \(\text{WSS}_k\) 的另一种等价定义是: \text{WSS}_k = \sum_{\ell=1}^k \frac{1}{2 n_{\ell}} \sum_{x_i \in C_{\ell}} \sum_{x_j \in C_{\ell}} d^2(x_i, x_j)

    5.7.2 组内平方距离和的模拟

    在研究分类问题时, 计算一些已知类别的数据的聚类会有一定指导意义。 下面是一个模拟已知类别的数据:

    与WSS有关的另一种判断分组效果的指标是Calinski-Harabasz指数, 类似方差分析中的F统计量, 是组间差距与组内差距的比值。 \text{CH}_k = \frac{\text{BSS}_k}{\text{WSS}_k} \times \frac{N-k}{N-1} \text{BSS}_k = \sum_{\ell=1}^k n_{\ell} (\bar x_{\ell} - \bar x)^2 而 \(n_{\ell}\) 是第 \(\ell\) 类的观测点数, \(\bar x_{\ell}\) 是第 \(\ell\) 类的重心(平均值), \(\bar x\) 是所有观测的平均值。

    对上面的均匀分布模拟数据, 取不同的类别数用PAM方法聚类, 计算相应的CH指标后作图:

    \(\text{WSS}_k\) 指标只能观察其随着 \(k\) 的变化的剧烈程度, 另一种做法是类似假设检验的思想, 与只有一类的类似数据的 \(\text{WSS}_k\) 进行比较。 间隙统计量就是对 \(\log(\text{WSS}_k)\) 进行这种比较。 对若干个组数 \(k\) 计算 \(\log(\text{WSS}_k)\) , 并与变量维数相同、均匀分布或者协方差结构相同的模拟样本的统计量进行比较。

    计算间隙(gap)统计量的算法如下:

  • 对若干个 \(k\) 值,分别进行聚类,计算相应的 \(\log(\text{WSS}_k)\) 值;
  • 模拟产生 \(B\) 组参考数据,从一个非混合的分布中抽样, 并对模拟的数据分别计算相应的统计量。这会产生 \(W_{kb}^*\) , \(k\) 为分组个数, \(b=1,2,\dots,B\) 。
  • 计算间隙统计量: \text{gap}_k = \bar l_k - \log \text{WSS}_k, \text{ 其中 } \bar l_k = \frac{1}{B} \sum_{b=1}^B \log W_{kb}^* 如果分类正确, \(\text{gap}_k\) 应该较大, 模拟数据的组合离差应该比有规律分组的实际数据的组内离差和大。
  • \text{sd}_k^2 = \frac{1}{B-1} \sum_{b=1}^B (\log W_{kb}^* - \bar l_k)^2 这是不同模拟样本的组内离差和对数值之间的差异大小的度量。 一种选 \(k\) 的规则是 \text{gap}_k \geq \text{gap}_{k+1} - s_{k+1}' \text{ 其中 } s_{k+1}' = \text{sd}_{k+1} \sqrt{1 + \frac{1}{B}}

    扩展包cluster和clusterCrit中实现了间隙法则。 clusGap 用指定的聚类函数对多个不同的聚类个数进行聚类并计算间隙统计量。 因为要对每个模拟数据聚类, 所以计算量较大, 运行速度较慢。

  • ( Everitt and Hothorn 2011 )
  • 谱系聚类和k均值聚类主要依赖距离概念和直观想法, 没有利用统计推断理论, 所以在比较不同方法优劣、确定聚类个数等方面没有说服力强的手段, 可以作为探索性分析和实用算法来使用。

    如果数据服从一定的统计模型, 就可以用统计估计、假设检验方法来聚类并比较不同结果优劣, 获得聚类个数的有理论支持的结果。 如果数据不符合设定的统计模型, 结果也不一定更好。

    本节讲述用混合分布模型进行聚类的方法。 设要聚类的观测来自是某总体的样本, 而此总体实际由若干个子总体构成, 抽样时从每个子总体有固定的比例抽取。

    5.8.1 混合密度模型

    设总体 \(\boldsymbol X\) 由 \(c\) 个子总体构成, 第 \(j\) 个子总体的密度为 \(g_j(\boldsymbol x, \boldsymbol\theta_j)\) , 其中第 \(j\) 个子总体的比例为 \(p_j\) , 则总体密度为混合密度 f(\boldsymbol x, \boldsymbol\theta) = \sum_{j=1}^c p_j g_j(\boldsymbol x, \boldsymbol\theta_j) , 其中 \(\boldsymbol\theta = (\boldsymbol\theta_1^T, \dots, \boldsymbol\theta_j^T)^T\) 。 \(p_j \geq 0\) , \(\sum_{j=1}^c p_j = 1\) 。

    这可以看成是聚类分析的模型, 在有了这个总体的简单随机样本后, 估计 \(c\) 的值就是聚类个数值, 估计 \(g_j(\boldsymbol x, \boldsymbol\theta_j)\) 可以获得对类中心和整个类的分布形状的认识。

    比较简单的情况是各个子总体密度类型相同, 仅分布参数不同, 子总体都服从多元正态分布。

    如果各个子总体的密度是参数模型, 在估计了各个子总体参数和比例参数 \(\hat p_j\) 后, 可以用后验概率估计每个观测属于每个子总体的概率: P(\text{第}i\text{观测属于子总体}j \;|\; \boldsymbol x_i) = \frac{\hat p_j g_j(\boldsymbol x_i ; \hat{\boldsymbol\theta}_j)}{ \sum_{\ell=1}^c \hat p_\ell g_\ell(\boldsymbol x_i ; \hat{\boldsymbol\theta}_\ell) } .

    5.8.2 混合正态模型最大似然估计

    混合正态模型的似然函数过于复杂, 使用通常的基于导数的优化方法很难收敛。 要估计的参数分为子总体分布参数, 与混合比例参数两部分, 同时估计这两部分很难。 所以通常使用EM算法进行估计, 迭代方程为 \[\begin{aligned} \hat P(j | \boldsymbol x_i) =& P(\text{第}i\text{观测属于子总体}j \;|\; \boldsymbol x_i) = \frac{\hat p_j g_j(\boldsymbol x_i ; \hat{\boldsymbol\theta}_j)}{ \sum_{\ell=1}^c \hat p_\ell g_\ell(\boldsymbol x_i ; \hat{\boldsymbol\theta}_\ell) } \\ \hat p_j =& \frac{1}{n} \sum_{i=1}^n \hat P(j | \boldsymbol x_i) \\ \hat{\boldsymbol\mu}_j =& \frac{1}{n \hat p_j} \sum_{i=1}^n \boldsymbol x_i \hat P(j | \boldsymbol x_i) \\ \hat\Sigma_j =& \frac{1}{n} \sum_{i=1}^n (\boldsymbol x_i - \hat{\boldsymbol\mu}_j ) (\boldsymbol x_i - \hat{\boldsymbol\mu}_j )^T \hat P(j | \boldsymbol x_i) . \end{aligned}\]

    这样的迭代应对 \(\Sigma_j\) 的结构有所约束, 要求所有 \(\Sigma_j\) 都相同,等等。

    除了使用最大似然估计和EM算法, 还可以采用贝叶斯模型, 并使用MCMC方法进行计算。

    为了约束 \(\Sigma_j\) 的形式, 可以写成特征值分解形式 \Sigma_j = \Gamma_j \Lambda_j \Gamma_j^T, 并将特征值组成的对角阵 \(\Lambda_j\) 写成 \(\lambda_j A_j\) , 其中 \(\lambda_j\) 是 \(\Gamma_j\) 的最大特征值, \(A_j\) 是对角元素为 \((1,\alpha_2, \dots, \alpha_p)\) 的对角阵, 其中 \(1 \geq \alpha_2 \geq \dots \geq \alpha_p\) 。 \(\lambda_j\) 代表了第 \(j\) 子总体的分布范围大小, \(\alpha_2, \dots, \alpha_p\) 代表分布形状, 而 \(\Gamma_j\) 仅代表同样大小、形状的分布的不同方向。

    R扩展包mclust的 Mclust() 函数实现了正态混合密度模型的最大似然估计, 并据此进行聚类, 支持如下的关于子总体协方差的约束方法:

  • EII ,球形,大小相同;
  • VII ,球形,不同大小;
  • EEI ,对角阵,大小和形状相同;
  • VEI ,对角阵,大小不同,形状相同;
  • EVI ,对角阵,大小相同,形状不同;
  • VVI ,对角阵,大小和形状都不同;
  • EEE ,协方差阵相等;
  • EEV ,各个协方差阵的大小和形状相同(方向不同);
  • VEV ,各个协方差阵形状相同(大小和方向不同);
  • VVV ,各个协方差阵没有约束。
  • 上述约束的简写中, E表示参数相等, V表示参数不相等, I表示要求协方差为对角阵。 最后一个字母取I、E、V分别表示各协方差阵要求对角、要求相等、不要求对角或相等。 第一个字母取E、V分别表示大小相等、大小不相等, 第二个字母取I、E、V分别要求对角并形状相同、形状相同、形状不同。

    5.8.3 示例:身体测量指标聚类

    考虑前面的男女的身体测量指标聚类问题。

    为了判断聚类结果是否合理, 可以对第 \(i\) 观测计算如下指标: s(\boldsymbol x_i) = \frac{2 d(\boldsymbol x_i, c(\boldsymbol x_i))}{ d(\boldsymbol x_i, c(\boldsymbol x_i)) + d(\boldsymbol x_i, \tilde c(\boldsymbol x_i))} , 其中 \(d(\cdot,\cdot)\) 表示距离, \(c(\boldsymbol x_i))\) 表示第 \(i\) 观测所属的类中心, \(\tilde c(\boldsymbol x_i)\) 表示与第 \(i\) 观测第二近的类中心。 \(s(\boldsymbol x_i)\) 取值在0到1之间, 如果 \(s(\boldsymbol x_i)\) 取值接近0, 则第 \(i\) 观测明确属于所在类; 如果 \(s(\boldsymbol x_i)\) 取值接近1, 则第 \(i\) 观测在最近的两类之间的类属是含糊的。

    对于两个类 \(i, j\) , 也可以定义两个类的接近程度指标: s_{ij} = \frac{1}{n_i} \sum_{\boldsymbol x \in A_{ij}} s(\boldsymbol x), 其中 \(A_{ij}\) 表示以 \(i\) 为类属、以 \(j\) 为次最近类属的所有观测的集合, \(n_i\) 是以 \(i\) 为类属的观测个数。 如果 \(s_{ij}\) 较大, 则这两个类很接近。

    R扩展包flexclust设计了两种图形, 可以表示类之间的模糊程度。 一种叠加在二维散点图基础上, 另一种用类似条码图的方法表现两类之间的观测次最近距离。

    References

    Everitt, Brian, and Torsten Hothorn. 2011. An Introduction to Applied Multivariate Analysis with r . Springer New York.