Matlab学习系列28.-灰色关联分析

Matlab学习系列28.-灰色关联分析
Matlab学习系列28.-灰色关联分析

28. 灰色关联分析

一、灰色系统理论简介

若系统的内部信息是完全已知的,称为白色系统;若系统的内部信息是一无所知(一团漆黑),只能从它同外部的联系来观测研究,这种系统便是黑色系统;灰色系统介于二者之间,灰色系统的一部分信息是已知的,一部分是未知的。

灰色系统理论以“部分信息已知、部分信息未知”的“小样本”、“贫信息”不确定型系统为研究对象,其特点是:

(1)认为不确定量是灰数,用灰色数学来处理不确定量,使之量化,灰色系统理论只需要很少量的数据序列;

(2)观测到的数据序列看作随时间变化的灰色量或灰色过程,通过鉴别系统因素之间发展趋势的相似或相异程度,即进行关联度分析;

(3)通过累加生成和累减生成逐步使灰色量白化,从而建立相应于微分方程解的模型,从而预测事物未来的发展趋势和未来状态。

二、灰色关联度分析

1. 要定量地研究两个事物间的关联程度,可以用相关系数和相似系数等,但这需要足够多的样本数或者要求数据服从一定概率分布。

在客观世界中,有许多因素之间的关系是灰色的,分不清哪些因素之间关系密切,哪些不密切,这样就难以找到主要矛盾和主要特性。

灰因素关联分析,目的是定量地表征诸因素之间的关联程度,从而揭示灰色系统的主要特性。关联分析是灰色系统分析和预测的基础。

关联分析源于几何直观,实质上是一种曲线间几何形状的分析比较,即几何形状越接近,则发展变化趋势越接近,关联程度越大。如下图所示:

x

t

曲线A 与B 比较平行,则认为A 与B 的关联程度大;曲线C 与A 随时间变化的方向很不一致,则认为A 与C 的关联程度较小;曲线A 与D 相差最大,则认为两者的关联程度最小。

2. 关联度分析是分析系统中各因素关联程度的方法

步骤:

(1) 计算关联系数

设参考序列为

0000{(1),(2),...,()}X x x x n =

比较序列为

{(1),(2),...,()}, 1,,i i i i X x x x n i m ==L

比较序列X i 对参考序列X 0在k 时刻的关联系数定义为:

0000min min ()() max max ()()()()() max max ()()s s s t s t

i i s s t

x t x t x t x t k x k x k x t x t ρηρ-+-=-+- 其中,0min min ()()s s t

x t x t -和0max max ()()s s t x t x t -分别称为两级最小差、两级最大差,[0,1]ρ∈称为分辨系数,ρ越大分辨率越大,一般采用0.5ρ=

对单位不一,初值不同的序列,在计算关联系数之前应首先进行初值化,即将该序列的所有数据分别除以第一数据,将变量化为无单位的相对数值。

注1:若数据是负向数据(越小越好),初值化时要取倒数,即用第一数据除以该所有数据;

注2:也可以数据均值化,所有数据都除以均值;也可以数据百分比化,所有数据都除以最大值;也可以数据归一化。

(2) 计算关联度

关联系数只表示了各个时刻参考序列和比较序列之间的关联程度,为了从总体上了解序列之间的关联程度,必须求出它们的时间平均值,即关联度:

1

1()n

i i k r k n η==∑ 注:若各指标有不同的权重,可以对i η进行加权平均,得到灰色

加权关联度。

例1对某健将级女子铅球运动员的跟踪调查,获得其1982 年至1986 年每年最好成绩及16项专项素质和身体素质的时间序列资料:

做灰色关联度分析,看哪些指标与铅球成绩关联度更高?从而进行更加有针对性的训练。

代码:

data=xlsread('data28_1.xlsx');

x=data(:,2:18);

%初始化数据

for i=1:15

x(:,i)=x(:,i)/x(1,i);

end

for i=16:17

x(:,i)=x(1,i)./x(:,i);

end

n=size(x,1); %序列元素个数

ck=x(:,1); %提取参考序列

bj=x(:,2:end); %提取比较序列

m=size(bj,2);

for j=1:m %每个比较序列与参考序列作差

t(:,j)=bj(:,j)-ck;

end

min2=min(min(abs(t))); %求两级最小差

max2=max(max(abs(t))); %求两级最大差

rho=0.5; %分辨系数

eta=(min2+rho*max2)./(abs(t)+rho*max2); %求关联系数

r=mean(eta) %求关联度

[rs,rind]=sort(r,'descend') %对关联度从大到小排序

运行结果:

r = 0.5881 0.6627 0.8536 0.7763 0.8549 0.5022 0.6592 0.5820 0.6831 0.6958 0.8955 0.7047 0.9334 0.8467 0.7454 0.7261

rs = 0.9334 0.8955 0.8549 0.8536 0.8467 0.7763 0.7454 0.7261 0.7047 0.6958 0.6831 0.6627 0.6592 0.5881 0.5820 0.5022

rind =

13 11 5 3 14 4 15 16 12 10 9 2 7 1 8 6

结果表明,影响铅球专项成绩的前8项主要因素依次为:全蹲x13,3kg滑步x11,高翻x5,4kg原地x3,挺举x14,立定跳远x4,

30米起跑x15,100米x16.

三、优势分析

当参考序列不止一个,比较序列也不止一个时,需要进行优势分析。

设有m个参考序列(母因素),记为y1, …, y m

有l个比较序列(子因素),记为x1, …, x l

则这l个比较序列对每一个参考序列都有l个关联度,记r ij表示比较序列x j对参考序列y i的关联度,可得到关联度矩阵R=(r ij)m×l 根据矩阵R的各元素的大小,可分析判断出哪些因素起主要影响(优势因素),哪些因素起次要影响;进一步,当某一列元素大于其他列元素时,称此列对应的因素为优势子因素;若某一行元均大于其他行元素时,称此行所对应的母因素为优势母因素。

若矩阵R的某个元素达到最大,则该行对应的母因素被认为是所有母因素中影响最大的。

注:为了便于分析,常将较小的元素近似为0.

例2某地区有5个子因素,6个母因素:

x1:固定资产投资y1:国民收入

x2:工业投资y2:工业收入

x3:农业投资y3:农业收入

x4:科技投资y4:商业收入

x5:交通投资y5:交通收入

y6:建筑业收入

其数据见下表:

代码:

data=xlsread('data28_2.xlsx');

x=data(:,2:end);

[m,n]=size(x); %m为观测时刻数; n为所有因素的个数

%初值化数据

for i=1:n

x(:,i)=x(:,i)/x(1,i);

end

s1=6; %母因素个数

s2=5; %子因素个数y

mu=x(:,s2+1:end); %提取母因素

zi=x(:,1:s2); %提取子因素

for i=1:s1

%对每个母因素, 分别计算子因素关于它的关联度, 作为关联度矩阵的1行for j=1:s2

t(:,j)=zi(:,j)-mu(:,i);

end

min2=min(min(abs(t)));

max2=max(max(abs(t)));

rho=0.5;

eta=(min2+rho*max2)./(abs(t)+rho*max2);

R(i,:)=mean(eta);

end

R

运行结果:

R = 0.8017 0.7611 0.5567 0.8096 0.9349

0.6887 0.6658 0.5287 0.8854 0.8004

0.8910 0.8581 0.5786 0.5773 0.6749

0.6776 0.6634 0.5675 0.7800 0.7307

0.8113 0.7742 0.5648 0.8038 0.9205

0.7432 0.7663 0.5616 0.6065 0.6319

结果说明:从关联度矩阵R可以看出,

(1) 第4行元素都比较小,表明各种投资对商业收入影响不大,即商业是一个不太需要依赖外部投资而能自行发展的行业。从消耗投资上看,这是劣势,但从少投资多收入的效益观点看,商业是优势;

(2) 各行最大值反应了哪个子因素对该行对应的母因素影响最大,例如,r15=0.9349最大,表明交通投资(x5)对国民收入(y1)的影响最大;

(3) 第一行和第五行除了第3个元素外都较大,说明国民收入、交通收入是较综合性的行业,受除农业投资外其他投资的影响都较大。

简单易懂的灰色关联度计算

灰色关联有什么用 灰色关联度,指的是两个系统或两个因素之间关联性大小的量度。目的,是在于寻求系统中各因素之间的主要关系,找出影响目标值的重要因素,从而掌握事物的主要特征,促进和引导系统迅速有效地发展。——这是比较“官方”的解释。我再来一个“野路子”的解释:用两种试验方法,得出两组数据A和B;用理论方法,得到理论解答C。那么,现在来比较试验方法A好还是B好?自然是看其结果,哪一个与C最吻合,哪个就最好呗,灰关联就是用来解决“谁和谁的关联程度更高”这样的问题的。 灰色关联的重要步骤 步骤不多,核心的,首先是数据的归一化处理,这是因为有时一个试验结果矩阵中的每个元素会有不同的量纲;接下来是计算灰色关联矩阵,这个过程涉及到的公式很吓人,我第一眼看的时候竟然没搞明白是什么意思,囧;最后是计算关联度,这也就是得到了最终结果。 下面来看看那个复杂的公式:(Pi为关联度矩阵中的元素) 计算方法 关于关联矩阵中各个元素的计算,我起初被严重误导,认为用Excel是无法完成的,结果还绕了一段弯路,很是丢人~当然,有高手通过Matlab计算的经验,而且还给出了实例,有兴趣的可以参考“仿真百科”里的内容。但我最终还是根据1992年出版的一本老书《灰色理论与方法——提要·题解·程序·应用》中的一个简单实例,用最简单的方法搞定了计算问题。鉴于我不知道如何把Excel 公式按照步骤,类似APDL那样摆出来,那就把那个例子与大家分享,说说计算原理步骤吧。 首先看下面四数列 A=[2,3,4,3.7] B=[60,73,84,58] C=[1204,801,1228,1270]

D=[303,298,247,251] 以A为目标,检验B、C、D与A的关联度。 步骤1.归一化,将数列中的每个元素,除以相同的一个数值,比如A的归一化过程为[2/2, 3/2 ,4/2, 3.7/2]或者更常用的均值化处理,都可以搞定。只需要这几个数列用同一种方法归一即可了。 步骤2.求差序列.经过归一化的A、B、C、D,用A分别减去B/C/D;即 E=A-B; F=A-C; G=A-D 步骤3.求两级最大和最小差值。这是一个容易让人糊涂的地方,但实际操作很简单: 设E中最大值为Emax,最小值为Emin,其余类推;这样一共就有六个数,分别是Emax;Emin;Fmax;Fmin;Gmax和Gmin。从这六个数中,再选出一个最大值和一个最小值,假设为M和N——而这就是上述公式当中双重最值的部分啦。 步骤4.带入公式,得到三组关联系数(单行)矩阵。 步骤5.计算关联度,实际上就是步骤4中,每组矩阵各个元素求和除以元素个数(求均值)。 步骤6.通过比较关联度数值,最大的那个,其对应的数列与目标数列的关联度最高。 Over.

灰色关联模型及其应用研究

重庆三峡学院 大学生创新性实验计划项目申报表 项目名称灰色关联模型及其应用研究 项目负责人 所在院系、专业 指导教师 联系电话 电子邮件 填表日期 教务处制

项目名称灰色关联模型及其应用研究 申请经费0.3万元计划起止时间2014年5月至2015年6月 申报团队学号姓名年级所在院系、专业联系电话E-mail 2012 导师 姓名院系职称/学历E-mail 电话 申请理由(包括项目背景及自身具备的知识条件) 一、项目背景: 灰色系统理论是中国学者邓聚龙教授于1982年提出来的一门新兴理论,该理论是一种运用特定的方法描述信息不完全的系统并进行预测、决策、控制的崭新的系统理论。灰色系统理论认为任何随机过程都是在一定的幅值和一定时区变化的灰色量,并把随机过程看成灰色过程,其是控制论观点和方法的延伸,它从系统的角度出发来研究信息间的关系,即研究如何利用已知信息去揭示未知信息,也即系统的“白化”问题。灰色系统的实质为:部分信息已知部分信息未知的一类系统。灰色关联分析是灰色系统理论的主要内容之一,它是对运行机制与物理原型不清楚或者根本缺乏物理原型的灰关系序列化、模式化,进而建立灰关联分析模型,使灰关系量化、序化、显化,能为复杂系统的建模提供重要的技术分析手段。 灰色关联分析方法是一种多因素分析方法,其基本原理是通过对统计序列几何关系的比较,若序列几何形状越接近,则它们的灰关联度就越大。灰色关联分析的基本任务是基于行为因子序列的微观或宏观几何接近,以分析和确定因子之间的影响程度或对因子对主行为的贡献测度。关联分析的实质是整体比较,是有参考系的、有测度的比较。 目前,常见的灰色关联计算模型主要有以下几种:邓聚龙提出的邓氏关联度;王清印的灰色B型关联度和C型关联度;唐五湘的T型关联度;刘思峰的广义关联度;赵艳林的灰色欧几里德关联度等。

Matlab学习系列.灰色关联分析

28. 灰色关联分析 一、灰色系统理论简介 若系统的内部信息是完全已知的,称为白色系统;若系统的内部信息是一无所知(一团漆黑),只能从它同外部的联系来观测研究,这种系统便是黑色系统;灰色系统介于二者之间,灰色系统的一部分信息是已知的,一部分是未知的。 灰色系统理论以“部分信息已知、部分信息未知”的“小样本”、“贫信息”不确定型系统为研究对象,其特点是: (1)认为不确定量是灰数,用灰色数学来处理不确定量,使之量化,灰色系统理论只需要很少量的数据序列; (2)观测到的数据序列看作随时间变化的灰色量或灰色过程,通过鉴别系统因素之间发展趋势的相似或相异程度,即进行关联度分析; (3)通过累加生成和累减生成逐步使灰色量白化,从而建立相应于微分方程解的模型,从而预测事物未来的发展趋势和未来状态。 二、灰色关联度分析 1. 要定量地研究两个事物间的关联程度,可以用相关系数和相似系数等,但这需要足够多的样本数或者要求数据服从一定概率分布。 在客观世界中,有许多因素之间的关系是灰色的,分不清哪些因素之间关系密切,哪些不密切,这样就难以找到主要矛盾和主要特性。

灰因素关联分析,目的是定量地表征诸因素之间的关联程度,从而揭示灰色系统的主要特性。关联分析是灰色系统分析和预测的基础。 关联分析源于几何直观,实质上是一种曲线间几何形状的分析比较,即几何形状越接近,则发展变化趋势越接近,关联程度越大。如下图所示: x t 曲线A 与B 比较平行,则认为A 与B 的关联程度大;曲线C 与A 随时间变化的方向很不一致,则认为A 与C 的关联程度较小;曲线A 与D 相差最大,则认为两者的关联程度最小。 2. 关联度分析是分析系统中各因素关联程度的方法 步骤: (1) 计算关联系数 设参考序列为 0000{(1),(2),...,()}X x x x n = 比较序列为 {(1),(2),...,()}, 1,,i i i i X x x x n i m == 比较序列X i 对参考序列X 0在k 时刻的关联系数定义为:

灰色关联度分析MATLAB程序

x(1,:)=[83 0.191 12.9 7.2 89.4 0.432 6.33]; x(2,:)=[75 0.189 11.6 9.1 82.3 0.453 5.87]; x(3,:)=[64 0.165 11.9 10.3 69.3 0.512 6.31]; %列出各数值,可修改 x(4,:)=[63 0.165 12.8 9.7 68.2 0.455 6.6]; x(5,:)=[56 0.211 13.2 12.6 77.5 0.317 7.12]; m=5;n=7; x0=[83 0.211 13.2 7.2 89.4 0.317 5.87]; %参考序列 for i=1:n avg(i)=0; %均值初始化 end for i=1:m for j=1:n avg(j)=avg(j)+x(i,j); end end %求均值序列 for i=1:n avg(i)=avg(i)/m; end for j=1:m for i=1:n x(j,i)=x(j,i)/avg(i); %均值化 end end for i=1:n x0(i)=x0(i)/avg(i); %参考序列均值化end for j=1:m for i=1:n delta(j,i)=abs(x(j,i)-x0(i)); %求序列差 end end max=delta(1,1); for j=1:m for i=1:n if delta(j,i)>max max=delta(j,i);

end end end %求两极差 min=0; for j=1:m xgd(j)=0; for i=1:n glxs(j,i)=0.5*max/(0.5*max+delta(j,i)); %计算关联系数及相关度 xgd(j)=xgd(j)+glxs(j,i); end xgd(j)=xgd(j)/n; end xgd %因此,A—E区与参考序列(最佳指标)的相关度分别为0.8489 0.6983 0.5588 0.5858 0.7105

五种灰色关联度分析matlab代码

灰色邓氏关联度分析 % P12 -- The Study on the Grey Relational Degree and Its Application function r1 = gld_deng(x) s = size(x); len = s(2); num = s(1); ro = 0.5; for i = 1: num x(i,:) = x(i,:)./x(i,1); end dx(num,len) = 0; for i = 2 : num for k = 1 : len dx(i,k) = abs(x(1,k) - x(i,k)); end end max_dx = max(max(dx)); min_dx = min(min(dx)); r(1,1:len-1) = 1; for i = 2 : num for k = 1 : len r(i,k) = (min_dx + ro*max_dx)/(dx(i,k) + ro*max_dx); end end r1 = sum(r(2:num,:),2)/(len); 改进灰色绝对关联度分析 % P11 -- The Study on the Grey Relational Degree and Its Application function r1 = gld_gjjd(x) s = size(x); len = s(2); num = s(1); for i = 1: num x(i,:) = x(i,:)./x(i,1); end dx(num,len-1) = 0; for i = 1 : num for j = 1 : len - 1 dx(i,j) = x(i,j+1) - x(i,j); end end c = 1; beta(1,1:len-1) = 0; w(1,1:len-1) = 0; for i = 2 : num temp = sum(abs(x(i,:) - x(1,:)),2); for k = 1 : len - 1 beta(i,k) = atan((dx(i,k) - dx(1,k))/(1 + dx(i,k)*dx(1,k))); if beta(i,k) < 0 beta(i,k) = pi + beta(i,k);

灰色关联度matlab源程序(完整版)

灰色关联度matlab源程序(完整版) 最 近几天一直在写算法,其实网上可以下到这些算法的源程序的,但是为了搞懂, 搞清楚,还是自己一个一个的看了,写了,作为自身的积累,而且自己的的矩 阵计算类库也迅速得到补充,以后关于算法方面,基本的矩阵运算不用再重复写了,挺好的,是种积累,下面把灰关联的matlab程序与大家分享。 灰色关联度分析法是将研究对象及影响因素的因子值视为一条线上的点,与待识别对象及影响因素的因子值所绘制的曲线进行比较,比较它们之间的贴近度,并分别量化,计算出研究对 象与待识别对象各影响因素之间的贴近程度的关联度,通过比较各关联度的大小来判断待识别对象对研究对象的影响程度。 简言之,灰色关联度分析的意义是指在系统发展过程中,如果两个因素变化的态势是一致的,即同步变化程度较高,则可以认为两者关联较大;反之,则两者关联度较小。因此,灰色关联度分析对于一个系统发展变化态势提供了量化的度量,非常适合动态(Dynamic)的历程分析。灰色关联度可分成“局部性灰色关联度”与“整体性灰色关联度”两类。主要的差别在于局部性灰色关联度有一参考序列,而整体性灰色关联度是任一序列均可为参考序列。关联度分析是基于灰色系统的灰色过程, 进行因素间时间序列的比较来确定哪些是影响大的主导因素, 是一种动态过程的研究。 关联度计算的预处理,一般初值化或者均值化,根据我的实际需要,本程序中使用的是比较序列与参考序列组成的矩阵除以参考序列的列均值等到的,当然也可以是其他方法。 %注意:由于需要,均值化方法采用各组值除以样本的各列平均值 clear;clc; yangben=[ 47.924375 25.168125 827.4105438 330.08875 1045.164375 261.374375 16.3372 6.62 940.2824 709.2752 962.1284 84.874 55.69666667 30.80333333 885.21 275.8066667 1052.42 435.81 ]; %样本数据 fangzhen=[ 36.27 14.59 836.15 420.41 1011.83 189.54 64.73 35.63 755.45 331.32 978.5 257.87 42.44 23.07 846 348.05 1025.4 296.69 59.34 39.7 794.31 334.63 1016.4 317.27

灰色系统预测GM(1-1)模型及其Matlab实现

灰色系统预测GM(1,1)模型及其Matlab 实现 预备知识 (1)灰色系统 白色系统是指系统内部特征是完全已知的;黑色系统是指系统内部信息完全未知的;而灰色系统是介于白色系统和黑色系统之间的一种系统,灰色系统其内部一部分信息已知,另一部分信息未知或不确定。 (2)灰色预测 灰色预测,是指对系统行为特征值的发展变化进行的预测,对既含有已知信息又含有不确定信息的系统进行的预测,也就是对在一定范围内变化的、与时间序列有关的灰过程进行 预测。尽管灰过程中所显示的现象是随机的、杂乱无章的,但毕竟是有序的、有界的,因此得到的数据集合具备潜在的规律。灰色预测是利用这种规律建立灰色模型对灰色系统进行预测。 目前使用最广泛的灰色预测模型就是关于数列预测的一个变量、一阶微分的GM(1,1)模型。它是基于随机的原始时间序列,经按时间累加后所形成的新的时间序列呈现的规律可用一阶线性微分方程的解来逼近。经证明,经一阶线性微分方程的解逼近所揭示的原始时间序列呈指数变化规律。因此,当原始时间序列隐含着指数变化规律时,灰色模型GM(1,1)的预测是非常成功的。 1 灰色系统的模型GM(1,1) 1.1 GM(1,1)的一般形式 设有变量X (0)={X (0)(i),i=1,2,...,n}为某一预测对象的非负单调原始数据列,为建立灰色预测模型:首先对X (0)进行一次累加(1—AGO, Acumulated Generating Operator)生成一次累加序列: X (1)={X (1)(k ),k =1,2,…,n} 其中 X (1)(k )= ∑ =k i 1 X (0)(i) =X (1)(k -1)+ X (0)(k ) (1) 对X (1)可建立下述白化形式的微分方程: dt dX )1(十) 1(aX =u (2) 即GM(1,1)模型。 上述白化微分方程的解为(离散响应): ∧ X (1)(k +1)=(X (0)(1)- a u )ak e -+a u (3) 或 ∧ X (1)(k )=(X (0)(1)- a u ))1(--k a e +a u (4)

灰色理论灰色预测模型和灰色关联度分析matlab通用代码

%该程序用于灰色关联分析,其中原始数据的第一行为参考序列,1至15行为正相关序列,16至17为负相关序列 clc,clear load x.txt %把原始数据存放在纯文本文件x.txt 中 %如果全为正相关序列,则将两个循环替换为下列代码 %for i=1:size(x,1) %x(i,=x(i,/x(i,1); %end for i=1:15 x(i,=x(i,:)/x(i,1); %标准化数据 end for i=16:17 x(i,:)=x(i,1)./x(i,:); %标准化数据 end data=x; n=size(data,1); ck=data(1,:);%分离参考序列 bj=data(2:n,:);m1=size(bj,1); for j=1:m1 t(j,:)=bj(j,:)-ck; end jc1=min(min(abs(t')));jc2=max(max(abs(t'))); rho=0.5;%灰色关联度为0.5 ksi=(jc1+rho*jc2)./(abs(t)+rho*jc2); r=sum(ksi')/size(ksi,2); r %灰色关联度向量 [rs,rind]=sort(r,'descend') %对关联度进行降序排序 %该函数用于灰色预测模型,其中x0为列向量,alpha一般取0.5,将第一个数据视为序号为0,k从0开始的序号矩阵 function y=huiseyuce(x0,alpha,k) n=length(x0); x1=cumsum(x0); for i=2:n z1(i)=alpha*x1(i)+(1-alpha)*x1(i-1); end z1=z1'; B=[-z1(2:n),ones(n-1,1)]; Y=x0(2:n); ab=B\Y; y1=(x0(1)-ab(2)/ab(1))*exp(-ab(1)*k)+ab(2)/ab(1);%产生预测累加生成序列 y=[x0(1) diff(y1)]%产生灰色预测数据 1 / 1

灰色预测+灰色关联分析

灰色关联分析法 根据因素之间发展趋势的相似或相异程度,亦即“灰色关联度”,来衡量因素间关联程度。灰色关联分析法的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密。 根据评价目的确定评价指标体系, 为了评价×××我们选取下列评价指标: 收集评价数据(此步骤一般为题目中原数据,便省略) 将m 个指标的n 组数据序列排成m*n 阶矩阵: '' ' 12''' '''1212''' 1 2(1)(1)(1)(2)(2)(2)(,,,)()()()n n n n x x x x x x X X X x m x m x m ?? ? ?= ? ? ??? 对指标数据进行无量纲化 为了消除量纲的影响,增强不同量纲的因素之间的可比性,在进行关联度计算之前,我们首先对各要素的原始数据作...变换。无量纲化后的数据序列形成如下矩阵: 01010101(1)(2) (1)(2)(2)(2)(,,,)()()()n n n n x x x x x x X X X x n x n x n ?? ? ?= ? ??? 确定参考数据列 为了比较...【评价目的】,我们选取...作为参考数据列,记作 ''''0000((1),(2),,())T X x x x n = 计算0()() i x k x k -,得到绝对差值矩阵 求两级最小差和两级最大差 011min min ()()min(*,*,*,*,*,*)*n m i i k x k x k ==-== 01 1 max max ()()max(*,*,*,*,*,*)*n m i i k x k x k ==-== 求关联系数 由关联系数计算公式0000min min ()()max max ()() ()()()max max ()() i i i k i k i i i i k x k x k x k x k k x k x k x k x k ρζρ-+?-= -+?-,取 0.5ρ=,分别计算每个比较序列与参考序列对应元素的关联系数,得关联系数如 下:

matlab灰色关联度

灰色关联度matlab源程序 最近几天一直在写算法,其实网上可以下到这些算法的源程序的,但是为了搞懂,搞清楚,还是自己一个一个的看了,写了,作为自身的积累,而且自己的的矩阵计算类库也迅速得到补充,以后关于算法方面,基本的矩阵运算不用再重复写了,挺好的,是种积累,下面把灰关联的matlab程序与大家分享。 灰色关联度分析法是将研究对象及影响因素的因子值视为一条线上的点,与待识别对象及影响因素的因子值所绘制的曲线进行比较,比较它们之间的贴近度,并分别量化,计算出研究对象与待识别对象各影响因素之间的贴近程度的关联度,通过比较各关联度的大小来判断待识别对象对研究对象的影响程度。 关联度计算的预处理,一般初值化或者均值化,根据我的实际需要,本程序中使用的是比较序列与参考序列组成的矩阵除以参考序列的列均值等到的,当然也可以是其他方法。 %注意:由于需要,均值化方法采用各组值除以样本的各列平均值 clear;clc; yangben=[ 47.924375 25.168125 827.4105438 330.08875 1045.164375 261.374375 16.3372 6.62 940.2824 709.2752 962.1284 84.874 55.69666667 30.80333333 885.21 275.8066667 1052.42 435.81 ]; %样本数据 fangzhen=[ 36.27 14.59 836.15 420.41 1011.83 189.54 64.73 35.63 755.45 331.32 978.5 257.87 42.44 23.07 846 348.05 1025.4 296.69 59.34 39.7 794.31 334.63 1016.4 317.27 52.91 17.14 821.79 306.92 1141.94 122.04 4.21 4.86 181 5.52 2584.68 963.61 0.00 6.01 2.43 1791.61 2338.17 1278.08 30.87 3.01 1.58 1220.54 956.14 124 4.75 3.91 25.65 7.42 790.17 328.88 1026.01 92.82 115.80 27 926.5 350.93 1079.49 544.38 12.63 8.75 1055.50 1379.00 875.10 1.65 ]; %待判数据 [rows,cols]=size(fangzhen); p=0.5; %分辨系数 [m,n]=size(yangben);

灰色关联度matlab源程序(完整版)

灰色关联度matlab源程序(完整版) 近几天一直在写算法,其实网上可以下到这些算法的源程序的,但是为了搞懂, 「 ------------------------------------------------------------------------ 搞清楚,还是自己一个一个的看了,写了,作为自身的积累,而且自己的的矩 I 阵计算类库也迅速得到补充,以后关于算法方面,基本的矩阵运算不用再重复 写了,挺好的,是种积累,下面把灰关联的matlab程序与大家分享。 灰色关联度分析法是将研究对象及影响因素的因子值视为一条线上的点,与待识别对象及影响因素的因子值所绘制的曲线进行比较,比较它们之间的贴近度,并分别量化,计算出研究对 象与待识别对象各影响因素之间的贴近程度的关联度,通过比较各关联度的大小来判断待识 别对象对研究对象的影响程度。 简言之,灰色关联度分析的意义是指在系统发展过程中,如果两个因素变化的态势是一致的, 即同步变化程度较高,则可以认为两者关联较大;反之,则两者关联度较小。因此,灰色关联度分析对于一个系统发展变化态势提供了量化的度量,非常适合动态(Dynamic)的历程分析。灰色关联度可分成局部性灰色关联度”与整体性灰色关联度”两类。主要的差别在于局 部性灰色关联度有一参考序列,而整体性灰色关联度是任一序列均可为参考序列。关联度分析是基于灰色系统的灰色过程,进行因素间时间序列的比较来确定哪些是影响大的主导因 素,是一种动态过程的研究。 关联度计算的预处理,一般初值化或者均值化,根据我的实际需要,本程序中使用的是比较 序列与参考序列组成的矩阵除以参考序列的列均值等到的,当然也可以是其他方法。 %注意:由于需要,均值化方法采用各组值除以样本的各列平均值 clear;clc; yangben=[ 47.924375 25.168125 827.4105438 330.08875 1045.164375 261.374375 16.3372 6.62 940.2824 709.2752 962.1284 84.874 55.69666667 30.80333333 885.21 275.8066667 1052.42 435.81 ];%样本数据 fan gzhe n=[ 36.27 14.59 836.15 420.41 1011.83 189.54 64.73 35.63 755.45 331.32 978.5 257.87 42.44 23.07 846 348.05 1025.4 296.69 59.34 39.7 794.31 334.63 1016.4 317.27

灰色关联分析实现及与其他方法相比的特点

一、灰色关联度的简介和应用 灰色关联的用处 灰色关联度,指的是两个系统或两个因素之间关联性大小的量度。目的,是在于寻求系统中各因素之间的主要关系,找出影响目标值的重要因素,从而掌握事物的主要特征,促进和引导系统迅速有效地发展。——这是比较“官方”的解释。我再来一个“野路子”的解释:用两种试验方法,得出两组数据A和B;用理论方法,得到理论解答C。那么,现在来比较试验方法A好还是B好?自然是看其结果,哪一个与C最吻合,哪个就最好呗,灰关联就是用来解决“谁和谁的关联程度更高”这样的问题的。 灰色关联的重要步骤 步骤不多,核心的,首先是数据的归一化处理,这是因为有时一个试验结果矩阵中的每个元素会有不同的量纲;接下来是计算灰色关联矩阵,计算关联度,这也就是得到了最终结果。下面来看看那个复杂的公式:(Pi为关联度矩阵中的元素) 计算方法 关于关联矩阵中各个元素的计算,我起初被严重误导,认为用Excel是无法完成的,结果还绕了一段弯路,很是丢人~当然,有高手通过MATLAB计算的经验,而且还给出了实例,有兴趣的可以参考“仿真百科”里的内容。但我最终还是根据1992年出版的一本老书《灰色理论与方法——提要·题解·程序·应用》中的一个简单实例,用最简单的方法搞定了计算问题。鉴于我不知道如何把Excel公式按照步骤,类似APDL那样摆出来,那就把那个例子与大家分享,说说计算原理步骤吧。 首先看下面四数列 A=[2,3,4,3.7] B=[60,73,84,58] C=[1204,801,1228,1270] D=[303,298,247,251] 以A为目标,检验B、C、D与A的关联度。 步骤1.归一化,将数列中的每个元素,除以相同的一个数值,比如A的归一化过程为[2/2, 3/2 ,4/2, 3.7/2]或者更常用的均值化处理,都可以搞定。只需要这几个数列用同一种方法归一即可了。 步骤2.求差序列.经过归一化的A、B、C、D,用A分别减去B/C/D;即 E=A-B; F=A-C; G=A-D 步骤3.求两级最大和最小差值。这是一个容易让人糊涂的地方,但实际操作很简单: 设E中最大值为Emax,最小值为Emin,其余类推;这样一共就有六个数,分别是Emax;Emin;Fmax;Fmin;Gmax和Gmin。从这六个数中,再选出一个最大值和一个最小值,假设为M和N——而这就是上述公式当中双重最值的部分啦。 步骤4.带入公式,得到三组关联系数(单行)矩阵。 步骤5.计算关联度,实际上就是步骤4中,每组矩阵各个元素求和除以元素个数(求均值)。

动态加权综合评价、灰色关联度分析、BP神经网络模型

大气污染预报问题 摘要 本文针对大气污染问题,采用动态加权综合评价方法建立了合理的空气质量评价模型,同时,采用灰色关联度分析方法和BP神经网络模型较好地研究了空气质量和气象参数之间的关系。 问题一中,考虑到污染物浓度这一评价指标的“质的差异”和“量的差异”,采用动态加权综合评价方法建立评价模型。首先对评价指标数据进行归一化处理,然后选取偏大型正态分布函数作为动态加权函数建立评价模型,从而对评价指标每天的观测值进行排序,最后用决策分析中的Borda数方法对四个城市的空气质量综合排序。得到的最终排序结果为:空气质量最差的是B城市,其次是C城市,排在第三位是D城市,而A 城市的空气质量最好。 问题二中,对于空气质量与气象参数关系的问题,采用灰色关联度分析方法和BP 神经网络模型进行探讨。首先,通过灰色关联度分析确定了大气污染物浓度与气象参数强弱主次关系,然后针对其复杂非线性关系建立BP神经网络预测模型,预测2009年7月26日至30日的污染物浓度。最后用实际值对预测值进行了误差分析,结果表明预测值与实际值的误差较小,即BP神经网络模型的预测值具有较高的精度。 本文最大的特色是采用了动态加权综合评价方法建立评价模型,增大了评价结果的客观性,比定常加权模型更科学合理。其次,鉴于空气质量与气象参数复杂的非线性关系,建立了BP神经网络模型,较好地讨论了大气污染物浓度与气象参数的关系,经过检验分析知此模型是解决非线性问题的有力工具。 关键词:动态加权综合评价、灰色关联度分析、BP神经网络模型、MATLAB

一、问题提出 大气是指包围在地球外围的空气层,是地球自然环境的重要组成部分之一。人类生活在大气里,洁净大气是人类赖于生存的必要条件。一个人在五个星期内不吃饭或5天内不喝水,尚能维持生命,但超过5分钟不呼吸空气,便会死亡。随着地球上人口的急剧增加,人类经济增长的急速增大,地球上的大气污染日趋严重,其影响也日趋深刻,如由于一些有害气体的大量排放,不仅造成局部地区大气的污染,而且影响到全球性的气候变化。因此,加强大气质量的监测和预报是非常必要。目前对大气质量的监测主要是监测大气中2SO 、2NO 、悬浮颗粒物(主要为10PM )等的浓度。 附件一给出了城市A 、B 、C 、D 从2009年6月1日至2009年7月25日测量的污染物含量及城市A 的气象参数的数据;附件二给出了城市A 从2009年7月26日至2009年7月30日测量的污染物含量及气象参数的数据。请解决下面两个问题: (1)建立由污染物浓度评价空气质量的数学模型,然后利用附件一中的数据对四个城市的空气质量进行排序。 (2)分析城市A 的空气质量(指2SO 、2NO 、PM10的浓度)与气象参数之间的关系,并利用附件二中的数据进行检验。 二、基本假设 1、假设评价空气质量的各指标间相互作用关系忽略不计; 2、假设空气质量仅与附件中的四个气象参数有关; 3、假设题中数据为每天的统计平均值,能客观反映当天空气污染物浓度的实际情况; 4、假设在预测模型中,在未来一年没有发生重大自然突变; 三、符号说明 ,55;j =

关于灰色关联度分析法

关于灰色关联度分析法 为了适应瞬息万变的市场需求, 企业不断调整自己的核心能力, 在产品的开发设计中更重视供应商的作用。作为供应链合作关系运行的基础, 供应商的评价选择是一个至关重要的问题, 供应商的业绩对企业的影响越来越大,影响着企业的生存与发展。因此, 进行科学全面的供应商评价就显得十分必要。 (1)确定比较对象 产品质量、技术水平、供应能力、经济效益、市场影响度指标属于效益型指标;产品价格、地理位置、售后服务指标属于成本型指标。i 指五个待选供应商编号, ,5,,1 =i j 指八个指标8,,1j =,ij a 是第i 个供应商第j 个指标变量 为了使每个属性变换后的最优值为1 且最差值为0,对数据进行标准0-1变换 利润型指标标准化公式 )/()(min max min j j j ij ij a a a a b --= 成本型指标标准化公式 )/()(min max max j j ij j ij a a a a b --= 数据结果见下表。 (2)计算灰色关联系数 ) ()(max max )()() ()(max max )()(min min )(0000t x t x k x k x t x t x t x t x k s t s i s t s s t s -+--+-=ρρξ 为比较数列对参考数列在第个指标上的关联系数,其中为]1,0[∈ρ分辨系数。称式中)()(min min 0t x t x s t s -、)()(max max 0t x t x s t s -分别为两级最小差及两级最大 差。 一般来讲,分辨系数ρ越大,分辨率越大;ρ越小,分辨率越小。 在这里ρ取

相关文档
最新文档