聚类分析
关键词: 聚类分
析 SAS
聚类分析和判别分析有相似的作用,都是起到分类的作用。但是,判别分析是已知分类然后总结出判别规则,是一种有指导的学习;而聚类分析则是有了一批样本,不知道它们的分类,甚至连分成几类也不知道,希望用某种方法把观测进行合理的分类,使得同一类的观测比较接近,不同类的观测相差较多,这是无指导的学习。
所以,聚类分析依赖于对观测间的接近程度(距离)或相似程度的理解,定义不同的距离量度和相似性量度就可以产生不同的聚类结果。 SAS/STAT中提供了谱系聚类、快速聚类、变量聚类等聚类过程。
谱系聚类方法介绍
谱系聚类是一种逐次合并类的方法,最后得到一个聚类的二叉树聚类图。其想法是,对于
个观测,先计算其两两的距离得到一个距离矩阵,然后把离得最近
个类(每个单独的未合并
的两个观测合并为一类,于是我们现在只剩了 的观测作为一个类)。计算这 个类将其合并,就只剩下了
个类两两之间的距离,找到离得最近的两个类??直到剩下两个类,把它们合并为一
个类为止。当然,真的合并成一个类就失去了聚类的意义,所以上面的聚类过程应该在某个类水平数(即未合并的类数)停下来,最终的类就取这些未合并的类。决定聚类个数是一个很复杂的问题。 设观测个数为 数,
为第
,变量个数为 个观测,
,
为在某一聚类水平上的类的个
)的第
类,
为
是当前(水平
为类
中的观测个数, 为均值向量, 中的均值向量(中心),
为欧氏长度, 类
的类内离差平方和,
为总离差平方和,
为聚类水平 和类
为
对应的各类的类内合并为下一水平的
离差平方和的总和。假设某一步聚类把类 类 量。用 平的类
,则定义
为合并导致的类内离差平方和的增
为第
水
代表两个观测之间的距离或非相似性测度, 和类
之间的距离或非相似性测度。
进行谱系聚类时,类间距离可以直接计算,也可以从上一聚类水平的距离递推得到。观测间的距离可以用欧氏距离或欧氏距离的平方,如果用其它距离或非相似性测度得到了一个观测间的距离矩阵也可以作为谱系聚类方法的输入。 根据类间距离的计算方法的不同,有多种不同的聚类方法。其中几种介绍如下: 一、类平均法(METHOD=AVERAGE) 测量两类每对观测间的平均距离,即
在 则类
和类
时若类 和类 合并为下一水平的类 类,
的距离的递推公式为
二、重心法(METHOD=CENTROID)
重心法测量两个类的重心(均值)之间的(平方)欧氏距离。即
当观测间距离为平方欧氏距离时有递推公式
三、最长距离法(METHOD=COMPLETE) 计算两类观测间最远一对的距离,即
递推公式为
四、最短距离法(METHOD=SINGLE) 计算两类观测间最近一对的距离,即
。
递推公式为
五、密度估计法(METHOD=DENSITY)
。
密度估计法按非参数密度来定义两点间的距离 。如果两个点 和
是近邻(两点距离小于某指定常数或 在距离 最近的若干点内)则距离是两点密度估计的倒数的平均,否则距离为正无穷。密度估计有最近邻估计(K=)、均匀核估计(R=)和Wong 混合法(HYBRID)。
六、Ward最小方差法(或称Ward离差平方和法,METHOD=WARD)
当观测间距离为 时递推公式为
Ward方法并类时总是使得并类导致的类内离差平方和增量最小。
其它的聚类方法还有EML法、可变类平均法(FLEXIBLE)、McQuitty相似分析法(MCQUITTY )、中间距离法(MEDIAN)、两阶段密度估计法(TWOSTAGE)等。
谱系聚类类数的确定
谱系聚类最终得到一个聚类树,可以把所有观测聚为一类。到底应该把观测分为几类是一个比较困难的问题,因为分类问题本身就是没有一定标准的,关于这一点《实用多元统计分析》(王学仁、王松桂,上海科技出版社)第十章给出了一个很好的例子,即扑克牌的分类。我们可以把扑克牌按花色分类,按大小点分类,按桥牌的高花色低花色分类,等等。
决定类数的一些方法来自统计的方差分析的思想,我们在这里作一些介绍。 一、
统计量
其中 为分类数为 个类时的总类内离差平方和, 为所有变量的总
离差平方和。 也就是分为
越大,说明分为 个类时每个类内的离差平方和都比较小,
越大,不再大
个类是合适的。但是,显然分类越多,每个类越小,
使得
足够大,但
本身比较小,而且
所以我们只能取 幅度增加。 二、半偏相关 在把类
和类
合并为下一水平的类 时,定义半偏相关
半偏
其中 为合并类引起的类内离差平方和的增量,半偏相关越大,说明这两个
类合并为
类时如果半偏相关很大就
类越不应该合并,所以如果由 应该取
类。
三、双峰性系数
其中 是偏度, 是峰度。大于0.555的 值(这时为均匀分布)可
能指示有双峰或多峰边缘分布。最大值1.0(二值分布)从仅取两值的总体得到。 四、伪F统计量
伪F统计量评价分为
个类的效果。如果分为
个类合理,则类内离差平
方和(分母)应该较小,类间平方和(分子)相对较大。所以应该取伪F统计量较大而类数较小的聚类水平。 五、伪
统计量
用此统计量评价合并类 所以应该取合并前的水平。
和类 的效果,该值大说明不应合并这两个类,
用CLUSTER过程和TREE过程进行谱系聚类
一、CLUSTER过程用法 CLUSTER过程的一般格式为:
PROC CLUSTER DATA=输入数据集 METHOD=聚类方法 选项;
VAR 聚类用变量; COPY 复制变量; RUN;