
多元聚类分析在地区经济结构分类中的应用聚类作业.doc
6页第 1 页 共 7 页聚类分析在地区经济结构分类中的应用聚类分析在地区经济结构分类中的应用摘要:摘要:本文在 2009 年各省、直辖市和自治区的 GDP 和各产业生产总值的基础上,对 31 个省分别在 GDP 和三个产业生产总值的标准下,对地区经济结构分类:首先运用 K-均值聚类法确定类的数目,然后运用系统聚类法确定各省份的类别.关键词:关键词:聚类分析 K-均值聚类法 系统聚类法0引言引言 一般,我们根据某省份所处的地域可以大致地判断它的经济水平(见表 1).但事实上并非如此(见表 2).以 2009 年各省,直辖市,地区的国民生产总值按大小排列的位次为例:同为东部地区的江苏(第2位)和吉林(第22位),同为中部地区的河南(第5位)和山西(第21位),同为西部地区的四川(第9位)和西藏(第31位).即使按地域继续细分,这种差别仍然是不可避免的,例如同为东南地区的广东(第1位)和海南(第28位).因此,我们需要饶对各个地区按照经济水平进行更符合实际情况的分类.表1 各地域的省份地域省(市)(自治区)东部黑龙江 吉林 辽宁 河北 北京 天津 山东 江苏 上海 浙江 福建 广东 海南中部河南 湖北 湖南 安徽 江西 山西西部重庆 四川 贵州 云南 广西 陕西 甘肃 青海 宁夏 西藏 新疆 内蒙古1原理原理聚类分析又称群分析,它是研究对样品或指标进行分类的一种多元统计方法,通俗的说即是相似元素的集合(参见文献[2]).系统聚类法是目前用得最多的一种聚类方法,它的基本思想是:首先,将要分类的个变量各自看做一类,然后计算各类之间的关系密切程度(相关系数或距离),并将关系n最密切的两类归为一类,其余不变,记得到,如此重复下去,每次归类都减少一类,1n直至最后,个变量都归为一类,这一归类过程可以用一张聚类图形象地表示出来,由聚n类图明显可以看出分类过程(参见文献[3]).K-均值聚类法是一种简单、高效的聚类算法,假设有个变量,现在将n12,,,nx xxL个变量划分为 K 个类,分别用表示,令是第 i 个类中的变量数目,n12,,,kXXXLiNiX第 2 页 共 7 页是这些变量的均值,取距离函数为欧式距离,K-均值聚类法的步骤如下:im(1)随机选择 K 个样本作为初始聚类中心;12,,,km mmL(2)如果,则分配到第类;1,,,1,1,2,,pjid x md x mpK ikLjxp(3)重新计算每个聚类的中心:; 11,1ii i kimxikN (4)重复步骤(2)和(3)直到不再变化,.im1,2,,ikL表2 2009 各地国民生产总值一览表序号省(市)GDP 总值GDP 位次第一产业第二产业第三产业1北京11865.9313118.252743.169004.522天津7500.8020131.014110.543259.253河北17026.6062218.918874.895932.804山西7365.7421477.604021.192866.955内蒙古9725.7815929.025101.393695.376辽宁15065.5771414.907821.675829.007吉林7203.1822980.503491.962730.728黑龙江8288.00161154.323920.363213.329上海14900.938113.825939.968847.1510江苏34061.1922201.6418416.1313443.4211浙江22832.4341161.6511843.309827.4812安徽10052.86141495.574902.773654.5213福建11949.53121182.875812.424954.2414江西7589.22191098.313890.312600.6015山东33805.3033226.6019035.0311543.6716河南19367.2852768.9910968.635629.6617湖北12831.52111915.905909.425006.2018湖南12930.69101969.675682.195278.8319广东39081.5912006.0219270.4817805.0920广西7700.36181458.713377.722863.9321海南1646.6028461.93443.43741.2422重庆6528.7223606.803447.482474.4423四川14151.2892240.616711.875198.8024贵州3893.5126554.021474.331865.1625云南6168.23241063.962580.342523.9326西藏441.363163.99136.19241.1827陕西8186.6517789.634312.113084.9128甘肃3382.3527497.501510.981373.8729青海1081.2730107.40576.34397.53第 3 页 共 7 页30宁夏1334.5629127.13680.20527.2331新疆4273.5825759.731951.871561.9722 应用应用由于在数学软件matlab7.0中有现成的函数可以调用(参见文献[1]和[4]),我们可以在计算机上实现聚类分析,对各地区按经济水平分类:(1)编辑 M 文件 shuju.m(或直接在命令窗口中)输入表二中的相应数据,包括国民生产总值和各产业的生产总值;(2)编辑 M 文件 junzhi.m(见附录一)用 K-均值聚类法判断各地区应分成几类;(3)编辑 M 文件 xitong.m(见附录二)用系统聚类法将各地区按(2)中确定的类的数目聚类.为了更详细的说明以上过程,我们以按国民生产总值分类为例:输入数据后,调用junzhi.m 可以得到类数目分别为 2,3,4 时的聚类结果(见图 1-3),可以看到当类目数为2时,silhouette 值较低,且出现负值,说明第 1 类和第 2 类没有很好的分开,为此应增加类的数目;当类数目为 3 时,silhouette 值较高,说明分为 3 类能够得到较好的聚类结果;当类数目为 4 时,silhouette 值虽然也没有出现负数,但比类数目少为 3 时的 silhouette 值要低.因此,我们将类数目定为 3 类.图 1 按 GDP 分 2 类的结果 图 2 按 GDP 分 3 类的结果00.20.40.60.81123silhouette值值 3值图 3 按 GDP 分 4 类的结果 图 4 按 GDP 分类的聚类图-0.200.20.40.60.8112silhouette值值 2值第 4 页 共 7 页17 18 13 23 6 3 2 4 7 14 20 22 8 27 25 5 12 21 29 26 24 30 28 16 9 1 11 10 15 1902000400060008000100001200014000确定好类目数,再调用 xitong.m 由系统聚类法的到聚类图(见图 4)和三个类别:第 1 类是广东,第二类是江苏和山东,其它地区为第 3 类.继续按照以上步骤进行下去,可以得到 31 个省、市、自治区分别按照三大产业结构、第一产业生产总值、第二产业生产总值、第三产业生产总值共四个标准进行系统聚类得到的聚类图(见图 5-8),以及相应的类别(见表 3).值得注意的是,针对不同分类标准,最终确定的类目数是不同的(表 3 中标“无”的行即为类目数是 2 的分类结果,其它行类目数为 3),这里为节省篇幅,我们略去用来在不同标准下确定类目数的图形.图 5 按产业结构分类的聚类图 图 6 按第一产业分类的聚类图17 18 13 23 2 4 27 8 7 14 22 20 25 5 12 24 28 30 21 29 26 3 6 16 1 9 11 10 15 19010002000300040005000600070001 9 29 2 26 4 21 28 22 24 5 7 8 11 13 14 25 27 30 6 12 20 3 10 23 17 18 19 15 160100200300400500图 6 按第二产业分类的聚类图 图 6 按第三产业分类的聚类图 9 17 13 18 5 12 2 4 8 27 7 22 20 1 25 24 28 14 23 21 29 30 26 3 6 11 16 10 15 19010002000300040005000600000.20.40.60.811234silhouette值值 4值第 5 页 共 7 页5 12 2 8 27 4 7 14 22 25 24 28 20 21 26 29 30 3 6 16 13 17 18 23 1 9 11 15 10 19050010001500200025003000350040004500表 3 按照各标准聚类的结果类别第 1 类第 2 类第 3 类按产业结构分类浙江其它地区广东 山东 江苏按第一产业分类其它地区河南 山东无按第二产业分类江苏 山东 广东其它地区无按第三产业分类广东其它地区无按 GDP 分类广东江苏 山东其它地区3 结论结论由表 3 可知,按照不同标准对我国 31 个省、市、自治区进行分类,得到的结果是不同的,并且任何一种标准下的分类都比按地理位置分类更正确的反应了我国各地区林的经济现状.附录一附录一%请先输入待处理数据xseed=93136785;rand('seed',seed);randn('seed',seed);%装载数据load kmeansdata;%数据大小size(x);%类数目为2k0=2;第 6 页 共 7 页idx2=kmeans(x,2,'distance','city');%显示聚类结果figure(2);[silh2,h]=silhouette(x,idx2,'city');xlabel('silhouette值');ylabel('聚2类');%类数目为3k1=3;idx3=kmeans(x,3,'distance','city');%显示聚类结果figure(3);[silh3,h]=silhouette(x,idx3,'city');xlabel('silhouette值');ylabel('聚3类');%类数目为4k2=4;idx4=kmeans(x,4,'dist','city','display','iter');%显示聚类结果figure(4);[silh4,h]=silhouette(x,idx4,'city');xlabel('silhouette值');ylabel('聚4类');附录二附录二%请先输入待处理数据xy=pdist(x);dism=squareform(y);z=linkage(y);u=dendrogram(z);t=cluster(z,3)第 7 页 共 7 页参考文献参考文献:[1]陈仲生. 基于Matlab7.0的信息处理[M]. 湖南: 湖南科学技术出版社, 2005:137-151.[2]高惠璇. 应用多元统计分析[M]. 北京:北京大学出版社, 2005, 113-124.[3]朱建平. 应用多元统计分析[M]. 北京: 科学出版社, 2004:23-41[4]李南南, 吴清, 曹辉林. Matlab7简明教程[M]. 北京: 清华大学出版社, 2006:137-151.。












