灰色综合评价法(灰色关联分析)
属于灰箱模型
基本思想
灰色关联分析的实质就是,可利用各 方案 与 最优方案 之间关联度大小对评价象进行比较、排序。关联度越大,说明 比较序列与参考序列变化的态势越一致,反之,变化态势则相悖。由此可得出评价结果。
基本步骤
建立原始指标矩阵;确定最优指标序列;进行指标标准化或无量纲化处理;求差序列、最大差和最小差;计算关联系数;计算关联度。
优点
是一种评价具有大量未知信息的系统的有效模型,是定性分析和定量分析相结合的综合评价模型,该模型可以较好地解决评价指标难以准确量化和统计的问题,可以排除人为因素带来的影响,使评价结果更加客观准确。整个计算 过程简单,通俗易懂,易于为人们所掌握;数据不必进行归一化处理,可用原始数据进行直接计算,可靠性强;评价指标体系可以根据具体情况增减;无需大量样本,只要有代表性的少量样本即可。
缺点
要求样本数据且具有 时间序列特性 ;只是对评判对象的优劣做出鉴别,并 不反映绝对水平 ,故基 于灰色关联分析综合评价具有“ 相对评价 ”的全部缺点。
适用范围
对样本量没有严格要求, 不要求服从任何分布 ,适合 只有少量观测数据的问题 ;应用该种方法进 行评价时, 指标体系及权重分配是一个关键的题 ,选择的恰当与否直接影响最终评价结果。
改进方法
(1)采用组合赋权法:根据客观赋权法和主观赋权法综合而得权系数。
(2)结合TOPSIS法:不仅关注序列与正理想序列的关联度,而且关注序列与负理想序列的关联度,
依据公式计算最后的关联度。
参考案例
%% 灰色系统
clear
syms a b;
c=[a b]';
A=[130, 135, 150, 160, 171, 183, 195, 205, 216, 228];
B=cumsum(A);
n=length(A);
for i=1:(n-1)
C(i)=(B(i)+B(i+1))/2;
end
d=A;
d(1)=[];
d=d';
E=[-C;ones(1,n-1)];
c=inv(E*E')*E*d;
c=c';
a=c(1);
b=c(2);
f=[];
f(1)=A(1);
for i=2:(n+20)
f(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
end
g=[];
g(1)=A(1);
for i=2:(n+20)
g(i)=f(i)-f(i-1);
end
t1=2008:2017;
t2=2008:2037;
g;
plot(t1,A,'o',t2,g)
代码解读
这段代码是使用MATLAB语言编写的,它主要实现了一个灰色预测模型(Grey prediction model),这是一种基于灰色系统理论的方法,用于预测时间序列数据的未来趋势。
下面是这段代码各部分的解读:
clear
:清除所有变量。syms a b;
:定义符号变量a和b。c=[a b]';
:初始化变量c,这个变量在后面的计算中用于存储参数。A=[130, 135, 150, 160, 171, 183, 195, 205, 216, 228];
:这是一个数据序列,用于后面的预测模型。B=cumsum(A);
:计算A的累计和。n=length(A);
:获取数据序列A的长度。- for循环
for i=1:(n-1)
,C(i)=(B(i)+B(i+1))/2;
:计算每个数据点的平均值,这是灰色预测模型的一部分。 d=A; d(1)=[]; d=d';
:对数据序列A做些处理,移除第一个元素,并转置。E=[-C;ones(1,n-1)];
:构建一个矩阵E,其行数为数据点数减一,列数为2。- 通过矩阵求逆和矩阵乘法运算,得到c,这是灰色预测模型的参数。
- 使用参数a和b来创建预测序列f。
- 使用f和f(1)来创建增量序列g。
t1=2008:2017; t2=2008:2037;
:定义两个时间范围。g;
:显示增量序列g。plot(t1,A,'o',t2,g)
:绘制原始数据A和预测的增量序列g的图形。'o'代表在图上标出原始数据点。
此代码段是灰色预测模型的基本实现,它适用于时间序列数据的预测,特别适合于那些数据量小,且具有不完整信息或不确定性的情况。
运行结果
案例说明
矩阵A的值根据自己的测试数据进行输入,本程序只是一个参考案例。