第八章聚类分析与判别分析.ppt
《第八章聚类分析与判别分析.ppt》由会员分享,可在线阅读,更多相关《第八章聚类分析与判别分析.ppt(110页珍藏版)》请在三一文库上搜索。
1、第八章 聚类分析与判别分析,8.1 聚类分析 8.2 判别分析,8.1 聚类分析 8.1.1 聚类分析的一般概念 8.1.2 系统聚类法的基本思想和步骤 8.1.3 用CLUSTER过程和TREE过程进行系统聚类 8.1.4 用VARCLUS过程进行变量聚类,8.1.1 聚类分析的一般概念 设有n个样品(多元观测值),每个样品测得m项指标(变量),得到观测数据xij(i=1,n;j=1,m),如表所示。,表8-1中数据又称为观测数据阵或简称为数据阵,其数学表示为: 其中列向量Xj = (x1j,x2j,xnj),表示第j项指标(j = 1,2,m),行向量X(i) = (xi1,xi2,xin
2、)表示第i个样品。,1. 两种聚类分析 根据分类对象的不同,聚类分析分为两种: (1) 样品聚类:样品聚类是对样品(观测)进行的分类处理,又称为Q型分类,相当于对观测数据阵按行分类。 (2) 变量聚类:变量聚类是对变量(指标)进行的分类处理,又称为R型分类,相当于对观测数据阵按列分类。 两种聚类在形式上是对称的,处理方法也是相似的。,2. 聚类分析的方法 聚类方法大致可归纳如下: (1) 系统聚类法(谱系聚类) 先将l个元素(样品或变量)看成l类,然后将性质最接近(或相似程度最大)的2类合并为一个新类,得到l 1类,再从中找出最接近的2类加以合并变成了l 2类,如此下去,最后所有的元素全聚在一
3、类之中。 (2) 分解法(最优分割法) 其程序与系统聚类相反。首先所有的元素均在一类,然后按照某种最优准则将它分成2类、3类,如此下去,一直分裂到所需的k类为止。,(3) 动态聚类法(逐步聚类法) 开始将l个元素粗糙地分成若干类,然后用某种最优准则进行调整,一次又一次地调整,直至不能调整为止。 (4) 有序样品的聚类 n个样品按某种因素(时间或年龄或地层深度等)排成次序,要求必须是次序相邻的样品才能聚在一类。 其他还有:有重叠聚类、模糊聚类、图论聚类等方法。,3. 聚类统计量 聚类分析实质上是寻找一种能客观反映元素之间亲疏关系的统计量,然后根据这种统计量把元素分成若干类。常用的聚类统计量有距离
4、系数和相似系数两类。距离系数一般用于对样品分类,而相似系数一般用于对变量聚类。距离的定义很多,如马氏距离、明考斯基距离、兰氏距离、切比雪夫距离以及常见的欧氏距离: 等。相似系数有相关系数、夹角余弦、列联系数等。,当然,采用不同的分类方法会得到不同的分类结果,有时即使是同一种聚类方法,因距离的定义方法不同也会得到不同的分类结果。对任何观测数据都没有唯一“正确的”分类方法。实际应用中,常采用不同的分类方法对数据进行分类,可以提出多种分类意见,由实际工作者决定所需要的分类数和分类情况。,8.1.2 系统聚类法的基本思想和步骤 下面以样品聚类为例介绍系统聚类法。 1. 系统聚类法的基本思想 设有n个样
5、品,每个样品测得m项指标(见表8-1)。系统聚类方法的基本思想是:首先定义样品间的距离(或相似系数)和类与类之间的距离。一开始将n个样品各自自成一类,这时类间的距离与样品间的距离是等价的;然后将距离最近的两类合并,并计算新类与其他类的类间距离,再按最小距离准则并类。这样每次减少一类,直到所有的样品都并成一类为止。这个并类过程可以用谱系聚类图形象地表达出来。,2. 系统聚类法的基本步骤 (1) 数据变换 为了便于比较或消除量纲的影响,在作聚类之前常常首先要对数据进行变换。变换的方法有中心化变换、标准化变换、极差标准化变换、极差正规化变换、对数变换等。 最常用的标准化变换为: 其中 , ,j =
6、1,2,m。 变换后的数据,每个变量的样本均值为0,标准差为1,而且标准化变换后的数据 与变量的量纲无关。,(2) 计算n个样品两两间的距离 选择度量样品间距离的定义,计算n个样品两两间的距离,得样品间的距离矩阵D(0)。 (3) 聚类过程 首先n个样品各自构成一类,类的个数k = n:Gi = X(i)(i = 1,n),此时类间的距离就是样品间的距离(即D(1) = D(0))。 令j = 2,n,执行如下并类过程: 1) 合并类间距离最小的两类为一新类(类间距离参见下文“系统聚类分析的方法”)。此时类的总个数k减少1类,即k = n j + 1;,2) 计算新类与其他类的距离,得新的距离
7、矩阵D(j))。 若合并后类的总个数k仍大于1,重复1)和2)步,直到类的总个数为1时止。 (4) 画谱系聚类图 谱系图能明确清晰地描述各个样本点在不同层次上聚合分类的情况。 (5) 决定分类的个数及各类的成员,3. 系统聚类分析的方法 设有原始数据阵,如表8-1所示。G为在某一聚类水平上的类的个数,Ck是当前(水平G)的第k类,nk为Ck中的样品个数,DKL为第G水平的类CK和类CL之间的距离。 根据类间距离计算方法的不同,有11种不同的聚类方法: (1) 类平均法 类平均法(Average Linkage)用两类样品两两观测间距离的平均作为类间距离,即 类平均法是一种应用较广泛,聚类效果较
8、好的方法。,(2) 重心法 重心法(Centroid Method)用两个类重心(均值)之间的(平方)欧氏距离定义类间距离,即 (3) 最长距离法 最长距离法(Complete Method)用两类观测间最远一对观测的距离定义类间距离,即 (4) 最短距离法 最短距离法(Single Linkage) 用两类观测间最近一对观测的距离定义类间距离,即,(5) Ward最小方差法(离差平方和法) Ward最小方差法(Wards Mininum-Variance Method)也称Ward离差平方和法。类间距离定义为 Ward方法并类时总是使得并类导致的类内离差平方和增量最小。 其它的聚类方法还有最
9、大似然法(EML)法、可变类平均法(Flexible-Beta Method)、McQuitty相似分析法(McQuittys Similarity Analysis)、中间距离法(Median Method)、两阶段密度估计法(Two Stage Density Linkage)等。 类平均法和Ward最小方差法使用最广泛。,4. 系统聚类类数的确定 (1) 由适当的阀值确定 选定某种聚类方法,按系统聚类的方法并类后,得到一张谱系聚类图,聚类图(又称谱系图)只反映样品间(或变量间)的亲疏关系,它本身并没有给出分类,需要给定一个临界相似尺度,用以分割谱系图而得到样品(或变量)的分类,如给定临界
10、值(阀值)为d,那么,当样品间或已并类间距离小于d时,认为这些样品和类的关系密切,应该归属一类。,(2) 根据统计量确定分类个数 在SAS的CLUSTER过程中,提供一些统计量可以近似检验类个数如何选择更合适,用统计量决定类数的方法来自统计的方差分析思想,下面作一些介绍。 1) R2统计量 其中PG为分类数为G个类时的总类内离差平方和,T为所有样品或变量的总离差平方和。R2越大,说明分为G个类时每个类内的离差平方和都比较小,也就是分为G个类是合适的。但是,显然分类越多,每个类越小,R2越大,所以我们只能取G使得R2足够大,但G本身比较小,而且R2不再大幅度增加。,2) 半偏R2统计量 在把类C
11、K和类CL合并为下一水平的类CM时,定义半偏相关 其中BKL=WM (WK +WL)为合并类引起的类内离差平方和的增量,Wt为类Ct的类内离差平方和。半偏R2用于评价一次合并的效果,其值是上一步R2与该步R2的差值。其值越大,说明上一次合并的效果越好。,3) 伪F统计量 伪 伪F统计量评价分为G个类的效果。伪F统计量越大,表示分为G个类越合理。通常取伪F统计量较大而类数较小的聚类水平。 4) 伪t2统计量 伪 用此统计量评价合并类CK和类CL的效果,该值大说明合并的两个类CK和CL是很分开的,不应合并这两个类,而应该取合并前的水平。,8.1.3 用CLUSTER过程和TREE过程进行系统聚类
12、1. CLUSTER过程 系统聚类CLUSTER过程的一般格式为: PROC CLUSTER ; VAR ; COPY ; ID ; RUN;,其中: 1) PROC CLUSTER语句为调用CLUSTERS过程的开始,其常用选项及功能见表8-2。 2) VAR语句指定用来聚类的数值型变量。如果缺省,则使用没有列在其他语句中的所有数值型变量。 3) COPY语句把指定的变量复制到OUTTREE = 的数据集中,以备后用。 4) ID语句中指定的变量用于区分聚类过程中的输出及OUTTREE数据集中的观测。,2. TREE过程 TREE过程可以把CLUSTER过程产生的OUTTREE = 数据集作
13、为输入,画出聚类谱系图,并按照用户指定的聚类水平(类数)产生分类结果数据集。一般格式如下: PROC TREE ; COPY ; ID ; RUN; 其中: 1) PROC TREE语句为调用TREE过程的开始,其常用选项及功能见表8-3。,表8-3 PROC TREE语句的常用选项 2) COPY语句把输入数据集中的变量复制到输出数据集。 3) ID语句用于指定在输出树状图中的识别对象,ID变量可以是字符或数值变量。如果省略,TREE过程将使用变量_NAME_。,3. 应用实例 【例8-1】表8-4是全国沿海10省市农民2004年支出情况的汇总资料,表中涉及生活消费支出情况的八个指标。 假定
14、上述数据已经存放在数据集Mylib.nm10。,试利用汇总资料对10个地区进行分类 (1) 使用CLUSTER过程 为了进行系统聚类并产生帮助确定类数的统计量,使用如下代码: proc cluster data = mylib.nm10 standard method = ward outtree = otree pseudo; copy group; run;,结果中首先给出数据相关系数矩阵特征值方面的信息。,结果的最后部分为聚类分析的完整过程(Cluster History),如图所示,内容按列划分从左到右依次为: “NCL”为类别数量,表示新类别形成后类别的总数; “-Clusters
15、Joined-”为合并的类别,指明这一步合并了哪两个类,有两列。其中OBxxx表示某一个原始样品,而CLxxx表示在某一个聚类水平上产生的类。 “FREQ”表示这次合并得到的类有多少个样品。 “SPRSQ”是半偏R2,“RSQ”是R2,“PSF”为伪F统计量,“PST2”为伪t2统计量,“Tie”指示距离最小的候选类对是否有多对,本例全无。,(2) 确定分类个数 1) R2统计量(列标题为RSQ)用于评价每次合并成NCL个类时的聚类效果。R2越大说明NCL个类越分开,故聚类的效果好。R2的值总是在0和1之间,而且R2的值总是随着分类个数NCL的减少而变小。通过查看R2值的变化,可以确定n个样品
16、分为几类最为合适。本例中,分为3个类之前(NCL3)的并类过程中R2的减少是逐渐的,改变不大;当分为3类时的R2 = 0.838,而下一次合并后分为2类时R2下降较多(R2 = 0.721)。这时通过分析R2统计量可得出分为3个类是较合适的。,查看R2变化的大小也可以由合并类时的半偏R2(列标题为SPRSQ)得到。半偏R2的值是上一步R2与该步R2的差值,故某步的半偏R2值越大,说明上一步合并的效果好。本例中半偏R2最大和次大分别为NCL = 1和2,说明根据半偏R2准则分为两个类或三个类是较合适的。 2) 伪F统计量(列标题为PSF)用于评价分为NCL个类的聚类效果。伪F值越大表示这些观测样
17、品可显著地分为NCL个类。本例中伪F最大和次大依次为NCL = 2和5(局部),说明根据伪F准则分为两个类、五个类是较合适的。,4) 伪t2统计量用以评价此步合并类的效果。由该统计量的定义知伪t2值大表明上一次合并的两个类是很分开的,也就是上一次聚类的效果是好的。本例中伪t2最大和次大分别为NCL = 1和2,说明根据伪t2准则分为两个类或三个类是较合适的。 由此看出:R2准则支持分为两类和三类;伪F统计量支持分为两类和五类;伪t2统计量支持分为两类和三类。综合分析认为,用Ward法10个地区分为两类或三类较合适。,使用如下代码画出谱系图(如图所示): proc tree data = otr
18、ee horizontal; ID Group; run; 从图中可见,分为两类的结果为:G1 = 上海,浙江,G2 = 天津,江苏,福建,广东,山东,河北,辽宁,广西。 分为三类的结果为:G1 = 上海,浙江,G2 = 天津,江苏,福建,广东,山东,G3 = 河北,辽宁,广西。,相仿地,可以使用类平均法、中间距离法、可变类平均法等方法。不同的聚类方法得到的聚类结果或多或少会有些差别,在实际应用中,应综合各种计算结果,提出合适的分类个数。,8.1.4 用VARCLUS过程进行变量聚类 1. VARCLUS过程 常用的VARCLUS语句格式为: PROC VARCLUS ; VAR ; RUN;
19、 其中: 1) PROC VARCLUS语句为调用VARCLUS过程的开始,其常用选项及功能见表8-5。 2) VAR语句指定要分类的变量,如省略VAR语句,则使用没有在其他语句中列出的所有数值型变量。,2. VARCLUS过程变量聚类的步骤 如果没有为VARCLUS过程提供初始分类的情况,VARCLUS过程开始把所有变量看成一个类,然后它重复以下步骤: 1) 首先挑选一个将被分裂的类。通常这个被选中的类的类分量所解释的方差百分比最小(选项PRECENT=)或者同第二主成分有关的特征值为最大(选项MAXETGH=)。 2) 把选中的类分裂成两个类。首先计算前两个主成分,再进行斜交旋转,并把每个
20、变量分配到旋转分量对应的类里,分配的原则是使变量与这个主成分的相关系数为最大。,3) 变量重新归类。通过多次反复循环,变量被重新分配到这些类里,使得由这些类分量所解释的方差为最大。 当每一类满足用户规定的准则时,VARCLUS过程停止。所谓准则,或是每个类分量所解释的方差的百分比,或是每一类的第二个特征值达到预设定的标准为止。如果没有规定准则,则当每个类只有一个特征值大于1时,VARCLUS过程停止。,3. 应用实例 【例8-2】为研究人脑老化的严重程度,有人测定了不同年龄的60名正常男性10项有关指标的数据,见表8-6。各变量的含义如下:AGE为年龄、TJ为图片记忆、SG为数字广度记忆、TS
21、为图形顺序记忆、XX为心算位数、XS为心算时间、CK为规定时间内穿孔数、BJ为步距、JJ为步行时双下肢夹角、BS步速。 假定上述数据已经保存在逻辑库Mylib.rnlh中,试对这些指标作变量聚类分析。,(1) SAS程序 输入如下程序: OPTIONS PS=500; /*要求输出的结果中每页包括500行内容,可避免不必要的SAS标题反复出现。*/ PROC VARCLUS data = Mylib.rnlh; VAR age tj sg xx xs ts ck bj jj bs; RUN; 说明:过程语句中没有任何选择项,默认的聚类方法为主成分聚类法。过程步最终会聚成多少类,将由默认的临界值
22、来决定,即当每个类只有一个特征根大于1时,VARCLUS过程停止。,(2) 结果分析 1) 第1步:如图8-4所示。这是用分解法思想进行斜交主成分聚类的第1步,把全部10个变量聚成一类,能解释的方差为4.146566,占总方差10的41.47,第2特征值为1.4695,并预告这一类将被分裂。,2) 第2步将1类分裂成2类,分别含3个和7个变量,图8-5给出聚类概要。 图中表明各类中的Variation Explained(解释方差,即第一特征值)、Proportion Explained(解释方差占本类总方差的百分比)、Second Eigenvalue(类中的第2特征值)等。此时能解释的方差
23、为5.403654,占总方差10的54.04。,图8-6给出相关系数的平方。 其中第3列R-Squared With Own Cluster是指每个变量与所属类分量之间相关系数的平方R2,如:变量BJ在第1类中,它与第1类分量(相当于主成分分析中的第1主成分)之间的R2是0.8166,同理可理解该列中的其他相关系数的含义;,第4列R-squared with Next Closest是指每个变量与相邻类的类分量之间的相关系数的平方R2,如:BJ与第2类分量之间的相关系数平方R2为0.2121,该值越小,说明分类越合理。 第5列R-squared with 1-R*2 Ratio是由同一横行的数
24、据求得: 如:(1 0.8166)/(1 0.2121) = 0.2327,此值越小,表明分类越合理。从此列可看出,很多比值较大,说明这10个变量分成2类是不太合适的。,图8-7给出从标准化变量预测类分量的标准回归系数。 若设C1、C2分别为第1和第2类分量,则有: C1 = 0.356608 BJ + 0.377719 JJ 0.353237 BS C2 = 0.281106 AGE + 0.278996 TJ + 0.239620 SG 0.120883 XX + 0.1567777XS + 165498TS + 0.260054BS,图8-8给出类结构。 类结构相当于因子分析中的因子模型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 聚类分析 判别分析
链接地址:https://www.31doc.com/p-2571730.html