TOPSIS模型
评价方法大体上可分为两类,其主要区别在确定权重的方法上。一类是主观赋权法,多数采取综合咨询评分确定权重,如综合指数法、模糊综合评判法、层次分析法、功效系数法等。另一类是客观赋权,根据各指标间相关关系或各指标值变异程度来确定权数,如主成分分析法、因子分析法、理想解法 (也称TOPSIS 法)等。
目前国内外综合评价方法有数十种之多,其中主要使用的评价方法有主成分分析法、因子分析、TOPSIS、秩和比法、灰色关联法、熵权法、层次分析法、模糊评价法、物元分析法、聚类分析法、价值工程法、神经网络法等。
理想解法(TOPSIS法)
TOPSIS法是一种有效的多指标评价方法。这种方法通过构造评价问题的正理想解和负理想解,即各指标的最优解和最劣解,通过计算每个方案到理想方案的相对贴近度,即靠近正理想解和远离负理想解的程度,来对方案进行排序,从而选出最优方案。
方法和原理
设多属性决策方案集为D={d1,d2,…,dm}了,衡量方案优劣的属性变量为x1,…,xn,这时方案集D中的每个方案di(i=1,···,m)的n个属性值构成的向量是[ai1,…,ain],它作为n维空间中的一个点,能唯一地表征方案di。
正理想解 C* 是一个方案集D中并不存在的虚拟的最佳方案,它的每个属性值都是决策矩阵中该属性的最好值;而负理想解 C° 则是虚拟的最差方案,它的每个属性值都是决策矩阵中该属性的最差值。在n维空间中,将方案集D中的各备选方案di与正理想解 C* 和负理想解 C° 的距离进行比较,既靠近正理想解又远离负理想解的方案就是方案集D中的最佳方案;并可以据此排定方案集D中各备选方案的优先序。
用理想解法求解多属性决策问题的概念简单,只要在属性空间定义适当的距离测度就能计算备选方案与理想解的距离。TOPSIS 法所用的是欧氏距离。至于既用正理想解又用负理想解是因为在仅仅使用正理想解时有时会出现某两个备选方案与正理想解的距离相同的情况,为了区分这两个方案的优劣,引入负理想解并计算这两个方案与负理想解的距离,与正理想解的距离相同的方案离负理想解远者为优。
算法步骤
-
用向量规划的方法求得规范决策矩阵(需将各类属性值均先转换为效益型或成本型)
设多属性决策问题的决策矩阵 A = ( a i j ) m × n ,规范化决策矩阵 B = ( b i j ) m × n ,其中 b i j = a i j / ∑ i = 1 m a i j 2 , i = 1 , 2 , . . . , m , j = 1 , 2 , . . . , n 设多属性决策问题的决策矩阵A=(a_{ij})_{m×n},规范化决策矩阵B=(b_{ij})_{m×n},其中 \\ b_{ij}=a_{ij}/\sqrt{\sum_{i=1}^{m}a_{ij}^2},i=1,2,...,m,j=1,2,...,n 设多属性决策问题的决策矩阵A=(aij)m×n,规范化决策矩阵B=(bij)m×n,其中bij=aij/i=1∑maij2,i=1,2,...,m,j=1,2,...,n -
构成加权规范阵C=(cij)m×n
设由决策人给定各属性的权重向量 w = [ w 1 , w 2 , . . . , w n ] T ,则 c i j = w j ⋅ b i j , i = 1 , 2 , . . . , m , j = 1 , 2 , . . . , n 设由决策人给定各属性的权重向量w=[w_1,w_2,...,w_n]^T,则c_{ij}=w_j·b_{ij},i=1,2,...,m,j=1,2,...,n 设由决策人给定各属性的权重向量w=[w1,w2,...,wn]T,则cij=wj⋅bij,i=1,2,...,m,j=1,2,...,n -
确定正理想解C*和负理想解C°
设正理想解 C ∗ 的第 j 个属性值为 c j ∗ ,负理想解 C 0 第 j 个属性值为 c j 0 ,则 正理想解 c j ∗ = { max i c i j , j 为效益型属性 min i c i j , j 为成本型属性 负理想解 c j 0 = { max i c i j , j 为效益型属性 min i c i j , j 为成本型属性 设正理想解C^*的第j个属性值为c_j^*,负理想解C^0第j个属性值为c_j^0,则 \\ 正理想解c_j^*= \begin{cases} \max_ic_{ij},j为效益型属性 \\ \min_ic_{ij},j为成本型属性 \end{cases} \\ 负理想解c_j^0= \begin{cases} \max_ic_{ij},j为效益型属性 \\ \min_ic_{ij},j为成本型属性 \end{cases} 设正理想解C∗的第j个属性值为cj∗,负理想解C0第j个属性值为cj0,则正理想解cj∗={maxicij,j为效益型属性minicij,j为成本型属性负理想解cj0={maxicij,j为效益型属性minicij,j为成本型属性 -
计算各方案到正理想解与负理想解的距离
s i ∗ = ∑ j = 1 n ( c i j − c j ∗ ) 2 , i = 1 , 2 , . . . , m s i 0 = ∑ j = 1 n ( c i j − c j 0 ) 2 , i = 1 , 2 , . . . , m s_i^*=\sqrt{\sum_{j=1}^n(c_ij-c_j^*)^2},i=1,2,...,m \\ s_i^0=\sqrt{\sum_{j=1}^n(c_ij-c_j^0)^2},i=1,2,...,m si∗=j=1∑n(cij−cj∗)2,i=1,2,...,msi0=j=1∑n(cij−cj0)2,i=1,2,...,m -
计算各方案的排队指标值(即综合评价指数)
f i ∗ = s i 0 / ( s i 0 + s i ∗ ) , i = 1 , 2 , . . . , m f_i^*=s_i^0/(s_i^0+s_i^*),i=1,2,...,m fi∗=si0/(si0+si∗),i=1,2,...,m -
按fi*由大到小排列方案的优劣次序
属性值具有多种类型,包括效益型、成本型和区间型等。这三种属性,效益型属性越大越好,成本型属性越小越好,区间型属性是在某个区间最佳。
在进行决策时,一般要进行属性值的规范化,主要有如下三个作用:
- 属性值有多种类型,上述三种属性放在同一个表中不便于直接从数值大小判断方案的优劣,因此需要对数据进行预处理,使得表中任一属性下性能越优的方案变换后的属性值越大。
- 非量纲化,多属性决策与评估的困难之一是属性间的不可公度性,即在属性值表中的每一列数具有不同的单位(量纲)。即使对同一属性,采用不同的计量单位,表中的数值也就不同。在用各种多属性决策方法进行分析评价时,需要排除量纲的选用对决策或评估结果的影响,这就是非量纲化。
- 归一化,属性值表中不指标的属性值的数值大小差别很大,为了直观,更为了便于采用各种多属性决策与评估方法进行评价,需要把属性值表中的数值归一化,即把表中数值均变换到[0,1]区间上。
常用的属性规范化方法:
-
线性变换
原始的决策阵为 A = ( a i j ) m × n ,变换后的决策矩阵记为 B = ( b i j ) m × n , i = 1 , . . . , m , j = 1 , . . . , n 。 设 a j m a x 是决策矩阵第 j 列中的最大值, a j m i n 是决策矩阵第 j 列中的最小值。若 x j 为效益型属性,则 b i j = a i j / a j m a x . 采用上式进行属性规范化时,经过变换的最差属性值不一定为 0 ,最佳属性值为 1 。 若 x j 为成本型属性,则 b i j = 1 − a i j / a j m a x 采用上式进行属性规范时,经过变换的最佳属性值不一定为 1 ,最差属性值为 0 。 原始的决策阵为A=(a_{ij})_{m×n},变换后的决策矩阵记为B=(b_{ij})_{m×n},i=1,...,m,j=1,...,n。\\ 设a_j^{max}是决策矩阵第j列中的最大值,a_j^{min}是决策矩阵第j列中的最小值。若x_j为效益型属性,则b_{ij}=a_{ij}/a_j^{max}.\\ 采用上式进行属性规范化时,经过变换的最差属性值不一定为 0,最佳属性值为 1。\\ 若x_j为成本型属性,则b_{ij}=1-a_{ij}/a_j^{max} \\ 采用上式进行属性规范时,经过变换的最佳属性值不一定为 1,最差属性值为 0。 原始的决策阵为A=(aij)m×n,变换后的决策矩阵记为B=(bij)m×n,i=1,...,m,j=1,...,n。设ajmax是决策矩阵第j列中的最大值,ajmin是决策矩阵第j列中的最小值。若xj为效益型属性,则bij=aij/ajmax.采用上式进行属性规范化时,经过变换的最差属性值不一定为0,最佳属性值为1。若xj为成本型属性,则bij=1−aij/ajmax采用上式进行属性规范时,经过变换的最佳属性值不一定为1,最差属性值为0。 -
标准0-1变换
为了使每个属性变换后的最优值为 1 且最差值为 0 ,可以进行标准 0 − 1 变换。 对效益型属性 x j ,令 b i j = a i j − a j m i n a j m a x − a j m i n 对成本型属性 x j ,令 b i j = a i j m a x − a i j a j m a x − a j m i n 为了使每个属性变换后的最优值为1且最差值为0,可以进行标准0-1变换。\\ 对效益型属性x_j,令b_{ij}=\frac{a_{ij}-a_j^{min}}{a_j^{max}-a_j^{min}}\\ 对成本型属性x_j,令b_{ij}=\frac{a_{ij}^{max}-a_{ij}}{a_j^{max}-a_j^{min}} 为了使每个属性变换后的最优值为1且最差值为0,可以进行标准0−1变换。对效益型属性xj,令bij=ajmax−ajminaij−ajmin对成本型属性xj,令bij=ajmax−ajminaijmax−aij -
区间型属性的变换
有些属性既非效益型又非成本型。显然这种属性不能采用前面介绍的两种方法处理。
设给定的最优属性区间为 [ a j 0 , a j ∗ ] , a j ′ 为无法容忍下限, a j ′ ′ 为无法容忍上限,则 b i j = { 1 − ( a j 0 − a i j ) / ( a j 0 − a j ′ ) ,若 a j ′ < = a i j < a j 0 1 ,若 a j 0 < = a i j < = a j ∗ 1 − ( a i j − a j ∗ ) / ( a j ′ ′ − a j ∗ ) ,若 a j ∗ < a i j < = a j ′ ′ 0 ,其它 变换后的属性值 b i j 与原属性值 a i j 之间的函数图形为一般梯形。 当属性值最优区间的上下限相等时,最优区间退化为一个点时,函数图形退化为三角形。 设给定的最优属性区间为[a_j^0,a_j^*],a_j^{'}为无法容忍下限,a_j^{''}为无法容忍上限,则\\ b_{ij}= \begin{cases} \ 1-(a_j^0-a_{ij})/(a_j^0-a_j^{'}),若a_j^{'}<=a_{ij}<a_j^0 \\ \ 1,若a_j^{0}<=a_{ij}<=a_j^* \\ \ 1-(a_{ij}-a_j^*)/(a_j^{''}-a_j^{*}),若a_j^{*}<a_{ij}<=a_j^{''} \\ \ 0,其它 \end{cases} \\ 变换后的属性值b_{ij}与原属性值a_{ij}之间的函数图形为一般梯形。\\ 当属性值最优区间的上下限相等时,最优区间退化为一个点时,函数图形退化为三角形。 设给定的最优属性区间为[aj0,aj∗],aj′为无法容忍下限,aj′′为无法容忍上限,则bij=⎩ ⎨ ⎧ 1−(aj0−aij)/(aj0−aj′),若aj′<=aij<aj0 1,若aj0<=aij<=aj∗ 1−(aij−aj∗)/(aj′′−aj∗),若aj∗<aij<=aj′′ 0,其它变换后的属性值bij与原属性值aij之间的函数图形为一般梯形。当属性值最优区间的上下限相等时,最优区间退化为一个点时,函数图形退化为三角形。 -
向量规范化
见上述算法步骤
这种变换也是线性的,但是它与前面介绍的几种变换不司,从变换后属性值的大小上无法分辨属性值的优劣。它的最大特点是,规范化后,各方案的同一属性值的平方和为 1,因此常用于计算各方案与某种虚拟方案(如理想点或负理想点) 的欧氏距离的场合。
-
标准化处理
在实际问题中,不同变量的测量单位往往是不一样的。为了消除变量的量纲效应,使每个变量都具有同等的表现力,数据分析中常对数据进行标准化处理。
b i j = a i j − a j ‾ s j , i = 1 , 2 , . . . , n . 其中 a j ‾ = 1 m ∑ i = 1 m a i j , s j = 1 m − 1 ∑ i = 1 m ( a i j − x j ‾ ) 2 , j = 1 , 2 , . . . , n . b_{ij}=\frac{a_{ij}-\overline{a_j}}{s_j},i=1,2,...,n.\\ 其中\overline{a_j}=\frac{1}{m}\sum_{i=1}^ma_{ij},s_j=\sqrt{\frac{1}{m-1}\sum_{i=1}^m(a_{ij}-\overline{x_j})^2},j=1,2,...,n. bij=sjaij−aj,i=1,2,...,n.其中aj=m1i=1∑maij,sj=m−11i=1∑m(aij−xj)2,j=1,2,...,n.