综合评价与决策方法01——理想解法
顶!!!
肝!!!
前言
评价方法大体上可分为两类,其主要区别在确定权重的方法上。一类是主观赋权法,多数采取综合咨询评分确定权重,如综合指数法、模糊综合评判法、层次分析法、功效系数法等。另一类是客观赋权,根据各指标间相关关系或各指标值变异程度来确定权数,如主成分分析法、因子分析法、理想解法(也称TOPSIS法)等。 目前国内外综合评价方法有数十种之多,其中主要使用的评价方法有主成分分析法、因子分析、TOPSIS、秩和比法、灰色关联法、熵权法、层次分析法、模糊评价法、物元分析法、聚类分析法、价值工程法、神经网络法等。一、理想解法
目前已有许多解决多属性决策的排序法,如理想点法、简单线性加权法、加权平方和法、主成分分析法、功效系数法、可能满意度法、交叉增援矩阵法等。本节介绍多属性决策问题的理想解法,理想解法亦称为TOPSIS法,是一种有效的多指标评价方法。这种方法通过构造评价问题的正理想解和负理想解,即各指标的最优解和最劣解,通过计算每个方案到理想方案的相对贴近度,即靠近正理想解和远离负理想解的程度,来对方案进行排序,从而选出最优方案。
1. 方法和原理
设多属性决策方案集为 D = d 1 , d 2 , ⋯ , d m D={d_1,d_2,\cdots,d_m} D=d1,d2,⋯,dm,衡量方案优劣的属性变量为 x 1 , ⋯ , x n x_1,\cdots,x_n x1,⋯,xn,这时方案集D中的每个方案 d i ( i = 1 , ⋯ , m ) d_i(i=1,\cdots,m) di(i=1,⋯,m)的 n n n个属性值构成的向量是 [ a i 1 , ⋯ , a i n ] [a_{i1},\cdots,a_{in}] [ai1,⋯,ain],它作为 n n n维空间中的一个点,能唯一地表征方案 d i d_i di。
正理想解 C ∗ C^* C∗是一个方案集 D D D中并不存在的虚拟的最佳方案,它的每个属性值都是决策矩阵中该属性的最好值;而负理想解 C 0 C^0 C0则是虚拟的最差方案,它的每个属性值都是决策矩阵中该属性的最差值。在 n n n维空间中,将方案集 D D D中的各备选方案 d i d_i di与正理想解 C ∗ C^* C∗和负理想解 C 0 C^0 C0的距离进行比较,既靠近正理想解又远离负理想解的方案就是方案集 D D D中的最佳方案;并可以据此排定方案集 D D D中各备选方案的优先序。
用理想解法求解多属性决策问题的概念简单,只要在属性空间定义适当的距离测度就能计算备选方案与理想解的距离。TOPSIS法所用的是欧氏距离。至于既用正理想解又用负理想解是因为在仅仅使用正理想解时有时会出现某两个备选方案与正理想解的距离相同的情况,为了区分这两个方案的优劣,引入负理想解并计算这两个方案与负理想解的距离,与正理想解的距离相同的方案离负理想解远者为优。
2. TOPSIS法的算法步骤
TOPSIS法的具体算法如下:
(1)用向量规划化的方法求得规范决策矩阵。
设多属性决策问题的决策矩阵
A
=
(
a
i
j
)
m
×
n
\mathbf{A}=(a_{ij})_{m\times n}
A=(aij)m×n,规范化决策矩阵
B
=
(
b
i
j
)
m
×
n
\mathbf{B}=(b_{ij})_{m\times n}
B=(bij)m×n,其中
b
i
j
=
a
i
j
∑
i
=
1
m
a
i
j
2
,
i
=
1
,
2
,
⋯
m
;
j
=
1
,
2
,
⋯
,
n
.
(
14.1
)
b_{ij}=\frac{a_{ij}}{\sqrt{\sum_{i=1}^{m}a_{ij}^2}}, i=1,2,\cdots m; j=1,2,\cdots,n. (14.1)
bij=∑i=1maij2aij,i=1,2,⋯m;j=1,2,⋯,n.(14.1)
(2)构造加权规范阵 C = ( c i j ) m × n \mathbf{C}=(c_{ij})_{m\times n} C=(cij)m×n。
设由决策人给定各属性的权重向量为
w
=
[
w
1
,
w
2
,
⋯
,
w
n
]
T
\mathbf{w}=[w_1,w_2,\cdots,w_n]T
w=[w1,w2,⋯,wn]T,则
c
i
j
=
w
j
⋅
b
i
j
,
i
=
1
,
2
,
⋯
,
m
;
j
=
1
,
2
,
⋯
,
n
.
(
14.2
)
c_{ij}=w_j\cdot b_{ij}, i=1,2,\cdots,m; j=1,2,\cdots,n. (14.2)
cij=wj⋅bij,i=1,2,⋯,m;j=1,2,⋯,n.(14.2)
(3)确定正理想解 和负理想解 。
设正理想解
C
∗
C^*
C∗的第
j
j
j个属性值为
c
j
∗
c_j^*
cj∗,负理想解
C
0
C^0
C0第j个属性值为
c
j
0
c_j^0
cj0,则
正理想解:
c
j
∗
=
{
max
i
c
i
j
,
j
为
效
益
型
属
性
,
min
i
c
i
j
,
j
为
成
本
型
属
性
,
j
=
1
,
2
,
⋯
,
n
,
(
14.3
)
c_j^*=\begin{cases} \max_i{c_{ij}}, j为效益型属性,\\ \min_i{c_{ij}}, j为成本型属性,\\ \end{cases} j=1,2,⋯,n, (14.3)
cj∗={maxicij, j为效益型属性,minicij, j为成本型属性, j=1,2,⋯,n,(14.3)
负理想解:
c
j
0
=
{
min
i
c
i
j
,
j
为
效
益
型
属
性
,
max
i
c
i
j
,
j
为
成
本
型
属
性
,
j
=
1
,
2
,
⋯
,
n
,
(
14.4
)
c_j^0=\begin{cases} \min_i{c_{ij}}, j为效益型属性,\\ \max_i{c_{ij}}, j为成本型属性,\\ \end{cases} j=1,2,⋯,n, (14.4)
cj0={minicij, j为效益型属性,maxicij, j为成本型属性, j=1,2,⋯,n,(14.4)
(4)计算各方案到正理想解与负理想解的距离。
备选方案
d
i
d_i
di到正理想解的距离为
s
i
∗
=
∑
j
=
1
n
(
c
i
j
−
c
j
∗
)
2
,
i
=
1
,
2
,
⋯
,
m
.
(
14.5
)
s_i^*=\sqrt{\sum_{j=1}^{n}{(c_{ij}-c_j^*)^2}}, i=1,2,\cdots,m. (14.5)
si∗=j=1∑n(cij−cj∗)2,i=1,2,⋯,m.(14.5)
备选方案
d
i
d_i
di到负理想解的距离为
s
i
0
=
∑
j
=
1
n
(
c
i
j
−
c
j
0
)
2
,
i
=
1
,
2
,
⋯
,
m
.
(
14.6
)
s_i^0=\sqrt{\sum_{j=1}^{n}{(c_{ij}-c_j^0)^2}}, i=1,2,\cdots,m. (14.6)
si0=j=1∑n(cij−cj0)2,i=1,2,⋯,m.(14.6)
(5)计算各方案的排序指标值(即综合评价指数)
f
i
∗
=
s
i
0
/
(
s
i
0
+
s
i
∗
)
,
i
=
1
,
2
,
⋯
,
m
.
(
14.7
)
f_i^*=s_i^0/(s_i^0+s_i^*), i=1,2,\cdots,m. (14.7)
fi∗=si0/(si0+si∗),i=1,2,⋯,m.(14.7)
(6)按 f i ∗ f_i^* fi∗由大到小排列方案的优劣次序。
3. 示例
【例1】 研究生院试评估。
为了客观地评价我国研究生教育的实际状况和各研究生院的教学质量,国务院学位委员会办公室组织过一次研究生院的评估。为了取得经验,先选5所研究生院,收集有关数据资料进行了试评估,表14.1是所给出的部分数据。
【解】
第一步,数据预处理
数据的预处理又称属性值的规范化。
属性具有多种类型,包括效益型、成本型和区间型等。这三种属性,效益型属性越大越好,成本型属性越小越好,区间型属性是在某个区间最佳。
在进行决策时,一般要进行属性值的规范化,主要有如下三个作用:
(1)属性值有多种类型,上述三种属性放在同一个表中不便于直接从数值大小判断方案的优劣,因此需要对数据进行预处理,必须在综合评价之前将属性的类型做一致化处理,使得表中任一属性下性能越优的方案变换后的属性值越大。
(2)无量纲化,多属性决策与评估的困难之一是属性间的不可公度性,即在属性值表中的每一列数值具有不同的单位(量纲)。即使对同一属性,采用不同的计量单位,表中的数值也就不同。在用各种多属性决策方法进行分析评价时,需要排除量纲的选用对决策或评估结果的影响,这就是无量纲化。
(3)归一化,属性值表中不同指标的属性值的数值大小差别很大,为了直观,更为了便于采用各种多属性决策与评估方法进行评价,需要把属性值表中的数值归一化,即把表中数值均变换到[0,1]区间上。
此外,还可在属性规范时用非线形变换或其它办法,来解决或部分解决某些目标的达到程度与属性值之间的非线性关系,以及目标间的不完全补偿性。常用的属性规范化方法有以下几种。
(1)线性变换
原始的决策矩阵为
A
=
(
a
i
j
)
m
×
n
\mathbf{A}=(a_{ij})_{m\times n}
A=(aij)m×n,变换后的决策矩阵记为
B
=
(
b
i
j
)
m
×
n
\mathbf{B}=(b_{ij})_{m\times n}
B=(bij)m×n,
i
=
1
,
⋯
,
m
,
j
=
1
,
⋯
,
n
i=1,\cdots,m,j=1,\cdots,n
i=1,⋯,m,j=1,⋯,n。设
a
j
m
a
x
a_j^{{max}}
ajmax是决策矩阵第
j
j
j列中的最大值,
a
j
m
i
n
a_j^{{min}}
ajmin是决策矩阵第
j
j
j列中的最小值。若
x
j
x_j
xj为效益型属性,则
b
i
j
=
a
i
j
/
a
j
m
a
x
.
(
14.8
)
b_{ij}=a_{ij}/a_j^{{max}}. (14.8)
bij=aij/ajmax.(14.8)
采用上式进行属性规范化时,经过变换的最差属性值不一定为0,最佳属性值为1。若
x
j
x_j
xj为成本型属性,则
b
i
j
=
1
−
a
i
j
/
a
j
m
a
x
.
(
14.9
)
b_{ij}=1-a_{ij}/a_j^{{max}}. (14.9)
bij=1−aij/ajmax.(14.9)
采用上式进行属性规范时,经过变换的最佳属性值不一定为1,最差属性值为0。
(2)标准0-1变换
为了使每个属性变换后的最优值为1且最差值为0,可以进行标准0-1变换。对效益型属性
x
j
x_j
xj,令
b
i
j
=
a
i
j
−
a
j
m
i
n
a
j
m
a
x
j
m
i
n
,
(
14.10
)
b_{ij}=\frac{a_{ij}-a_j^{{min}}}{a_j^{{ma}{x}_j^{{min}}}}, (14.10)
bij=ajmaxjminaij−ajmin,(14.10)
对成本型属性 ,令
b
i
j
=
a
j
m
a
x
i
j
a
j
m
a
x
j
m
i
n
.
(
14.11
)
b_{ij}=\frac{a_j^{{ma}{x}_{ij}}}{a_j^{{ma}{x}_j^{{min}}}}. (14.11)
bij=ajmaxjminajmaxij.(14.11)
(3)区间型属性的变换
有些属性既非效益型又非成本型,如生师比。显然这种属性不能采用前面介绍的两种方法处理。
设给定的最优属性区间为
[
a
j
0
,
a
j
∗
]
[a_j^0,a_j^*]
[aj0,aj∗],
a
j
′
a_j^\prime
aj′为无法容忍下限,
a
j
′
′
a_j^{\prime\prime}
aj′′为无法容忍上限,则
变换后的属性值
b
i
j
b_{ij}
bij与原属性值
a
i
j
a_{ij}
aij之间的函数图形为一般梯形。当属性值最优区间的上下限相等时,最优区间退化为一个点时,函数图形退化为三角形。
设研究生院的生师比最佳区间为
[
5
,
6
]
[5,6]
[5,6],
a
j
′
=
2
,
a
j
′
′
=
12
a_j^\prime=2,a_j^{\prime\prime}=12
aj′=2,aj′′=12。表14.1的属性2的数据处理结果见表14.2.
计算的MATLAB程序如下:
clc, clear
x2=@(qujian,lb,ub,x)(1-(qujian(1)-x)./(qujian(1)-lb)).*...
(x>=lb & x<qujian(1))+(x>=qujian(1) & x<=qujian(2))+...
(1-(x-qujian(2))./(ub-qujian(2))).*(x>qujian(2) & x<=ub);
%上述语句定义变换的匿名函数,语句太长,使用了两个续行符
qujian=[5,6]; lb=2; ub=12; %最优区间,无法容忍下界和上界
x2data=[5 6 7 10 2]'; %x2属性值
y2=x2(qujian,lb,ub,x2data) %调用匿名函数,进行数据变换
(4)向量规范化
无论成本型属性还是效益型属性,向量规范化均用下式进行变换:
b
i
j
=
a
i
j
∑
i
=
1
m
a
i
j
2
,
i
=
1
,
⋯
,
m
,
j
=
1
,
⋯
,
n
.
(
14.13
)
b_{ij}=\frac{a_{ij}}{\sqrt{\sum_{i=1}^{m}a_{ij}^2}},i=1,\cdots,m, j=1,\cdots,n. (14.13)%
bij=∑i=1maij2aij,i=1,⋯,m,j=1,⋯,n.(14.13)
它与前面介绍的几种变换不同,从变换后属性值的大小上无法分辨属性值的优劣。它的最大特点是,规范化后,各方案的同一属性值的平方和为1,因此常用于计算各方案与某种虚拟方案(如理想点或负理想点)的欧氏距离的场合。
(5)标准化处理
在实际问题中,不同变量的测量单位往往是不一样的。为了消除变量的量纲效应,使每个变量都具有同等的表现力,数据分析中常对数据进行标准化处理,即
b
i
j
=
a
i
j
−
μ
j
s
j
,
i
=
1
,
2
,
⋯
,
m
,
j
=
1
,
2
,
⋯
,
n
,
(
14.14
)
b_{ij}=\frac{a_{ij}-\mu_j}{s_j}, i=1,2,\cdots,m, j=1,2,\cdots,n, (14.14)
bij=sjaij−μj,i=1,2,⋯,m,j=1,2,⋯,n,(14.14)
式中:
μ
j
=
1
m
∑
i
=
1
m
a
i
j
,
s
j
=
1
m
−
1
∑
i
=
1
m
(
a
i
j
−
μ
j
)
2
,
j
=
1
,
2
,
⋯
,
n
\mu_j=\frac{1}{m}\sum_{i=1}^{m}a_{ij},s_j=\sqrt{\frac{1}{m-1}\sum_{i=1}^{m}{(a_{ij}-\mu_j)^2}},j=1,2,\cdots,n
μj=m1∑i=1maij,sj=m−11∑i=1m(aij−μj)2,j=1,2,⋯,n。
表14.3中的数据经标准化处理后的结果见表14.3。
计算的MATLAB程序如下:
x=[0.1 5 5000 4.7
0.2 6 6000 5.6
0.4 7 7000 6.7
0.9 10 10000 2.3
1.2 2 400 1.8];
y=zscore(x)
我们首先对表14.1中属性2的数据进行最优值为给定区间的变换。然后对属性值进行向量规范化,计算结果见表14.4。
第二步,设权向量为
w
=
[
0.2
,
0.3
,
0.4
,
0.1
w=[0.2,0.3,0.4,0.1
w=[0.2,0.3,0.4,0.1]
得加权的向量规范化属性矩阵见表14.5。
第三步,求理想解
由表14.5和式(14.3)和式(14.4),得
正理想解
C
∗
=
[
0.1530
,
0.1791
,
0.2759
,
0.0174
]
;
C^*=[0.1530,0.1791,0.2759,0.0174];
C∗=[0.1530,0.1791,0.2759,0.0174];
负理想解
C
0
=
[
0.0128
,
0
,
0.0110
,
0.0648
]
。
C^0=[0.0128,0,0.0110,0.0648]。
C0=[0.0128,0,0.0110,0.0648]。
第四步,求到理想点的距离
分别用式(14.5)和式(14.6)求各方案到正理想解的距离 s i ∗ s_i^* si∗和负理想解的距离 s i 0 s_i^0 si0,列于表14.6。
第五步,计算排序指标值
计算排序指标值 f i ∗ f_i^* fi∗(见表14.6),由 f i ∗ f_i^* fi∗值的大小可确定各方案的从优到劣的次序为4,3,2,1,5。
求解的Matlab程序如下:
clc, clear
a=[0.1 5 5000 4.7
0.2 6 6000 5.6
0.4 7 7000 6.7
0.9 10 10000 2.3
1.2 2 400 1.8];
[m,n]=size(a);
x2=@(qujian,lb,ub,x)(1-(qujian(1)-x)./(qujian(1)-lb)).*...
(x>=lb & x<qujian(1))+(x>=qujian(1) & x<=qujian(2))+...
(1-(x-qujian(2))./(ub-qujian(2))).*(x>qujian(2) & x<=ub);
qujian=[5,6]; lb=2; ub=12;
a(:,2)=x2(qujian,lb,ub,a(:,2)); %对属性2进行变换
b=a./vecnorm(a) %利用矩阵广播进行向量规范化
w=[0.2 0.3 0.4 0.1];
c=b.*w; %利用矩阵广播求加权矩阵
Cstar=max(c); %求正理想解
Cstar(4)=min(c(:,4)) %属性4为成本型的
C0=min(c); %q求负理想解
C0(4)=max(c(:,4)) %属性4为成本型的
Sstar=vecnorm(c-Cstar,2,2) %逐行计算2范数即到正理想解的距离
S0=vecnorm(c-C0,2,2) %逐行计算2范数即到负理想解的距离
f=S0./(Sstar+S0)
[sf,ind]=sort(f,'descend') %求排序结果
## 总结:
综合评价与决策方法02——模糊综合评判法