【数学建模】2.1优劣解距离法Topsis模型

模型介绍

TOPSIS法(Technique for Order Preference by Similarity to Ideal Solution),可翻译为逼近理想解排序法,国内常简称为优劣解距离法。

TOPSIS法是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。

层次分析法的局限性

  • 评价的决策层不能太多,太多的话 n 会很大,判断矩阵和一致矩阵差异可能会很大。(平均随机一致性指标RI的表格中 n 最多是15)

  • 如果决策层中指标的数据是已知的,那么我们如何利用这些数据来使得评价更加准确呢?

例题

小明同宿舍共有四名同学,成绩如下所示

姓名 成绩
小明 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

但是该想法有不合理之处,当修改成绩表格时:

姓名 成绩 排名 修正后的排名 评分
小明 89 2 3 3 / 10 = 0.3
小王 60 10 4 1 1 / 10 = 0.1
小张 74 3 2 2 / 10 = 0.2
清风 99 90 1 4 4 / 10 = 0.4

无论怎么修改,只要保证排名不变,评分就不会改变,说明我们给出的评分不能够完全反应出原始数据的信息。

可以采用如下的构造计算评分的公式

对于不使用原始数据进行直接归一化的解释:

  • 比较的对象一般要远大于两个
  • 比较的指标往往不是一个方面的
  • 有很多指标不存在理论上的最大值和最小值

例题分析

新增加了一个指标,请综合评价四位同学,并进行评分

姓名 成绩 与他人争吵次数
小明 89 2
小王 60 0
小张 74 1
清风 99 3

成绩是越高越好,这样的指标称为极大型指标(效益型指标)

与他人争吵的次数越少越好,这样的指标称为极小型指标(成本型指标)

统一指标类型

将所有的指标转化为极大型称为指标正向化(最常用)

极小型指标转换为极大型指标的公式:

得到如下表格

姓名 成绩 与他人争吵次数 正向化后的争吵次数
小明 89 2 1
小王 60 0 3
小张 74 1 2
清风 99 3 0
指标类型 极大型 极小型 极大型

标准化处理

为了消去不同指标量纲的影响,需要对已经正向化的矩阵进行标准化处理

标准化处理的计算公式:

假设有 n 个要评价的对象,m 个评价指标(已经正向化)构成的正向化矩阵如下:

那么,对其标准化的矩阵记为 Z,Z 中每一个元素:

原矩阵

经过标准化可以得到

计算得分

姓名 成绩 正向化后的争吵次数
小明 0.5437 0.2673
小王 0.3665 0.8018
小张 0.4520 0.5345
清风 0.6048 0
指标类型 极大型 极大型

只有一个指标时:

类比只有一个指标时的计算方法:

假设有 n 个要评价的对象,m 个评价指标的标准化矩阵:

定义最大值 Z+

定义最小值 Z-

定义第 i ( i = 1 , 2 , … , n ) 个评价对象与最大值的距离

定义第 i ( i = 1 , 2 , … , n ) 个评价对象与最小值的距离

那么,我们可以计算得出第 i ( i = 1 , 2 , … , n ) 个评价对象未归一化的得分:

很明显 0 ≤ Si ≤ 1,且Si 越大,D+i 越小,即接近最大值。

附上例题的解法

方法总结

基本过程为先将原始数据矩阵统一指标类型(一般正向化处理)得到正向化的矩阵,再对正向化的矩阵进行标准化处理以消除各指标量纲的影响,并找到有限方案中的最优方案和最劣方案,然后分别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。该方法对数据分布及样本含量没有严格限制,数据计算简单易行。

第一步:将原始矩阵正向化

最常见的四种指标:

指标名称 指标特点 例子
极大型(效益型)指标 越大越好 成绩、GDP增速、企业利润
极小型(成本型)指标 越小越好 费用、坏品率、污染程度
中间型指标 越接近某个值越好 水质量评估时的PH值
区间型指标 落在某个区间最好 体温、水中植物营养物量

所谓的将原式矩阵正向化,就是将所有的指标类型统一转化为极大型指标。

极小型转极大型:

如果所有的元素均为正数,也可以使用 1/ x

中间型转极大型:

{ xi } 是一组中间型指标序列,且最佳的数值为 xbest ,那么正向化的公式如下:

举个栗子

区间型转极大型:

{ xi } 是一组区间型指标序列,且最佳的区间为 [ a , b ],那么正向化的公式如下:

(手打公式累死辽)

给个例子

捕获3

第二步:正向化矩阵标准化

标准化的目的是消除不同指标量纲的影响

假设有 n 个要评价的对象,m 个评价指标(已经正向化)构成的正向化矩阵如下:

那么,对其标准化的矩阵记为 Z,Z 中每一个元素:

第三步:计算得分并归一化

假设有 n 个要评价的对象,m 个评价指标的标准化矩阵:

定义最大值 Z+

定义最小值 Z-

定义第 i ( i = 1 , 2 , … , n ) 个评价对象与最大值的距离

定义第 i ( i = 1 , 2 , … , n ) 个评价对象与最小值的距离

那么,我们可以计算得出第 i ( i = 1 , 2 , … , n ) 个评价对象未归一化的得分:

很明显 0 ≤ Si ≤ 1,且Si 越大,D+i 越小,即接近最大值。

模型拓展

带权重的TOPSIS

有 n 个要评价的对象,m 个评价指标的标准化矩阵:

可以使用层次分析法给这m个评价指标确定权重:

定义最大值 Z+

定义最小值 Z-

定义第 i ( i = 1 , 2 , … , n ) 个评价对象与最大值的距离

定义第 i ( i = 1 , 2 , … , n ) 个评价对象与最小值的距离

那么,我们可以计算得出第 i ( i = 1 , 2 , … , n ) 个评价对象未归一化的得分:

很明显 0 ≤ Si ≤ 1,且Si 越大,D+i 越小,即接近最大值。

Author: iwannaeat
Link: https://iwannaeat.github.io/2020/02/02/【数学建模】2-1优劣解距离法Topsis模型/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.