当前位置:文档之家› 灰色聚类理论及其R软件实现

灰色聚类理论及其R软件实现

######读入数据#################### data<-read.csv("data.csv",header=F) class(data) row_names<-c("辽宁","山东","江苏","浙江","福建","广东") col_names<-c("人均工业总产值","人均工业增加值","人均利润","人均所得税") data<-as.matrix(data) colnames(data)<-col_names rownames(data)<-row_names #######矩阵定义完毕###############
#######表 5:计算灰色关联度########## data_gl<-matrix(0,nrow=6,ncol=4) for(i in 1:6) for(j in 1:4) { data_gl[i,j]<-((max(data)-min(data))*0.5)/ ((data[i,j]-min(data[,j]))+(max(data)-min(data))*0.5) } rownames(data_gl)<-c("辽宁","山东","江苏","浙江","福建","广东") colnames(data_gl)<-c("人均工业总产值","人均工业增加值","人均利润","人均所 得税")
010-68454276 pinggu.research@
显然矩阵 Rg 是一主对角线为 1 的对称矩阵,最靠近主对角线的对角线可构 成“最大树”。即广东〈0.594〉山东〈0.632〉辽宁〈0.952〉浙江〈0.990〉江苏 〈0.876〉福建。根据“最大树”,任取实数λ ∈[0,1],砍断权重小于λ 的枝即得 到一个个互不连通的“树林”,这一个个互不连通的“树林”就构成了在λ 水平 上的聚类。比如我们取λ 为 0.9,则广东和山东、山东和辽宁、江苏和福建均被 砍断而辽宁、浙江和江苏则不被砍断,这就是说在 0.9 水平上可分为广东,山东, 辽宁、浙江、江苏,福建四类。若取λ 为 0.8,则广东和山东、山东和辽宁被砍 断,其余的仍连在一起,这就是说在 0.8 水平上可分为广东,山东,辽宁、浙江、 江苏、福建三类。若取λ 为 0.6,则只有广东和山东被砍断,其余的都连在一起, 这就是说在 0.6 水平上 6 省就仅分两类,即广东自成一类,山东,辽宁、浙江、 江苏、福建为一类,由此可以看出,在这六省中,广东是遥遥领先的。
按 Rg 直接进行聚类。下面还是结合上例进行介绍: 有上述关联度计算已得关联度集 R 为:(r1=0.833/广东、r2=0.656/山东、r3=0.528/ 辽宁、r4=0.513/浙江、r5=0.51/江苏、r6=0.474/福建)。用公式(3)可求得差异 系数矩阵 Es:
人大经济论坛 数据处理与分析中心
不管是两个还是几个元素,也不管是通过一层还是几层,只要已经在某 个λ 值上联起来,这些元素就视为已经在λ 水平上等价,这时有另外一 个元素要和其中的某个元素进行联接,就等于和它们全体进行链接。按 照这样的原则可画出本例的谱系图如下:
灰色聚类是根据灰色关联矩阵或灰数的白化权函数将一些观测指标或观测 对象划分成若干个可定义类别的方法。一个聚类可以看作是属于同一类的观测对 象的集合。在中小企业的联盟伙伴的选择过程中,每个联盟伙伴都具有多个特征 指标,难以进行准确的分类,因此我们可以根据中小企业的不同联盟目标应用灰 色聚类方法对联盟伙伴进行分类,从而确定企业的联盟伙伴。按聚类对象分,灰 色聚类可分为灰色关联聚类和灰色白化权函数聚类。灰色关联聚类主要用于同类 因素的归并,以使复杂系统简化。灰色白化权函数聚类主要用于检查观测对象是 否属于事先设定的不同类别,以区别对待。灰色白化权函数聚类又分为灰色变权 聚类和灰色定权聚类。灰色变权聚类适用于指标的意义、量纲皆相同的情形,当 聚类指标的意义、量纲不同且不同指标的观测值在数量上悬殊较大时,宜采用灰 色定权聚类。本文将中小企业的联盟伙伴的衡量指标设计为 5 个,即互补性指标、 经济性指标、信任性指标、平等性指标、融合性指标。可以看出,这 5 个指标的 意义、量纲以及观测值都有很大的不同,适合采用灰色定权聚类,各指标权重可
在计算好关联度的基础上我们就可以进行灰色聚类分析了。实际上我们从关 联度的数值上也可以看出某种“聚类”的关系,比如说关东 0.833 是遥遥领先, 山东 0.656 自成一类,辽宁 0.528、浙江 0.513 和江苏 0.51 比较接近,而福建 0.474 明显落在后面。但这毕竟不是定量地计算,既缺乏精度又不直观,精确的分析方 法就是进行灰色聚类。下面就介绍该方法: (5)式中的 max(Ds)表示取矩阵 Ds 中的最大值。对矩阵 Rg,显然满足:
#######表 4:计算离差############### for(i in 1:4)
人大经济论坛 数据处理与分析中心
010-68454276 pinggu.research@
{ data[,i]<-max(data[,i])-data[,i]
} ################################
人大经济论坛 数据处理与分析中心
010-68454276 pinggu.research@
以采用层次分析法确定。
参考文献: 【1】 许云飞 灰色聚类分析方法介绍 【2】 邓聚龙 《灰色控制系统》 华中理工大学出版社 1985 【3】 李万绪 “基于灰色关联度的聚类分析方法及其应用”《系统工程》1990, 第三期 【4】 人大经济论坛 【5】 薛毅 统计建模与 R 软件
后我们用公式计算每一列的离差,得离差矩阵表 4。
由表 4 可知,最大值,即公式(1)中的 为 0.988。 ⑤计算关联系数和关联度; 在上述基础上,据公式(1)和(2)就可以算出关联系数和关联度了。计算结果 见表 5:
由表 5 可以看出,相对于基准方案的关联度,由大到小的排序为广东、山东、辽 宁、浙江、江苏、福建,这表明 1995 年辽宁、山东、江苏、浙江、福建和广东 等沿海六省的交通系统工业企业的发展,以广东最好,山东次之,其后是辽宁、 浙江和江苏,最后是福建。
通系统工业企业的情况进行综合评判,原始数据见表 1 所示:(97 中国交通 年鉴 601 页)
Hale Waihona Puke 人大经济论坛 数据处理与分析中心
010-68454276 pinggu.research@
②原始数据预处理: 为去掉负号,对“人均利润”指标一列全部加 34,得新的数据表,见表格 2: 表格 2:示例原始数据经预处理后的值
data_cluster
人大经济论坛 数据处理与分析中心
010-68454276 pinggu.research@
#################################
#######表 6:计算灰色聚类############ data_grey<-matrix(0,nrow=length(data_relation),ncol=length(data_relation)) data_sort<-sort(as.numeric(data_relation),decreasing=T) for(i in 1:6) for(j in 1:6) { data_grey[i,j]<-(abs(data_sort[i]-data_sort[j])/data_sort[j]) }
人大经济论坛 数据处理与分析中心
010-68454276 pinggu.research@
灰色聚类理论及其 R 软件实现
黄放(人大经济论坛· 数据处理部)
1982 年,中国学者邓聚龙教授创立的灰色系统理论,是一种研究少数据、贫 信息不确定性问题的新方法。灰色系统理论以“部分信息已知,部分信息未知” 的“小样本”、“贫信息”不确定型系统为研究对象,主要通过对“部分”已知信 息的生成、开发,提取有价值的信息,实现对系统运行行为、演化规律的正确描 述和有效监控。中小企业联盟伙伴的选择过程中,存在许多不确定性,已知条件 并不完全的情况,因此本文尝试运用灰色聚类模型解决中小企业联盟伙伴的选择 问题。
应用关联度方法处理实际问题时,X0 序列常按某种要求而建立。例如分析 某一系统的经济效益优劣,则 X0 序列可由 Xi 序列中同一性质元素中的最优者 构成(也称为理想解);若要考察 Xi 序列与某一特定序列间的关联度,则可取该 特定序列为 X0 序列(例如多元相关分析)。 为了帮助大家理解上述模型和计算过程,举一简例: ① 原始数据: ② 假如我们要对 1995 年辽宁、山东、江苏、浙江、福建和广东等沿海六省的交
#######表 2:人均变正############### data[,3]<-data[,3]+34 ################################
#######表 3:线性变换############### for(i in 1:4) {
data[,i]<-data[,i]/max(data[,i]) } ################################
对本例表 2 的数据显然均是值越大越好的效益指标。我们采用线性变换的方法进 行预处理,处理结果见表 3 所示
④ 计算离差矩阵; 在表 3 中我们取每一列的最佳值(1)组成理想方案并把他作为基准,即 x0j。然
人大经济论坛 数据处理与分析中心
010-68454276 pinggu.research@
人大经济论坛 数据处理与分析中心
010-68454276 pinggu.research@
相关主题