[数学建模第二讲] TOPSIS 优劣解距离法

image.png

TOPSIS 优劣解距离法

一般用于对已有样本进行评价/排名。

引例

按照成绩对四人进行评分

image.png

思路:按照成绩进行1234的排名,然后因为评分越高越好,所以将排名逆转。

问题:

  • 如果最高分和最低分变化后排名不变,此时评分也不变,但是考的分数就变了,而且与别人的评分差异不大(最低分得分0.1而不是0)
  • 即评分无法很好地体现成绩的变化
  • image.png

想法一:

  • 修改构造评分的公式:

    • max,min为样本中的最高分与最低分

    • image.png
  • 此时未归一化的评分,最高分得分1,最低分得分0,不管最低分怎么变化,得分一直是0,和别人的评分拉开了差距。

增加指标个数

下图增加了一个指标

image.png

指标有类型,分为:

  • 极大型:数值越大越好
  • 极小型:数值越小越好
  • 中间型:数值越靠近一个中间数值最好
  • 区间型:数值在一个区间内最好

因此要对拿到的指标转化,统一指标类型,一般都化为极大型,称为指标正向化

步骤

1. 将原始矩阵正向化

将指标类型统一转化为极大型指标

  • 极小型->极大型: 或者全部为正数时:

  • 中间型->极大型:

    • 先求和最佳中间值最近的距离M,然后求每个和最佳值的距离,再和M比较,再取反
  • 区间型->极大型:

    • 先求出max(左边和a的距离,右边和b的距离)=M,然后再按照区间有不同公式带入求分数

2. 正向化矩阵标准化

  • 消除量纲的影响。不同指标的单位不同,因此数据数值差异很大,不利于计算,因此要标准化。

  • image.png

3. 计算得分并归一化

​ 将每个样本的指标转化为两个对象:与最大值的距离和与最小值的距离,然后计算得分

  • image.png
  • 使用如下公式计算得分,i为第i个评价对象:

  • 最大值,是一个向量,表示由每列的最大值组成的行向量:

  • 最小值,是一个向量,表示由每列的最小值组成的行向量:

  • 与最大值的距离:

  • 与最小值的距离:

  • 评分:

举例:

  • image.png

我们得到处理过的矩阵Z,下面计算得分:

  • 找出(最大值)=[0.6048, 0.8018]

  • 找出(最小值)=[0.3665, 0]

  • 计算与:

    • image.png
  • 计算得分
  • image.png

扩展模型

带权重的TOPSIS模型:

image.png

权重可以用层次分析法得出。但是主观性比较大。

你可能感兴趣的:([数学建模第二讲] TOPSIS 优劣解距离法)