TOPSIS法根据有限个评价对象与理想化目标的接近程度进行排序的方法,是在现有的对象中进行相对优劣的评价。其中最优解是指评价指标的最大值,最劣解是指评价指标的最小值。
极大型指标
数值越大越好。如收入,成绩。
极小性指标
数值越小越好。如成本,损失。
中间型指标
越接近某个固定值越好。如水的ph值。
区间型指标
落在某个区间上最好,如人的体温。
我们往往需要把实际问题中所给出的问题原始矩阵转化为以极大型指标类型的矩阵。以下是三种非极大型指标的转换方法:
得到正向化矩阵 X = [ x 11 x 12 ⋯ x 1 m x 21 x 22 ⋯ x 2 m ⋮ ⋮ ⋱ ⋮ x n 1 x n 2 ⋯ x n m ] X=\left[\begin{array}{cccc} x_{11} & x_{12} & \cdots & x_{1 m} \\ x_{21} & x_{22} & \cdots & x_{2 m} \\ \vdots & \vdots & \ddots & \vdots \\ x_{n 1} & x_{n 2} & \cdots & x_{n m} \end{array}\right] X=⎣⎢⎢⎢⎡x11x21⋮xn1x12x22⋮xn2⋯⋯⋱⋯x1mx2m⋮xnm⎦⎥⎥⎥⎤
数据标准化是将原始数据转化为无量纲、无数量级差异的标准化数值,消除不同指标之间因属性不同而带来的影响,从而使结果更具有可比性。
数据的标准化有很多种方法,以下只列出了其中一种——模标准化:
z i j = x i j ∑ i = 1 n x i j 2 z_{i j}=\frac{x_{i j}}{\sqrt{\sum_{i=1}^{n} x_{i j}^{2}}} zij=∑i=1nxij2xij
z i j = 每 个 元 素 其 所 在 列 的 元 素 的 平 方 和 z_{i j}=\frac{每个元素}{\sqrt{其所在列的元素的平方和} } zij=其所在列的元素的平方和每个元素
假设有 n n n个要评价的对象, m m m个评价指标的标准化矩阵:
定义最大值 Z + = ( Z 1 + , Z 2 + , . . . , Z n + ) = ( 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_n^+)\\ =(min\{Z_{11}^+,Z_{21}^+,...,Z_{n1}^+\},min\{Z_{12}^+,Z_{22}^+,...,Z_{n2}^+\},\cdots,min\{Z_{1m}^+,Z_{2m}^+,...,Z_{nm}^+\}) Z+=(Z1+,Z2+,...,Zn+)=(min{ Z11+,Z21+,...,Zn1+},min{ Z12+,Z22+,...,Zn2+},⋯,min{ Z1m+,Z2m+,...,Znm+})
定义最小值 Z − = ( Z 1 − , Z 2 − , . . . , Z n − ) = ( 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_n^-)\\ =(max\{Z_{11}^-,Z_{21}^-,...,Z_{n1}^-\},max\{Z_{12}^-,Z_{22}^-,...,Z_{n2}^-\},\cdots,max\{Z_{1m}^-,Z_{2m}^-,...,Z_{nm}^-\}) Z−=(Z1−,Z2−,...,Zn−)=(max{ Z11−,Z21−,...,Zn1−},max{ Z12−,Z22−,...,Zn2−},⋯,max{ Z1m−,Z2m−,...,Znm−})
定义第 i ( i = 1 , 2 , ⋯ , n ) i(i=1,2,\cdots,n) i(i=1,2,⋯,n)个评价对象与最大值的距离 D i + = ∑ j = 1 n ( Z j + − z i j ) 2 D_i^+=\sqrt{\sum_{j=1}^n(Z_j^+-z_{ij})^2 } Di+=j=1∑n(Zj+−zij)2
定义第 i ( i = 1 , 2 , ⋯ , n ) i(i=1,2,\cdots,n) i(i=1,2,⋯,n)个评价对象与最小值的距离 D i − = ∑ j = 1 n ( Z j − − z i j ) 2 D_i^-=\sqrt{\sum_{j=1}^n(Z_j^--z_{ij})^2 } Di−=j=1∑n(Zj−−zij)2
计算得出第 i ( i = 1 , 2 , ⋯ , n ) i(i=1,2,\cdots,n) i(i=1,2,⋯,n)个评价对象为归一化的得分: S i = D i − D i + + D i − 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越大越接近最大值,最后进行归一化处理,获得更标准的结果。
——以上笔记是根随清风老师的课程所学习。