实用统计方法—— 聚类分析课件.pptx
引言距离的度量k-均值聚类及SPSS实现分层聚类及SPSS实现附录(聚类的相关Matlab命令)第1页/共50页引言物以类聚、人以群分;但根据什么分类呢?如要想把中国的县分类,就有多种方法可以按照自然条件来分,比如考虑降水、土地、日照、湿度等,也可考虑收入、教育水准、医疗条件、基础设施等指标;既可以用某一项来分类,也可以同时考虑多项指标来分类。第2页/共50页聚类分析对一个数据,既可以对变量(指标)进行分类(相当于对数据中的列分类),也可以对观测值(事件,样品)来分类(相当于对数据中的行分类)。当然,不一定事先假定有多少类,完全可以按照数据本身的规律来分类。本讲要介绍的分类的方法称为聚类分析(cluster analysis)。对变量的聚类称为R型聚类,而对观测值聚类称为Q型聚类。它们在数学上是无区别的。第3页/共50页饮料数据(drink.txt)16种饮料的热量、咖啡因、钠及价格四种变量 第4页/共50页如何度量距离远近?如果想要对100个学生进行分类,而仅知道他们的数学成绩,则只好按照数学成绩分类;这些成绩在直线上形成100个点。这样就可以把接近的点放到一类。如果还知道他们的物理成绩,这样数学和物理成绩就形成二维平面上的100个点,也可以按照距离远近来分类。第5页/共50页如何度量距离远近?三维或者更高维的情况也是类似;只不过三维以上的图形无法直观地画出来而已。在饮料数据中,每种饮料都有四个变量值。这就是四维空间点的问题了。第6页/共50页两个距离概念按照远近程度来聚类需要明确两个概念:一个是点和点之间的距离,一个是类和类之间的距离。点间距离有很多定义方式。最简单的是欧氏距离。当然还有一些和距离相反但起同样作用的概念,比如相似性等,两点相似度越大,就相当于距离越短。第7页/共50页两个距离概念由一个点组成的类是最基本的类;如果每一类都由一个点组成,那么点间的距离就是类间距离。但是如果某一类包含不止一个点,那么就要确定类间距离,类间距离是基于点间距离定义的:比如两类之间最近点之间的距离可以作为这两类之间的距离,也可以用两类中最远点之间的距离或各类的中心之间的距离来作为类间距离。第8页/共50页两个距离概念在计算时,各种点间距离和类间距离的选择是通过统计软件的选项实现的。不同的选择它的结果会不同,但一般不会差太多。第9页/共50页向量x=(x1,xp)与y=(y1,yp)之间的距离或相似系数:欧氏距离欧氏距离:Euclidean平方欧氏距离平方欧氏距离:Squared Euclidean夹角余弦夹角余弦(相似系数相似系数1):cosinePearson correlation(相似系数相似系数2):Chebychev:Maxi|xi-yi|Block(绝对距离绝对距离):S Si|xi-yi|Minkowski:Lance距离距离第10页/共50页类Gp与类Gq之间的距离Dpq(d(xi,xj)表示点xi Gp和xj Gq之间的距离)最短距离法最短距离法:最长距离法最长距离法:重心法重心法:离差平方和离差平方和:(Wald)类平均法类平均法:在用欧氏距离时在用欧氏距离时,有统一的递推公式有统一的递推公式第11页/共50页最短距离(Nearest Neighbor)x21x12x22x11第12页/共50页最长距离(Furthest Neighbor)x11x21第13页/共50页组间平均连接(Between-group Linkage)第14页/共50页 组内平均连接法(Within-group Linkage)x21x12x22x11第15页/共50页重心法(Centroid clustering):均值点的距离第16页/共50页离差平方和法连接2,41,56,5第17页/共50页红绿(2,4,6,5)8.75 离差平方和增加8.752.56.25 黄绿(6,5,1,5)14.75离差平方和增加14.758.56.25黄红(2,4,1,5)10100故按该方法的连接和黄红首先连接。第18页/共50页有了上面的点间距离和类间距离的概念,就可以介绍聚类的方法了。第19页/共50页事先不用确定分多少类:分层聚类 分层聚类或系统聚类(hierarchical cluster)。开始时,有多少点就是多少类。它第一步先把最近的两类(点)合并成一类,然后再把剩下的最近的两类合并成一类;这样下去,每次都少一类,直到最后只有一大类为止。越是后来合并的类,距离就越远。第20页/共50页例:为研究辽宁、浙江、河南、甘肃、青海5省份1991年城镇居民生活消费的分布规律,需要利用调查资料对这5个省分类。变量名称及原始数据如下表:变量变量省份省份X1X2X3X4X5X6X7X8辽宁辽宁7.9039.778.4912.9419.2711.052.0413.29浙江浙江7.6850.3711.3513.3019.2514.592.7514.87河南河南9.4227.938.208.2416.179.421.559.76甘肃甘肃9.1627.989.019.3215.999.101.8211.35青海青海10.0628.6410.5210.0516.188.391.9610.81其中,X1:人均粮食支出,X2:人均副食支出,X3:人均烟酒茶支出,等。第21页/共50页计算两组间的欧式距离,如:D12=D21=(7.90-7.68)2+(39.77-50.37)2+(13.29-14.87)2第22页/共50页Lance和和Williams给出给出(对欧氏距离对欧氏距离)统一统一递推递推公式公式:D2(k,r)=a apD2(k,p)+a aqD2(k,q)+b bD2(p,q)+g g|D2(k,p)-D2(k,q)|前面方法的递推公式可选择参数而得前面方法的递推公式可选择参数而得:方法方法a ai(i=p,q)b b g g最短距离最短距离 0-1/2最长距离最长距离 01/2重心重心 ni/nr -a apa aq 0类平均类平均 ni/nr 0 0 离差平方和离差平方和(ni+nk)/(nr+nk)-nk/(nr+nk)0 中间距离中间距离 1/2 -1/4 0 可变法可变法 (1-b b)/2 b b(1)0 可变平均可变平均 (1-b b)ni/nr b b(1)0 返回第23页/共50页事先要确定分多少类:k-均值聚类 系统聚类法需要计算出不同样品或变量的距离,还要在聚类的每一步都要计算“类间距离”,相应的计算量自然比较大;特别是当样本的容量很大时,需要占据非常大的计算机内存空间,这给应用带来一定的困难。而K均值法是一种快速聚类法,采用该方法得到的结果比较简单易懂,对计算机的性能要求不高,因此应用也比较广泛。K均值法是麦奎因(MacQueen,1967)提出的,这种算法的基本思想是将每一个样品分配给最近中心(均值)的类中,具体的算法至少包括以下三个步骤:1将所有的样品分成K个初始类;2通过欧氏距离将某个样品划入离中心最近的类中,并对获得样品与失去样品的类,重新计算中心坐标;3重复步骤2,直到所有的样品都不能再分配时为止。第24页/共50页K均值法和系统聚类法一样,都是以距离的远近亲疏为标准进行聚类的,但是两者的不同之处也是明显的:系统聚类对不同的类数产生一系列的聚类结果,而K均值法只能产生指定类数的聚类结果。具体类数的确定,离不开实践经验的积累;有时也可以借助系统聚类法以一部分样品为对象进行聚类,其结果作为K均值法确定类数的参考。下面通过一个具体问题说明K均值法的计算过程。第25页/共50页【例】假定我们对A、B、C、D四个样品分别测量两个变量和得到结果见表5.9。试将以上的样品聚成两类。表5.9 样品测量结果第26页/共50页第一步:按要求取K=2,为了实施均值法聚类,我们将这些样品随意分成两类,比如(A、B)和(C、D),然后计算这两个聚类的中心坐标,见表5.10所示。表5.10中的中心坐标是通过原始数据计算得来的,比如(A、B)类的,等等。表5.10 中心坐标第27页/共50页第二步:计算某个样品到各类中心的欧氏平方距离,然后将该样品分配给最近的一类。对于样品有变动的类,重新计算它们的中心坐标,为下一步聚类做准备。先计算A到两个类的平方距离:由于A到(A、B)的距离小于到(C、D)的距离,因此A不用重新分配。计算B到两类的平方距离:第28页/共50页由于B到(A、B)的距离大于到(C、D)的距离,因此B要分配给(C、D)类,得到新的聚类是(A)和(B、C、D)。更新中心坐标如表5.11所示。表5.11 更新后的中心坐标第29页/共50页 第三步:再次检查每个样品,以决定是否需要重新分类。计算各样品到各中心的距离平方,得结果见表5.12。到现在为止,每个样品都已经分配给距离中心最近的类,因此聚类过程到此结束。最终得到K=2的聚类结果是A独自成一类,B、C、D聚成一类。表5.12 样品聚类结果第30页/共50页有序样品的聚类分析法 一 有序样品可能的分类数目 二 费希尔最优求解法三 一个典型例子第31页/共50页以上的系统聚类和K均值聚类中,样品的地位是彼此独立的,没有考虑样品的次序。但在实际应用中,有时样品的次序是不能变动的,这就产生了有序样品的聚类分析问题。例如对动植物按生长的年龄段进行分类,年龄的顺序是不能改变的,否则就没有实际意义了;又例如在地质勘探中,需要通过岩心了解地层结构,此时按深度顺序取样,样品的次序也不能打乱。如果用X(1),X(2),X(n)表示n个有序的样品,则每一类必须是这样的形式,即X(i),X(i+1),X(j),其中1 i n,且j n,简记为Gi=i,i+1,j。在同一类中的样品是次序相邻的。这类问题称为有序样品的聚类分析。第32页/共50页一、有序样品可能的分类数目 n个有序样品共有(n 1)个间隔,分成k类相当于在这(n 1)个间隔中插入k 1根“棍子”。由于不考虑棍子的插入顺序,是一个组合问题,共有 种插法。图5.4 有序样品的分类法第33页/共50页v这就是n个有序样品分成k类的一切可能分法。因此,对于有限的n和k,有序样品的所有可能分类结果是有限的,可以在某种损失函数意义下,求得最优解。所以有序样品聚类分析又称为最优分割,该算法是费希尔(Fisher)最先提出来的,故也称之为费希尔最优求解法。第34页/共50页二、费希尔最优求解法 第35页/共50页第36页/共50页这里需要注意,若要寻找将n个样品分为k类的最优分割,则对于任意的j(k j n),先将前面j 1个样品最优分割为k 1类,得到p(j 1,k 1),否则从j到n这最后一类就不可能构成k类的最优分割,参见图5.6。再考虑使Lb(n,k)最小的j,得到p(n,k)。因此我们得到费希尔最优求解法的递推公式为 图5.6 最优分割第37页/共50页第38页/共50页 第39页/共50页三、一个典型例子【例5.4】为了了解儿童的生长发育规律,今随机抽样统计了男孩从出生到11岁每年平均增长的重量数据表5.13,试问男孩发育可分为几个阶段?在分析这是一个有序样品的聚类问题时,我们通过图形可以看到男孩增重随年龄顺序变化的规律,从图5.6中发现男孩发育确实可以分为几个阶段。表5.13 111岁儿童每年平均增长的重量第40页/共50页图5.7 儿童成长阶段分析 第41页/共50页下面通过有序样品的聚类分析确定男孩发育分成几个阶段较合适。步骤如下:第42页/共50页表5.14 直径 D(i,j)第43页/共50页第44页/共50页 第45页/共50页(3)分类个数的确定。如果能从生理角度事先确定k当然最好;有时不能事先确定k时,可以从Lp(l,k)随k的变化趋势图中找到拐点处,作为确定k的根据。当曲线拐点很平缓时,可选择的k很多,这时需要用其它的办法来确定,比如均方比和特征根法,限于篇幅此略,有兴趣的读者可以查看其它资料。本例从表5.15中的最后一行可以看出k=3,4处有拐点,即分成3类或4类都是较合适的,从图5.8中可以更明显看出这一点。第46页/共50页第47页/共50页第48页/共50页第49页/共50页感谢您的观看。第50页/共50页