TOPSIS优劣解距离法
TOPSIS法(Technique for Order Preference by Similarity to Ideal Solution),可翻译为逼近理想解排序法,国内常简称为优劣解距离法。TOPSIS法是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间地差距。
第一步:将原始矩阵正向化
最常见的四种指标:
指标名称 | 指标特点 | 例子 |
极大型(效益性)指标 | 越大(多)越好 | 成绩、GDP增速、企业利润 |
极小型(成本型)指标 | 越小(少)越好 | 费用、坏品率、污染程度 |
中间型指标 | 越接近某个值越好 | pH值 |
区间型指标 | 落在某个区间最好 | 体温、水中植物性营养物量 |
所谓的将原始矩阵正向化,就是要将所有的指标类型统一转化为极大型指标(转换的函数形式不唯一)。
极小型指标转换为极大型指标
公式:
如果所有元素均是正整数,也可用$\frac{1}{x}$。
中间型指标转换为极大型指标
中间型指标:指标值不太大也不太小,而是接近某一特定值。
{$x_i$}是一组中间型指标序列,且最佳数值为$x_{best}$,那么正向化的公式如下:
例:
pH值(转换前) | pH值(转换后) |
---|---|
6 | $1-\frac{\vert 6-7\vert}{2}=\frac{1}{2}$ |
7 | $1-\frac{\vert 7-7\vert}{2}=1$ |
8 | $1-\frac{\vert 8-7\vert}{2}=\frac{1}{2}$ |
9 | $1-\frac{\vert 9-7\vert}{2}=0$ |
确定$x_{best}的值$:
计算$M$:
区间型指标转换为极大型指标
指标值落在某个区间内最好,例如人的体温在36°~37°这个区间比较好。
$\{x_i\}$是一组中间型指标序列,且最佳的区间为$[a,b]$,那么正向化的公式如下:
体温(转换前) | 体温(转换后) |
---|---|
35.2 | 0.4286 |
35.8 | 0.8571 |
36.6 | 1 |
37.1 | 0.9286 |
37.8 | 0.4286 |
38.4 | 0 |
由人的体温在36°~37°可得$a=36$,$b=37$。
由公式得:
第二步:正向化矩阵标准化
标准化的目的是消除不同指标量纲的影响。
为了消去不同指标量纲的影响,需要对已经正向化的矩阵进行标准化处理。
假设有n个要评价的对象,m个评价指标(已经正向化)构成的正向化矩阵如下:
那么,对其标准化的矩阵记为Z,Z中的每一个元素:
(每一个元素/根号下其所在列的元素的平方和)
第三步:计算得分并归一化
假设有n个要评价的对象,m个评价指标的标准化矩阵。
定义最大值$Z^{+}$:
定义最小值$Z^{-}$:
定义第$i(i=1,2,{\cdots},n)$个评价对象与最大值的距离
定义第c个评价对象与最小值的距离
那么,我们可以计算得出第$i(i=1,2,{\cdots},n)$个评价对象未归一化的得分:
很明显$0\leqslant S_{i}\leqslant1$,且$S_{i}$越大$D^{+}_{i}$,即越接近最大值。
练习
题目:评价下表中20条河流的水质情况
注:含氧量越高越好;PH值越接近7越好;细菌总数越少越好;植物性营养物量介于10~20之间最佳,超过20或低于10均不好。
河流 | 含氧量(ppm) | PH值A | 细菌总数(个/mL) | 植物性营养物量(ppm) |
---|---|---|---|---|
A | 4.69 | 6.59 | 51 | 11.94 |
B | 2.03 | 7.86 | 19 | 6.46 |
C | 9.11 | 6.31 | 46 | 8.91 |
D | 8.61 | 7.05 | 46 | 26.43 |
E | 7.13 | 6.5 | 50 | 23.57 |
F | 2.39 | 6.77 | 38 | 24.62 |
G | 7.69 | 6.79 | 38 | 6.01 |
H | 9.3 | 6.81 | 27 | 31.57 |
I | 5.45 | 7.62 | 5 | 18.46 |
J | 6.19 | 7.27 | 17 | 7.51 |
K | 7.93 | 7.53 | 9 | 6.52 |
L | 4.4 | 7.28 | 17 | 25.3 |
M | 7.46 | 8.24 | 23 | 14.42 |
N | 2.01 | 5.55 | 47 | 26.31 |
O | 2.04 | 6.4 | 23 | 17.91 |
P | 7.73 | 6.14 | 52 | 15.72 |
Q | 6.35 | 7.58 | 25 | 29.46 |
R | 8.29 | 8.41 | 39 | 12.02 |
S | 3.54 | 7.27 | 54 | 3.16 |
T | 7.44 | 6.26 | 8 | 28.41 |
注:数据是我随手编的,仅用于讲解相应的算法,可能有不合理之处,请见谅。