文章目录
TOPSIS简介
TOPSIS(Technique for Order Preference by Similarity to an Ideal Solution)可翻译为逼近理想解排序法,国内常简称为优劣解距离法。TOPSIS 法是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。主要用来评价优劣。
步骤
第一步 将原始矩阵正向化
指标名称 | 指标特点 | 例子 |
---|---|---|
极大型(效益型) | 指标 越大(多)越好 | 成绩、GDP增速、企业利润 |
极小型(成本型) | 指标 越小(少)越好 | 费用、坏品率、污染程度 |
中间型指标 | 越接近某个值越好 | 水质量评估时的PH值 |
区间型指标 | 落在某个区间最好 | 体温、水中植物性营养物 |
1、极小型指标→极大型指标
-
m a x − x max-x max−x
-
若所有元素均为正数,也可以用 1 x \large \frac 1x x1
2、中间型指标→极大型指标
{ x i j } \{x_{ij}\} {xij}是一组中间型指标序列,且最佳的数值为 x m a x x_{max} xmax,那么正向化公式如下:
M = m a x { ∣ x i − x m a x } \large M=max\{|x_i-x_{max}\} M=max{∣xi−xmax}
x i ‾ = 1 − ∣ x i − x m a x ∣ M \large \overline{x_i}=1-\frac {|x_i-x_{max}|}{M} xi=1−M∣xi−xmax∣
如下表:
M
=
m
a
x
{
∣
6
−
7
∣
,
∣
7
−
7
∣
,
∣
8
−
7
∣
,
∣
9
−
7
}
=
2
\large M=max\{|6-7|,|7-7|,|8-7|,|9-7\}=2
M=max{∣6−7∣,∣7−7∣,∣8−7∣,∣9−7}=2
3、区间型指标→极大型指标
{ x i j } \{x_{ij}\} {xij}是一组区间型指标序列,且最佳的数值为 [ a , b ] [a,b] [a,b],那么正向化公式如下:
M
=
m
a
x
{
a
−
m
i
n
{
x
i
}
,
m
a
x
{
x
i
}
−
b
}
\large M=max\{a-min\{x_i\},max\{x_i\}-b\}
M=max{a−min{xi},max{xi}−b}
如下表:
a = 36 , b = 37 \large a=36,b=37 a=36,b=37
M
=
m
a
x
{
36
−
35.2
,
38.4
−
37
}
=
1.4
\large M=max\{36-35.2,38.4-37\}=1.4
M=max{36−35.2,38.4−37}=1.4
第二步 正向化矩阵标准化
例如 89 ( 8 9 2 + 6 0 2 + 7 4 2 + 9 9 2 ) = 0.5437 \Large \frac {89}{\sqrt(89^2+60^2+74^2+99^2)}=0.5437 ( 892+602+742+992)89=0.5437
第三步 计算得分并归一化
只有一个指标的时候,计算评分公式为 x − m i n m a x − m i n \large \frac {x-min}{max-min} max−minx−min,变形后 = x − m i n ( m a x − x ) + ( x − m i n ) \large =\frac {x-min}{(max-x)+(x-min)} =(max−x)+(x−min)x−min
即 x 与 最 小 值 的 距 离 x 与 最 大 值 的 距 离 + x 与 最 小 值 的 距 离 \Large \frac {x与最小值的距离}{x与最大值的距离+x与最小值的距离} x与最大值的距离+x与最小值的距离x与最小值的距离
假设有n个要评价的对象,m个评价指标的标准化矩阵
Z = [ z 11 z 12 ⋯ z 1 m z 21 a 22 ⋯ z 2 m ⋮ ⋮ ⋱ ⋮ z n 1 z n 2 ⋯ z n m ] \large Z=\begin{bmatrix} {z_{11}}&{z_{12}}&{\cdots}&{z_{1m}}\\ {z_{21}}&{a_{22}}&{\cdots}&{z_{2m}}\\ {\vdots}&{\vdots}&{\ddots}&{\vdots}\\ {z_{n1}}&{z_{n2}}&{\cdots}&{z_{nm}}\\ \end{bmatrix} Z=⎣⎢⎢⎢⎢⎡z11z21⋮zn1z12a22⋮zn2⋯⋯⋱⋯z1mz2m⋮znm⎦⎥⎥⎥⎥⎤
定义最大值 Z + = ( Z 1 + , Z 2 + , … , Z m + ) = ( m a x { z 11 , z 21 , … , z n 1 } , m a x { z 12 , z 22 , … , z n 2 } , … , m a x { z 1 m , z 2 m , … , z n m } ) Z^+=(Z_1^+,Z_2^+,…,Z_m^+)=(max\{z_{11},z_{21},…,z_{n1}\},max\{z_{12},z_{22},…,z_{n2}\},…,max\{z_{1m},z_{2m},…,z_{nm}\}) Z+=(Z1+,Z2+,…,Zm+)=(max{z11,z21,…,zn1},max{z12,z22,…,zn2},…,max{z1m,z2m,…,znm})
定义最小值
Z − = ( Z 1 − , Z 2 − , … , Z m − ) = ( m i n { z 11 , z 21 , … , z n 1 } , m i n { z 12 , z 22 , … , z n 2 } , … , m i n { z 1 m , z 2 m , … , z n m } ) Z^-=(Z_1^-,Z_2^-,…,Z_m^-)=(min\{z_{11},z_{21},…,z_{n1}\},min\{z_{12},z_{22},…,z_{n2}\},…,min\{z_{1m},z_{2m},…,z_{nm}\}) Z−=(Z1−,Z2−,…,Zm−)=(min{z11,z21,…,zn1},min{z12,z22,…,zn2},…,min{z1m,z2m,…,znm})
定义第 i ( i = 1 , 2 , … , n ) i(i=1,2,…,n) i(i=1,2,…,n)个评价对象与最大值的距离 D i + = ( ∑ j = 1 m ( Z j + − z i j ) 2 ) D_i^+=\sqrt(\sum_{j=1}^m(Z_j^+-z_{ij})^2) Di+=( ∑j=1m(Zj+−zij)2)
定义第 i ( i = 1 , 2 , … , n ) i(i=1,2,…,n) i(i=1,2,…,n)个评价对象与最大值的距离 D i − = ( ∑ j = 1 m ( Z j − − z i j ) 2 ) D_i^-=\sqrt(\sum_{j=1}^m(Z_j^--z_{ij})^2) Di−=( ∑j=1m(Zj−−zij)2)
从而我们可以计算得到第 i ( i = 1 , 2 , … , n ) i(i=1,2,…,n) i(i=1,2,…,n)个评价对象未归一化的得分: S i = D i − D i + + D i − \large S_i=\frac {D_i^-}{D_i^++D_i^-} Si=Di++Di−Di−
很明显 0 ≤ S i ≤ 1 0≤S_i≤1 0≤Si≤1,且 S i S_i Si越大 D i + D_i^+ Di+越小
例如下表:
带权重的TOPSIS
- 权重可以用层次分析法或者熵权法来确定(层次分析法更主观,熵权法更客观)