实验十三 聚类分析2删减版.docx
- 文档编号:18329559
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:35
- 大小:155.56KB
实验十三 聚类分析2删减版.docx
《实验十三 聚类分析2删减版.docx》由会员分享,可在线阅读,更多相关《实验十三 聚类分析2删减版.docx(35页珍藏版)》请在冰点文库上搜索。
实验十三聚类分析2删减版
课 时 授 课 计 划
课次序号:
30
一、课 题:
实验十三谱系聚类法
二、课 型:
上机实验
三、目的要求:
1.掌握谱系聚类分析的理论与方法、模型的建立;
2.掌握利用谱系聚类分析的SAS过程解决有关实际问题.
四、教学重点:
谱系聚类分析的SAS过程.
教学难点:
谱系聚类分析的理论.
五、教学方法及手段:
传统教学与上机实验相结合.
六、参考资料:
《应用多元统计分析》,高惠璇编,北京大学出版社,2005;
《使用统计方法与SAS系统》,高惠璇编,北京大学出版社,2001;
《多元统计分析》(二版),何晓群编,中国人民大学出版社,2008;
《应用回归分析》(二版),何晓群编,中国人民大学出版社,2007;
《统计建模与R软件》,薛毅编著,清华大学出版社,2007.
七、作业:
写出谱系聚类步骤,类间距离公式,6.76.9或补充
八、授课记录:
授课日期
班 次
九、授课效果分析:
实验十二聚类分析
(2)2学时
一、实验目的和要求
理解并能运用系统聚类分析方法,对实际问题进行分类.能根据实际问题采用恰当的距离进行聚类,并确定分几类最合适,并能解释每个类的特点及类与类之间的区别.
二、实验内容
1.系统聚类的SAS过程—PROCCLUSTER过程
基本语句:
PROCCLUSTER
VAR变量;/*列出参与聚类分析的指标变量名称*/
ID样品名称;/*样品名称,可以是定性、定量变量*/
RUN;
PROCTREE
ID样品名称;
RUN;
FASTCLUS后面选项:
(1)METHOD=name:
此语句为必需,指出使用的聚类方法.
SINGLE(或SIN)—最短距离法;COMPLETE(或COM)—最长距离法;
AVERAGE(或AVE)—类平均法;CENTROID(或CEN)—重心法.
(2)NOSQUARE:
阻止类平均法和重心法中将距离平方.
(3)NONORM:
阻止将两类合并时的距离水平规范化.若无此选项,规范化距离水平等于原始距离水平除以两两样品间的平方距离的平方根.
(4)STD(或STANDARD):
将原始数据标准化后再计算欧式距离矩阵,即利用方差加权距离进行聚类分析.
(5)OUTTREE=SAS集1:
生成一个用于画谱系聚类图的输出SAS集.若省略,自动生成DATA1等.
2.谱系聚类方法
(1)类间距离及其递推公式
样品间距离:
可选用欧式距离、明氏距离、马氏距离等,一般用欧式距离.
记
,
和
为两个类,含样品数
和
.
——类
的重心.
类
与
间距离
.
和
合并得
,类间距离
、类间距离递推公式4种:
1)最短距离、递推公式
——两类中样品之间距离最短者作为类间距离
递推公式
2)最长距离、递推公式
——两类中样品之间距离最长者
3)类平均距离、递推公式
——两类中所有两两样品之间的距离的平均
递推公式
类平方距离
——两类中所有两两样品之间的平方距离
递推公式
4)重心距离、递推公式
——两类的重心之间的距离作为两类间的距离
递推公式
(2)谱系聚类法的步骤
1)n个样品开始时作为n个类,计算两两之间的距离,构成一个对称距离矩阵
此时
2)选择
中主对角线以下(或以上)最小元素,设为
,这时
与
将
与
合并为新类
.在
中消去
与
对应的行与列,加入新类
与剩下未聚合的类间距离所组成的一行和一列,得新的
阶距离矩阵
.
3)重复步骤
(2),得
,n个样品聚为一个大类.
4)记下合并样品的编号及两类合并时的距离(称为距离水平),绘制聚类谱系图.
3.应用举例
(1)样品聚类举例
例1(例6.4)对表6.1所列的13个国家可持续发展综合国力的数据按下列方法进行谱系聚类分析,采用标准化数据聚类并给出聚为4类的结果.
(1)最短距离法;
(2)最长距离法;
(3)类平均距离法;
(4)重心法.
解
(1)最短距离法
在proccluster过程中取选项“method=single”和“standard”,得基于标准化数据的最短距离法的聚类过程如表6.9所示.
dataexamp1;
inputcountry$x1x2x3;
cards;
澳大利亚1249.391273.611282.68
巴西821.60859.85919.73
加拿大1641.011591.541608.32
中国1330.451382.681462.08
法国1546.551501.771525.95
德国1656.521630.521570.69
印度861.30862.51945.11
意大利1321.771232.301243.51
日本1873.681949.891851.20
俄罗斯1475.161315.871297.00
南非794.25787.48782.38
英国1486.751441.711465.12
美国2824.292659.642740.12
;
run;
/*谱系聚类的cluster过程,方法method=sin(或single)最短距离法,std表示原始数据标准化后再计算欧氏距离,nonorm阻止两类合并时距离水平规范化,outtree=tree1表示生成一个用于画谱系图的输出SAS数据集tree1(默认data1)*/
procclusterdata=examp1method=sinstdnonormouttree=tree1;
varx1x2x3;/*参与分析的指标变量为x1x2x3*/
idcountry;/*样品名称country*/
run;
/*画谱系图的tree过程,graphics高分辨率,horizontal(或hor)谱系图水平放置,out=c1输出分类结果集c1,nclusters=4输出分类结果数据集中分类个数为4*/
proctreedata=tree1graphicshorizontalout=c1nclusters=4;
idcountry;/*谱系图样品名称为country*/
run;
procprintdata=c1;
run;
TheSASSystem10:
00Thursday,November4,20121
TheCLUSTERProcedure
SingleLinkageClusterAnalysis
变量x1x2x3的相关矩阵R的特征值、各主成分的贡献率、累计贡献率
EigenvaluesoftheCorrelationMatrix
EigenvalueDifferenceProportionCumulative
特征值贡献率累计贡献率
12.983027002.971487090.99430.9943
20.011539910.006106820.00380.9982
30.005433090.00181.0000
Thedatahavebeenstandardizedtomean0andvariance1
Root-Mean-SquareTotal-SampleStandardDeviation=1
表6.913个国家综合国力的最短距离法聚类过程
ClusterHistory
T
Mini
NCL--ClustersJoined---FREQDiste
类的数目新聚类集新类中样品数合并时的最短距离
12巴西印度20.0906
11加拿大德国20.1128
10澳大利亚意大利20.1777
9法国英国20.2053
8CL11CL940.3024
7CL8中国50.3166
6CL12南非30.317
5CL10俄罗斯30.3503
4CL5CL780.4233
3CL4日本90.9466
2CL3CL6121.2882
1CL2美国132.9032
表中“CLm”表示类的数目为m时新聚的类.例如,”CL11”表示类数为11时新聚的类,即{加拿大,德国}等等.
聚类过程:
首先,在最短距离水平为0.090时,将巴西和印度聚为一类,得新类CL12={巴西,印度},其中包含2个样品,这时全部样品被分为12个类;
其次,在最短距离水平为0.1128时,将加拿大和德国聚为一类,得CL11,其中包含2个样品,这时全部样品被分为11类┈┄;
第5步,在类间最短距离为0.3024水平上,将类CL11与CL9合并,得新类CL8={CL11,CL9}={加拿大,德国,法国,英国},包含4个样品,这时全部样品被分为8类;
最后在类间最短距离水平为2.9032时,将美国并入类CL2中,这时,全部样品归入一个类中,系统聚类过程结束.
通过在proctree过程中添加选项“nclusters”,即输出为4类结果如表6.10所示.
表6.1013个国家综合国力的最短距离法分4类结果
ObscountryCLUSTERCLUSNAME
国家所属的类所属类的名称
1巴西1CL6
2印度1CL6
3加拿大2CL4
4德国2CL4
5澳大利亚2CL4
6意大利2CL4
7法国2CL4
8英国2CL4
9中国2CL4
10南非1CL6
11俄罗斯2CL4
12日本3日本
13美国4美国
由上可知,基于标准化数据,分4类结果:
1类:
巴西、印度、南非;3类:
日本;
4类:
美国;2类:
其余国家.
由此可见,用谱系聚类法(最短距离法)与快速聚类的结果是不同的.与快速聚类法比较,谱系聚类法能细致地看出由小类聚为大类的过程,由合并时的距离水平可以看出样品之间的亲疏程度.利用proctree过程可画出最短距离法的谱系图如图6.4.
图6.413个国家综合国力的最短距离法谱系图
(2)最长距离法(略)
在proccluster过程中取选项“method=com(或complete)”,得最长距离聚类过程如表6.11所示
procclusterdata=examp1method=comstdnonormouttree=tree2;
与最短距离法,从第5步开始,各类合并的次序和距离水平有所不同,但聚为4类结果是相同的.
13个国家综合国力的最短距离法分4类结果
ObscountryCLUSTERCLUSNAME
1巴西1CL8
2印度1CL8
3加拿大2CL4
4德国2CL4
5澳大利亚2CL4
6意大利2CL4
7法国2CL4
8英国2CL4
9南非1CL8
10俄罗斯2CL4
11中国2CL4
12日本3日本
13美国4美国
最长距离法的谱系图如图6.5所示.
图6.513个国家综合国力的最长距离法谱系图
(3)类平均距离法(略)
在proccluster过程取选项“method=ave”(或average)得类平均距离法聚类过程如表6.12所示.
procclusterdata=examp1method=avestdnonormnosquareouttree=tree2;
除合并各类时的距离水平外,类平均距离法与最长距离法的聚类过程完全相同.聚为4类的结果与最短距离法、最长距离法均相同.
类平均距离法的谱系图见图6.6.
图6.613个国家综合国力的类平均距离法谱系图
(4)重心法(略)
proccluster过程中取“method=cen”(或centroid),得重心法聚类过程如表6.13所示
procclusterdata=examp1method=censtdnonormnosquareouttree=tree2;
重心法与前述几种方法在类的合并次序上均有所差异,但聚为4类的结果是相同的.
13个国家综合国力的重心法分4类结果
ObscountryCLUSTERCLUSNAME
1巴西1CL8
2印度1CL8
3加拿大2CL4
4德国2CL4
5澳大利亚2CL4
6意大利2CL4
7法国2CL4
8英国2CL4
9南非1CL8
10俄罗斯2CL4
11中国2CL4
12日本3日本
13美国4美国
图6.713个国家综合国力的重心法谱系图
说明:
上例是从观测数据出发进行聚类的,proccluster过程还可以直接从距离矩阵D(见(6.7)式)出发进行聚类,只需要在所建SAS数据集名称后加上“(type=distance)”以说明输入数据为距离即可.
方法二:
Matlab编程运行
样品间用绝对距离,Matlab程序:
clc,clear;
a=[1249.39,1273.61,1282.68;821.60,859.85,919.73;1641.01,1591.54,1608.32;1330.45,1382.68,1462.08;1546.55,1501.77,1525.95;1656.52,1630.52,1570.69;861.30,862.51,945.11;1321.77,1232.30,1243.51;1873.68,1949.89,1851.20;1475.16,1315.87,1297.00;794.25,787.48,782.38;1486.75,1441.71,1465.12;2824.29,2659.64,2740.12];
[m,n]=size(a);
d=zeros(m);
d=mandist(a');%求矩阵行向量组之间的两两绝对值距离
tril(d);%截取下三角元素
nd=nonzeros(d);
nd=union(nd,nd);
fori=1:
m-1
nd_min=min(nd);
[row,col]=find(d==nd_min);tm=union(row,col);
tm=reshape(tm,1,length(tm));
fprintf('第%d次合成,平台高度为%d时的分类结果为:
%s\n',i,nd_min,int2str(tm));
nd(find(nd==nd_min))=[];
iflength(nd)==0
break
end
end
结果:
第1次合成,平台高度为6.774000e+01时的分类结果为:
27
第2次合成,平台高度为9.212000e+01时的分类结果为:
36
第3次合成,平台高度为1.528600e+02时的分类结果为:
18
第4次合成,平台高度为1.806900e+02时的分类结果为:
512
第5次合成,平台高度为2.183700e+02时的分类结果为:
412
第6次合成,平台高度为2.370700e+02时的分类结果为:
211
第7次合成,平台高度为2.666000e+02时的分类结果为:
35
第8次合成,平台高度为2.823500e+02时的分类结果为:
110
第9次合成,平台高度为2.834600e+02时的分类结果为:
56
第10次合成,平台高度为2.904500e+02时的分类结果为:
810
第11次合成,平台高度为3.048100e+02时的分类结果为:
711
第12次合成,平台高度为3.055500e+02时的分类结果为:
1012
也可以使用Matlab统计工具箱
clc,clear;
a=[1249.39,1273.61,1282.68;821.60,859.85,919.73;1641.01,1591.54,1608.32;1330.45,1382.68,1462.08;1546.55,1501.77,1525.95;1656.52,1630.52,1570.69;861.30,862.51,945.11;1321.77,1232.30,1243.51;1873.68,1949.89,1851.20;1475.16,1315.87,1297.00;794.25,787.48,782.38;1486.75,1441.71,1465.12;2824.29,2659.64,2740.12];
y=pdist(a,'cityblock');%求a的两两行向量间的绝对值距离
yc=squareform(y)%变换成距离方阵
z=linkage(y)%产生等级聚类树
[h,t]=dendrogram(z)%画谱系图
T=cluster(z,'maxclust',4)%把对象分成4类
fori=1:
4
tm=find(T==i);%求第i类的对象
tm=reshape(tm,1,length(tm));%变换成行向量
fprint('第%d类的有%s\n',i,int2str(tm));%显示分类结果
end
输出结果
绝对距离矩阵
yc=
1.0e+03*
Columns1through11
01.20451.03520.36950.76861.05201.13680.15291.86910.28231.4416
1.204502.23971.57401.97312.25660.06771.19643.07361.48690.2371
1.03522.239700.66570.26660.09212.17191.04330.83390.75282.4768
0.36951.57400.665700.39910.68251.50630.37761.49960.37661.8111
0.76861.97310.26660.399100.28351.90530.77671.10050.48622.2102
1.05202.25660.09210.68250.283502.18881.06020.81700.76972.4936
1.13680.06772.17191.50631.90532.188801.12873.00591.41910.3048
0.15291.19641.04330.37760.77671.06021.128701.87720.29051.4335
1.86913.07360.83391.49961.10050.81703.00591.877201.58673.3107
0.28231.48690.75280.37660.48620.76971.41910.29051.586701.7239
1.44160.23712.47681.81112.21022.49360.30481.43353.31071.72390
0.58791.79240.44730.21840.18070.46421.72470.59601.28120.30552.0295
4.41845.62293.38324.04883.64983.36635.55514.42652.54934.13605.8599
Columns12through13
0.58794.4184
1.79245.6229
0.44733.3832
0.21844.0488
0.18073.6498
0.46423.3663
1.72475.5551
0.59604.4265
1.28122.5493
0.30554.1360
2.02955.8599
03.8305
3.83050
z=
1.0e+03*
0.00200.00700.0677
0.00300.00600.0921
0.00100.00800.1529
0.00500.01200.1807
0.00400.01700.2184
0.01100.01400.2371
0.01500.01800.2666
0.01000.01600.2823
0.02000.02100.3055
0.00900.02200.8170
0.01900.02301.1287
0.01300.02402.5493
h=
173.0011
175.0011
176.0011
177.0011
178.0011
179.0011
180.0011
181.0011
182.0011
183.0011
184.0011
185.0011
t=
1
2
3
4
5
6
7
8
9
10
11
12
13
T=
2
3
2
2
2
2
3
2
1
2
3
2
4
分类结果:
9号日本1类,2号巴西、7号印度、11号南非为3类,13号美国4类,其余2类。
样品距离采用标准化后欧式距离,Matlab运行程序及结果
clc,clear;
a=[1249.39,1273.61,1282.68;821.60,859.85,919.73;1641.01,1591.54,1608.32;1330.45,1382.68,1462.08;1546.55,1501.77,1525.95;1656.52,1630.52,1570.69;861.30,862.51,945.11;1321.77,1232.30,1243.51;1873.68,1949.89,1851.20;1475.16,1315.87,1297.00;794.25,787.48,782.38;1486.75,1441.71,1465.12;2824.29,2659.64,2740.12];
y=pdist(a,'seuclidean');%求a的两两行向量间的标准欧式距离
yc=squareform(y)%变换成距离方阵
z=linkage(y)%产生等级聚类树
[h,t]=dendrogram(z)%画谱系图
T=cluster(z,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验十三 聚类分析2删减版 实验 十三 聚类分析 删减