1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6聚类分析.doc

聚类分析:聚类分析分系统聚类法和k均值法。 1.系统聚类: scale(x) 对数据做标准化操作,x为原数据。 dist(x,method="euclidean",diag=F,upper=F,p=2) 距离矩阵计算函数 x为数据矩阵或数据框 method为计算方法,包括:euclidean(欧氏距离)、maximum(切比雪夫距离)、manhattan(绝对值距离)、nberra(兰氏距离)、minkoeski(明氏距离)。 diag为是否包含对角线元素 upper为是否需要上三角 p为明氏距离的幂次。 hclust(d,method="ward",….) 系统聚类函数 d为距离矩阵 method为系统聚类方法:single(最短距离法)、complete(最长距离法)、average(类平均法)、median(中间距离法)、centroid(重心法)、ward(ward法)。 rect.hclust(hc,k=c) 圈聚类框函数 hc为聚类函数结果,c为常数是自定的分类个数。 例1:对以下股票进行分类,数据集:d9.1 x1:主营业务利润率 x2:销售毛利率 x3:速动比率 x4:资产负债率 x5:主营业务收入增长率 x6:营业利润增长率 命令: > X=read.table("clipboard",header=T) #读取数据 > Z=scale(X) #对数据做标准化处理 > D=dist(Z) #计算距离矩阵 > hc=hclust(D,"ward") #ward聚类法 > cbind(hc$merge,hc$height) #聚类过程 [,1] [,2] [,3] [1,] -7 -11 1.112209 [2,] -2 -6 1.150279 [3,] -3 -14 1.156805 [4,] -4 -9 1.202639 [5,] -1 1 1.646166 [6,] -10 -12 2.221257 [7,] 3 4 2.311630 [8,] -13 6 3.343961 [9,] -8 5 3.835969 [10,] -5 7 3.969620 [11,] 8 9 4.630854 [12,] 2 10 6.978112 [13,] 11 12 9.014416 > plot(hc) #画聚类图 > rect.hclust(hc,k=3) 从分类图我们可以分三类: 第一类:福建水泥、四川金顶、华新水泥、海螺水泥、冀东水泥、太行股份、祁连山; 第二类:大同水泥、狮头股份; 第三类:西水股份、四川双马、天鹅股份、牡丹江、尖峰集团。 也可使用自编函数包mvstats中的H.clust函数。 H.clust(X,d="euc",m="comp",proc=F,plot=T) X为数值矩阵或数据框 d为距离计算方法。euclidean(欧氏距离) maximum(切比雪夫距离) manhattan(绝对值距离) canberra(兰氏距离) minkoeski(明氏距离) m为系统聚类方法 single(最短距离法) complete(最长距离法) average(类平均法) median(中间距离法)、centroid(重心法)、ward(ward法) proc为是否输出聚类过程 plot为是否输出聚类图 例2:为了研究我国31个省、市、自治区2001年城镇居民生活消费的分布规律,根据调查资料作区域消费类型划分。数据集:d7.2。 x1:人均食品支出 x2:人均衣着商品支出 x3:人均家庭设备用品及服务支出 x4:人均医疗保健支出 x5:人均交通和通信支出 x6:人均娱乐教育文化服务支出 x7:人均居住支出 x8:人均杂项商品和服务支出。 命令: > X=read.table("clipboard",header=T) #读取数据 > library(mvstats) > H.clust(X,"euclidean","single",plot=T) #欧氏距离 最短距离法 Call: hclust(d = D, method = m) Cluster method : single Distance : euclidean Number of objects: 31 > H.clust(X,"euclidean","complete",plot=T) #欧氏距离 最长距离法 > H.clust(X,"euclidean","median",plot=T) #欧氏距离 中间距离法 > H.clust(X,"euclidean

文档评论(0)

基本资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档