matlab数学建模|多元统计分析 (一)(聚类分析)

多元分析(multivariate analyses)是多变量的统计分析方法,是数理统计中应用广 泛的一个重要分支,其内容庞杂,视角独特,方法多样,深受工程技术人员的青睐和广 泛使用,并在使用中不断完善和创新。由于变量的相关性,不能简单地把每个变量的结 果进行汇总,这是多变量统计分析的基本出发点。
目录
聚类分析概述
1相似性度量
1.1样本的相似性度量
闵氏距离、绝对值距离、欧氏距离、切比雪夫距离马氏距离
1.2类与类间的相似性度量
1)最短距离法(nearest neighbor or single linkage method)
2)最长距离法(farthest neighbor or complete linkage method)
3)重心法(centroid method)
4)类平均法(group average method)
5)离差平方和法(sum of squares method)、Ward 方法
2系统聚类法
生成聚类图
2.2最短距离法与最长距离法
1)pdist计算任意两个样本点间的欧氏距离
2)linkage:用短距离算法生成具层次结构的聚类树
3)cluster:从连接输出(linkage)中创建聚类
4)zsore(X) :标准化数据矩阵
5)H=dendrogram(Z,P) 画聚类树状图
6)T=clusterdata(X,cutoff)将矩阵X的数据分类
7)squareform:将pdist的输出转换为方阵
8)cophenet计算相关系数
3变量聚类法
3.1变量相似性度量
1)相关系数2)夹角余弦
3.2变量聚类法
1)最大系数法2) 最小系数法
2聚类分析案例—我国各地区普通高等教育发展状况分析
2.案例研究过程
(1)建立综合评价指标体系(2)数据资料
(3)R型聚类分析(4)Q 型聚类分析
4.案例研究结果
聚类分析概述 将认识对象进行分类是人类认识世界的一种重要方法,比如有关世界的时间进程 的研究,就形成了历史学,也有关世界空间地域的研究,则形成了地理学。又如在生物 学中,为了研究生物的演变,需要对生物进行分类,生物学家根据各种生物的特征,将 它们归属于不同的界、门、纲、目、科、属、种之中。事实上,分门别类地对事物进行 研究,要远比在一个混杂多变的集合中更清晰、明了和细致,这是因为同一类事物会具 有更多的近似特性。在企业的经营管理中,为了确定其目标市场,首先要进行市场细分。 因为无论一个企业多么庞大和成功,它也无法满足整个市场的各种需求。而市场细分, 可以帮助企业找到适合自己特色,并使企业具有竞争力的分市场,将其作为自己的重点 开发目标。
通常,人们可以凭经验和专业知识来实现分类。而聚类分析(cluster analyses)作 为一种定量方法,将从数据分析的角度,给出一个更准确、细致的分类工具。
1相似性度量 1.1样本的相似性度量
要用数量化的方法对事物进行分类,就必须用数量化的方法描述事物之间的相似 程度。一个事物常常需要用多个变量来刻画。如果对于一群有待分类的样本点需用 p 个变量描述,则每个样本点可以看成是 matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片
空间中的一个点。因此,很自然地想到可以用 距离来度量样本点间的相似程度。
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

这一距离的定义是我们所熟知的,它满足正定性,对称性和三角不等式。在聚类 分析中,对于定量变量,常用的是 Minkowski 距离
闵氏距离、绝对值距离、欧氏距离、切比雪夫距离
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

在 Minkowski 距离中,常用的是欧氏距离,它的主要优点是当坐标轴进行正交 旋转时,欧氏距离是保持不变的。因此,如果对原坐标系进行平移和旋转变换,则变换 后样本点间的距离和变换前完全相同。值得注意的是在采用 Minkowski 距离时,一定要采用相同量纲的变量。如果变量 的量纲不同,测量值变异范围相差悬殊时,建议首先进行数据的标准化处理,然后再计 算距离。在采用 Minkowski 距离时,还应尽可能地避免变量的多重相关性 (multicollinearity)。多重相关性所造成的信息重叠,会片面强调某些变量的重要性。 由于 Minkowski 距离的这些缺点,一种改进的距离就是马氏距离,定义如下
马氏距离
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

其中x, y为来自 p 维总体Z 的样本观测值,Σ为Z 的协方差矩阵,实际中Σ往往是不知道的,常常需要用样本协方差来估计。马氏距离对一切线性变换是不变的,故不受量纲的影响。此外,还可采用样本相关系数、夹角余弦和其它关联性度量作为相似性度量。近年 来随着数据挖掘研究的深入,这方面的新方法层出不穷。
1.2类与类间的相似性度量 如果有两个样本类 1 G 和 2 G ,我们可以用下面的一系列方法度量它们间的距离:
1)最短距离法(nearest neighbor or single linkage method)
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

它的直观意义为两个类中最近两点间的距离。
2)最长距离法(farthest neighbor or complete linkage method)
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

它的直观意义为两个类中最远两点间的距离。
3)重心法(centroid method)
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

4)类平均法(group average method)
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

5)离差平方和法(sum of squares method)、Ward 方法
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

事实上,若 matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片
内部点与点距离很小,则它们能很好地各自聚为一类,并且这两类又能够充分分离(即 matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片
很大),这时必然有 matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片
很大。因此,按定义可以认为,两类 matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片
之间的距离很大。离差平方和法初是由 Ward 在 1936 年提出,后经 Orloci 等人 1976 年发展起来的,故又称为 Ward 方法。
2系统聚类法2.1系统聚类法的功能与特点
系统聚类法是聚类分析方法中常用的一种方法。它的优点在于可以指出由粗到细 的多种分类情况,典型的系统聚类结果可由一个聚类图展示出来。
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

生成聚类图
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

显而易见,这种系统归类过程与计算类和类之间的距离有关,采用不同的距离定 义,有可能得出不同的聚类结果。
2.2最短距离法与最长距离法如果使用短距离法来测量类与类之间的距离,即称其为系统聚类法中的最短距离 法(又称近邻法),先由 Florek 等人 1951 年和 Sneath1957 年引入。下面举例说明最 短距离法的计算步骤。
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

完全类似于以上步骤,但以最长距离法来计算类间距离,就称为系统聚类法中的 最长距离法。 计算的 MATLAB 程序如下:

clc,clear a=[1,0; 1,1; 3,2; 4,3; 2,5]; [m,n]=size(a); d=zeros(m,m); for i=1:m for j=i+1:m d(i,j)=mandist(a(i,:),a(j,:)'); end end d nd=nonzeros(d); nd=union(nd,nd) for i=1:m-1 nd_min=min(nd); [row,col]=find(d==nd_min); tm=union(row,col); tm=reshape(tm,1,length(tm)); s(i)={char(['第',int2str(i),'次合成,平台高度为',num2str(nd_min),' 时的分类结果为:',int2str(tm)])}; %上面大括号{}代表建立数组 nd(find(nd==nd_min))=[]; if length(nd)==0 break end end s(:)

或者使用MATLAB统计工具箱的相关命令,编写如下程序:
clc,clear a=[1,0; 1,1; 3,2; 4,3; 2,5]; y=pdist(a,'cityblock'); yc=squareform(y) z=linkage(y) [h,t]=dendrogram(z)

MATLAB中相关命令的使用说明如下:
1)pdist计算任意两个样本点间的欧氏距离
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

2)linkage:用短距离算法生成具层次结构的聚类树
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

3)cluster:从连接输出(linkage)中创建聚类
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

4)zsore(X) :标准化数据矩阵
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

5)H=dendrogram(Z,P) 画聚类树状图
由linkage产生的数据矩阵Z画聚类树状图。P是结点数,默认值是30。
6)T=clusterdata(X,cutoff)将矩阵X的数据分类
X为 m×n 矩阵,被看作m 个大小为n的向量。它与以下几个 命令等价:
Y=pdist(X,’euclid’) Z=linkage(Y,’single’) T=cluster(Z,cutoff)

7)squareform:将pdist的输出转换为方阵
8)cophenet计算相关系数
c=cophenet(Z,Y) 计算相关系数,它是将Z中的距离信息(由linkage()函数产生)和Y中的距离信息(由pdist())函数产生进行比较。Z为(m-1)× 3 矩阵,距离信息包含在第三列。Y是(m-1)* m /2维的行向量。
例如,给定距离为Y的一组对象 { 1,2,...,m },函数linkage()生成聚类树。cophenet()函数用来度量这种分类的失真程度,即由分类所确定的结构与数据间的拟合程度。 输出值c为相干系数。对于要求很高的解,该值的幅度应非常接近1。它也可用来比 较两种由不同算法所生成的分类解。
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

3变量聚类法在实际工作中,变量聚类法的应用也是十分重要的。在系统分析或评估过程中,为 避免遗漏某些重要因素,往往在一开始选取指标时,尽可能多地考虑所有的相关因素。 而这样做的结果,则是变量过多,变量间的相关度高,给系统分析与建模带来很大的不 便。因此,人们常常希望能研究变量间的相似关系,按照变量的相似关系把它们聚合成 若干类,进而找出影响系统的主要因素。
3.1变量相似性度量在对变量进行聚类分析时,首先要确定变量的相似性度量,常用的变量相似性度量 有两种。
1)相关系数
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

2)夹角余弦
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

各种定义的相似度量均应具有以下两个性质:
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

3.2变量聚类法类似于样本集合聚类分析中常用的最短距离法、最长距离法等,变量聚类法采用 了与系统聚类法相同的思路和过程。在变量聚类问题中,常用的有最大系数法、最小系 数法等。
1)最大系数法
在最大系数法中,定义两类变量的距离为
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

2) 最小系数法
在最小系数法中,定义两类变量的距离为
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

例2服装标准制定中的变量聚类法。在服装标准制定中,对某地成年女子的各部位尺寸进行了统计,通过14个部位的测 量资料,获得各因素之间的相关系数表(见表2)。
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

计算的MATLAB程序如下:
%把下三角相关系数矩阵粘贴到纯文本文件ch.txt中 a=textread('ch.txt'); for i=1:14 a(i,i)=0; end b=a(:); b=nonzeros(b); b=b'; b=1-b; z=linkage(b,'complete'); y=cluster(z,2) dendrogram(z) ind1=find(y==2); ind1=ind1' ind2=find(y==1); ind2=ind2'

可以看出,人体的变量大体可以分为两类:一类反映人高、矮的变量,如上体长, 手臂长,前腰节高,后腰节高,总体长,身高,下体长;另一类是反映人体胖瘦的变量, 如胸围,颈围,总肩围,总胸宽,后背宽,腰围,臀围。
2聚类分析案例—我国各地区普通高等教育发展状况分析聚类分析又称群分析,是对多个样本(或指标)进行定量分类的一种多元统计分析 方法。对样本进行分类称为Q型聚类分析,对指标进行分类称为R型聚类分析。
本案例 运用Q型和R型聚类分析方法对我国各地区普通高等教育的发展状况进行分析。
1.案例研究背景:近年来,我国普通高等教育得到了迅速发展,为国家培养了大批人才。但由于我国 各地区经济发展水平不均衡,加之高等院校原有布局使各地区高等教育发展的起点不一 致,因而各地区普通高等教育的发展水平存在一定的差异, 不同的地区具有不同的特 点。对我国各地区普通高等教育的发展状况进行聚类分析,明确各类地区普通高等教育 发展状况的差异与特点,有利于管理和决策部门从宏观上把握我国普通高等教育的整体 发展现状,分类制定相关政策,更好的指导和规划我国高教事业的整体健康发展。
2.案例研究过程 (1)建立综合评价指标体系
高等教育是依赖高等院校进行的,高等教育的发展状况主要体现在高等院校的相 关方面。遵循可比性原则,从高等教育的五个方面选取十项评价指标,具体如图4。
(2)数据资料
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

(3)R型聚类分析
定性考察反映高等教育发展状况的五个方面十项评价指标,可以看出,某些指标之 间可能存在较强的相关性。比如每十万人口高等院校毕业生数、每十万人口高等院校招 生数与每十万人口高等院校在校生数之间可能存在较强的相关性, 每十万人口高等院 校教职工数和每十万人口高等院校专职教师数之间可能存在较强的相关性。为了验证这 种想法,运用MATLAB软件计算十个指标之间的相关系数,相关系数矩阵如表6所示。
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

可以看出某些指标之间确实存在很强的相关性,因此可以考虑从这些指标中选取几个有代表性的指标进行聚类分析。为此,把十个指标根据其相关性进行R型聚类,再 从每个类中选取代表性的指标。首先对每个变量(指标)的数据分别进行标准化处理。 变量间相近性度量采用相关系数,类间相近性度量的计算选用类平均法。聚类树型图见 图5。
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

计算的 MATLAB 程序如下:
load gj.txt%把原始数据保存在纯文本文件 gj.txt 中 r=corrcoef(gj); %计算相关系数矩阵 d=tril(r); %取出相关系数矩阵的下三角元素 for i=1:10%对角线元素化成零 d(i,i)=0; end d=d(:); d=nonzeros(d); %取出非零元素 d=d'; d=1-d; z=linkage(d) dendrogram(z)

从聚类图中可以看出,每十万人口高等院校招生数、每十万人口高等院校在校生数、 每十万人口高等院校教职工数、每十万人口高等院校专职教师数、每十万人口高等院校 毕业生数 5 个指标之间有较大的相关性,先被聚到一起。如果将 10 个指标分为 6 类, 其它 5 个指标各自为一类。这样就从十个指标中选定了六个分析指标:
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

可以根据这六个指标对30 个地区进行聚类分析。
(4)Q 型聚类分析
根据这六个指标对30个地区进行聚类分析。首先对每个变量的数据分别进行标准化 处理,样本间相近性采用欧氏距离度量,类间距离的计算选用类平均法。聚类树型图见 图6。
matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

计算的MATLAB程序如下:
load gj.txt%把原始数据保存在纯文本文件gj.txt中 gj(:,3:6)=[]; gj=zscore(gj); y=pdist(gj); z=linkage(y) dendrogram(z,'average')

4.案例研究结果
各地区高等教育发展状况存在较大的差异,高教资源的地区分布很不均衡。
如果根 据各地区高等教育发展状况把30 个地区分为三类,结果为:第一类:北京;第二类:西藏;第三类:其他地区。
如果根据各地区高等教育发展状况把30个地区分为四类,结果为: 第一类:北京;第二类:西藏;第三类:上海天津;第四类:其他地区。
如果根据各地区高等教育发展状况把30个地区分为五类,结果为:第一类:北京;第二类:西藏;第三类:上海天津;第四类:宁夏、贵州、青海; 第五类:其他地区。
从以上结果结合聚类图中的合并距离可以看出,北京的高等教育状况与其它地区相 比有非常大的不同,主要表现在每百万人口的学校数量和每十万人口的学生数量以及国家财政预算内普通高教经费占国内生产总值的比重等方面远远高于其他地区,这与北京 作为全国的政治、经济与文化中心的地位是吻合的。上海和天津作为另外两个较早的直 辖市,高等教育状况和北京是类似的状况。宁夏、贵州和青海的高等教育状况极为类似, 高等教育资源相对匮乏。西藏作为一个非常特殊的民族地区,其高等教育状况具有和其 他地区不同的情形,被单独聚为一类,主要表现在每百万人口高等院校数比较高,国家 财政预算内普通高教经费占国内生产总值的比重和生均教育经费也相对较高,而高级职 称占专职教师的比例与平均每所高等院校的在校生数又都是全国低的。这正是西藏高 等教育状况的特殊之处:人口相对较少,经费比较充足,高等院校规模较小,师资力量 薄弱。其他地区的高等教育状况较为类似,共同被聚为一类。针对这种情况,有关部门 可以采取相应措施对宁夏、贵州、青海和西藏地区进行扶持,促进当地高等教育事业的 发展。
聚类算法的分类
【matlab数学建模|多元统计分析 (一)(聚类分析)】matlab数学建模|多元统计分析 (一)(聚类分析)
文章图片

    推荐阅读