数学建模算法——topsis法(优劣解距离法)(自用)
优劣解距离法的概述
Topsis 法是一种常用的综合评价方法,能充分利用原始数据的
信息,其结果能精确地反映各评价方案之间的差距。
基本过程为先将原始数据矩阵统一指标类型(一般正向化处理)
得到正向化的矩阵,再对正向化的矩阵进行标准化处理以消除各指
标量纲的影响,并找到有限方案中的最优方案和最劣方案,然后分
别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对
象与最优方案的相对接近程度,以此作为评价优劣的依据。该方法
对数据分布及样本含量没有严格限制,数据计算简单易行
优劣解距离法的步骤
<1>. 将原始矩阵正向化,将所有的指标转化为极大型指标,常见的四种指标如下:
指标名称 | 指标特点 |
---|---|
极大型指标 | 越大越好 |
极小型指标 | 越小越好 |
中间型指标 | 越接近某个值越好 |
区间型指标 | 落在某个区间最好 |
- 极小型转化为极大型指标的公式:max-x,若所有元素均为正数,那么也可以使用1/x
- 中间值可以使用:
M = max { ∣ x i − x b e s t ∣ } , x i ∗ = 1 − ∣ x i − x b e s t ∣ M M = \max \{ |{x_i} - {x_{best}}|\} ,x_i^*=1 - \frac{{|{x_i} - {x_{best}}|}}{M} M=max{∣xi−xbest∣},xi∗=1−M∣xi−xbest∣ - 区间型:最佳区间为[a,b]
M = max { a − min { x i } , max { x i } − b } , x i ∗ = { 1 − a − x M x < a 1 a ≤ x ≤ b 1 − x − b M b < x M = \max \{ a - \min \{ {x_i}\} ,\max \{ {x_i}\} - b\} ,x_i^*=\left\{ \begin{aligned} 1& - \frac{{a - x}}{M}&x<a\\ 1& &a\le x \le b\\ 1 &- \frac{{x - b}}{M}&b<x \end{aligned} \right. M=max{a−min{xi},max{xi}−b},xi∗=⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧111−Ma−x−Mx−bx<aa≤x≤bb<x
<2>.正向化矩阵标准化(消除不同指标的量纲影响)
若已经得到了n个要评价的对象,m个评价指标构成的正向化矩阵,那么将矩阵中的每一个元素除以根号下所在列(评级指标列)的各个元素的平方和:
z i j = x i j ∑ i = 1 n X i j 2 {z_{ij}} = \frac{{{x_{ij}}}}{{\sqrt {\sum\limits_{i = 1}^n {X_{ij}^2} } }} zij=i=1∑nXij2xij
<3>.计算得分并归一化(下图引用清风建模)
再进行归一化处理得出对应评分