TOPSIS 法是一种常用的综合评价方法,其能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。
为什么会有这个方法?
我们知道,评价类问题常常用层次分析法处理,但层次分析法有一定的局限性,比如评价的决策层不能太多,太多的话n会很大,判断矩阵和一致矩阵差异可能会很大。当决策层中指标的数据是已知的时,就可以利用Topsis法使评价更加准确。
基本介绍
TOPSIS 法是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。 基本过程为先将原始数据矩阵统一指标类型(一般正向化处理)得到正向化的矩阵,再对正向化的矩阵进行标准化处理以消除各指 标量纲的影响,并找到有限方案中的最优方案和最劣方案,然后分别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。该方法对数据分布及样本含量没有严格限制,数据计算简单易行。
引例
这是一个宿舍的高数成绩,请你为这四名同学进行评分,该评分能合理的描述其高数成绩的高低。
名字 | 分数 |
---|---|
小明 | 89 |
小李 | 60 |
小赵 | 74 |
小刘 | 99 |
想法一:
名字 | 分数 | 排名 | 逆序排名 | 评分 |
---|---|---|---|---|
小明 | 89 | 2 | 3 | 3/10 = 0.3 |
小李 | 60 | 4 | 1 | 1/10 = 0.1 |
小赵 | 74 | 3 | 2 | 2/10 = 0.2 |
小刘 | 99 | 1 | 4 | 4/10 = 0.4 |
显然,只要排名不变,即使成绩变化,评分也不变。因此该方案不好。
想法二:找出最高分max,最低分min,
计
算
评
分
公
式
:
x
−
m
i
n
m
a
x
−
m
i
n
计算评分公式:\frac{x-min}{max-min}
计算评分公式:max−minx−min
姓名 | 成绩 | 未归一化的评分 | 归一化评分 |
---|---|---|---|
小明 | 89 | 89 − 60 99 − 60 = 0.74 \frac{89-60}{99-60}=0.74 99−6089−60=0.74 | 0.74/2.1=0.35 |
小李 | 60 | 60 − 60 99 − 60 = 0 \frac{60-60}{99-60}=0 99−6060−60=0 | 0/2.1=0 |
小赵 | 74 | 74 − 60 99 − 60 = 0.36 \frac{74-60}{99-60}=0.36 99−6074−60=0.36 | 0.36/2.1=0.17 |
小刘 | 99 | 99 − 60 99 − 60 = 1 \frac{99-60}{99-60}=1 99−6099−60=1 | 1/2.1=0.48 |
我们知道,高数卷面最高分值为100,最低分值为0,为什么不用
x
−
0
100
−
0
\frac{x-0}{100-0}
100−0x−0来计算呢?
三个原因:
(1)比较的对象一般要远大于两个。(例如比较一个班级的成绩)
(2)比较的指标也往往不只是一个方面的,例如成绩、工时数、课外竞赛得分等。
(3)有很多指标不存在理论上的最大值和最小值,例如衡量经济增长水平的指标:GDP增速。
操作方法
将原始矩阵正向化
在引例中,成绩显然是越高越好,这种类型的指标我们称之为极大型(效益型)指标。因此计算评分的公式也是按照极大型指标来给出的。但在很多时候,我们的指标不一定都是越大越好,比如人的体温,买东西花费的费用,水质评估等等,此时我们就需要将这些指标转化成极大型指标。(当然,转换公式不唯一)
最常见的四种指标:
指标名称 | 指标特点 | 例子 |
---|---|---|
极大型(效益型)指标 | 越大(多)越好 | 成绩、GDP增速、企业利润 |
极小型(成本型)指标 | 越小(少)越好 | 费用、坏品率、污染程度 |
中间型指标 | 越接近某个值越好 | 水质量评估时的PH值 |
区间型指标 | 落在某个区间最好 | 体温、水中植物性营养物量 |
极小型指标转换为极大型指标的公式:
m
a
x
−
x
max-x
max−x
中间型指标转换为极大型指标的公式:
中间型指标:指标值既不要太大也不要太小,取某特定值最好(如水质量评估PH 值)
{
x
i
x_i
xi}是一组中间型序列,且最佳数值为
x
b
e
s
t
x_{best}
xbest,则正向化公式:
M
=
m
a
x
{
∣
x
i
−
x
b
e
s
t
∣
}
,
x
i
~
=
1
−
∣
x
i
−
x
b
e
s
t
∣
M
M=max\left\{ |x_i-x_{best}| \right\},\widetilde{x_i}=1- \frac{|x_i-x_{best}|}{M}
M=max{∣xi−xbest∣},xi
=1−M∣xi−xbest∣
区间型指标转换为极大型指标的公式:
正向化矩阵标准化
z
i
j
=
x
i
j
∑
i
=
1
n
x
i
j
2
z_{ij}=\frac{x_{ij}}{\sqrt{\sum_{i=1}^n x_{ij}^2}}
zij=∑i=1nxij2xij
计算得分归一化
由上一步,我们将所有评判标准都转换成了极大型指标,由此得到一个标准化矩阵:
[
z
11
z
12
…
z
1
n
z
21
z
22
…
z
2
n
⋮
⋮
⋱
⋮
z
n
1
z
n
2
…
z
n
n
]
\begin{bmatrix} z_{11}&z_{12}&\dots&z_{1n}\\ z_{21}&z_{22}&\dots&z_{2n}\\ \vdots&\vdots&\ddots&\vdots\\ z_{n1}&z_{n2}&\dots&z_{nn} \end{bmatrix}
⎣⎢⎢⎢⎡z11z21⋮zn1z12z22⋮zn2……⋱…z1nz2n⋮znn⎦⎥⎥⎥⎤
计算公式:
上述是未加权重的情况
如果加权重:则此处需要修改: