TOPSIS(Technique for Order Preference by Similarity to Ideal Solution)可翻译为逼近理想解排序法,国内常简称为优劣解距离法。TOPSIS法是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能准确地反映各评价方案之间的差距。


举个栗子:

姓名 成绩
小明 89
小王 60
小张 74
小周 90

请你为这四名同学成绩进行评分,该评分能合理的描述他们成绩的高低。

一个很简单的想法:

姓名 成绩 排名 修正后 评分
小明 89 2 3 0.3
小王 60 4 1 0.1
小张 74 3 2 0.2
小周 90 1 4 0.4

我们会发现,可以任意修改他们的成绩,只要保证排名不变,那么评分就不会变,显然该评价方式不够合理!

一个比较好的想法:

构造计算评分的公式: (x - min) / (max - min)

姓名 成绩 未归一化的评分 归一化评分
小明 89 (89 - 60) / (90 - 60) = 0.97 0.97 / 2.44 = 0.3975
小王 60 (60 - 60) / (90 - 60) = 0 0 / 2.44 = 0
小张 74 (74 - 60) / (90 - 60) = 0.47 0.47 / 2.44 = 0.1926
小周 90 (90 - 60) / (90 - 60) = 1 1 / 2.44 = 0.4098

思考:卷面最高成绩是100,最低成绩是0,为什么不直接用  (x - 0) / (100- 0) 呢 ?

原因:
(1)比较的对象一般要远大于两个;
(2)比较的指标也往往不只是一个方面的,例如成绩、工时数、课外竞赛得分等;
(3)有很多指标不存在理论上的最大值和最小值,例如衡量经济增长水平的指标:GDP增速。
因此,我们构造计算评分的公式为: (x - min) / (max - min).


拓展:我们现增加一个指标,请为他们进行综合评分。

姓名 成绩 违纪次数
小明 89 2
小王 60 0
小张 74 1
小周 90 3

成绩是越高越好,我们称这样的指标为极大型指标(效益性指标)。违纪次数越少越好,我们称这样的指标为极小型指标(成本型指标)。
        那么这里我们需要将极小型指标违纪次数转化为极大型指标。

姓名 成绩 违纪次数 正向化后违纪情况
小明 89 2 1
小王 60 0 3
小张 74 1 2
小周 90 3 0
指标类型 极大型 极小型 极大型

第一步:统一指标类型
将所有的指标转化为极大型称为指标正向化(最常用).

第二步:标准化处理
成绩的单位是分,而违纪次数单位是次,单位量纲不同,因此需进行处理。
为了消去不同指标量纲的影响,需要对已经正向化的矩阵进行标准化处理。

标准化处理的计算公式

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

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

当只有一个指标的时候,构造计算评分的公式为:

(x - min) / (max - min)
       
变形得:(x - min) / (max - x)+(x - min)
即:x与最小值距离 / x与最大值距离+x与最小值距离

那多个指标时呢?

其实我们可以类比只有一个指标计算得分的方法!

这里我们可得到:
        最大值 [0.6048, 0.8018],最小值 [0.3665, 0]
         计算可得:

通过该方法,我们可以计算得出每个同学的成绩综合评分,然后对最终评分进行归一化处理,由此我们可得到每个人的最终排名。

        注意:要区别开归一化和标准化。归一化的计算步骤也可以消去量纲的影响,但更多时候,我们进行归一化的目的是为了让我们的结果更容易解释,或者说让我们对结果有一个更加清晰直观的印象。例如将得分归一化后可限制在0—1这个区间,对于区间内的每一个得分,我们很容易的得到其所处的比例位置。

        所以说,TOPSIS法也被称为优劣解距离法。


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


拓展
最常见的四种指标:

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

注意:正向化的公式不唯一,也可以结合自己的数据进行适当的修改。

(1)极小型指标 ----> 极大型指标:max - x  (如果所有元素均为正数,也可用 1/x )
(2)中间型指标 ----> 极大型指标:

(3)区间型指标 ----> 极大型指标:

此外,在本例中我们没有考虑各项指标权值的影响,默认了各项指标的权重都为1.
         我们可用以下方法加入权重:
        我们也可以先对标准化矩阵中的每个元素计算权重,然后直接用带权重的标准化矩阵来计算得 分,这样得到的结果和上面在计算距离时引入权重得到的结果是几乎相同的。

         那权重怎么来呢?可以用我们之前讲的层次分析法求得。当然,层次分析法的主观性太强了,更推荐大家使用熵权法来进行客观赋值。

TOPSIS法——利用原始数据进行综合评价相关推荐

  1. TOPSIS法(优劣解距离法)笔记

    TOPSIS法 什么时候用? TOPSIS法 是根据有限个评价对象与理想化目标的接近程度进行排序的方法,是在现有的对象中进行相对优劣的评价 [其中最优解的各指标值都达到各评价指标的最优值,最劣解的各指 ...

  2. 熵权TOPSIS法有哪些指标?

    一.应用 通俗地讲,熵权TOPSIS法是先使用熵权法得到新数据newdata(数据成熵权法计算得到的权重),然后利用新数据newdata进行TOPSIS法研究. 二.操作 SPSSAU操作 (1)点击 ...

  3. 权重设计:客观赋权法的说明(熵权法/变异系数法/CRCIII法/TOPSIS法)

    在数据分析中,我们经常会遇到多个特征对于结果造成不同影响的情况,如何识别这些特征各自的权重,对我们的后续结果评估,打分矩阵构建都具有重要意义.我们所说的赋权法是用于解决多指标综合评价问题中的各指标权重 ...

  4. 基于信息熵确立权重的topsis法_一种基于加权秩和比法的光伏并网逆变器多性能指标评价方法研究...

    电能质量测试周马上就要开始,在各位粉丝阅读本篇推文之前,你的评论多少赞了?想要奖品的粉丝可得抓紧时间,活动截止之前都还有机会哦.点击下方链接赶快留言点赞吧! 电能质量测试周,让数据说话 作者:郑陆海  ...

  5. 评价类模型---TOPSIS法

    TOPSIS法 统一指标类型 标准化处理 我们根据例子让大家更好的知道应该如何计算 总结 第一步:将原始矩阵正向化 第二步:正向化矩阵标准化 第三步:计算得分并归一化 练习题 模型的扩展 代码运行的几 ...

  6. TOPSIS法笔记(优劣解距离法)

    一.概述 C.L.Hwang 和K.Yoon 于1981年首次提出TOPSIS (Technique for Order Preference by Similarity to an Ideal So ...

  7. 熵值法与TOPSIS法以及两者结合

    补充:TOPSIS法(优劣解距离法)介绍及 python3 实现 一.熵值法 熵值法的主要目的是对指标体系进行赋权 熵越大说明系统越混乱,携带的信息越少,权重越小:熵越小说明系统越有序,携带的信息越多 ...

  8. 数学建模——TOPSIS法(优劣解距离法)学习笔记(一)

    一.TOPSIS方法 TOPSIS法(Technique for Order Preference by Similarity to Ideal Solution) 可翻译为逼近理想解排序法,国内常简 ...

  9. 基于熵权法对TOPSIS法模型的修正

    最近在学习数学建模,在B站发现一个特别不错的课程,讲的很全面,常考的算法都有涉及到:清风数学建模 本文将结合熵权法介绍TOPSIS法,并将淡化原理的推导,更侧重于具体应用. TOPSIS法 概述 TO ...

  10. topsis法matlab程序,TOPSIS算法(示例代码)

    title: TOPSIS算法 date: 2020-02-24 11:18:06 categories: 数学建模 tags: [评价模型, MATLAB] mathjax: true 定义 ? C ...

最新文章

  1. jquery实现导航栏鼠标点击后实行背景高亮,点击离开恢复(超级简单!!!!)...
  2. android studio的一个bug
  3. 基姆拉尔森星期计算公式
  4. 代码无错是优? 工厂模式
  5. 七月算法机器学习 7 工作流程与模型调优 Kaggle案例泰坦尼克号问题
  6. 视频教程-java项目实战之欢乐斗地主游戏开发教程 毕业项目课程设计带源码-Java
  7. Java基础练习题及详细答案
  8. hdu6070 Dirt Ratio
  9. Discuz仿魔客吧模板/素材资源站模板/包含DIY文件
  10. 案例|双循环下的国货自信:波司登抵御寒冬的新战袍
  11. zookeeper Session Expired
  12. JAVA 开发基础【JSON相关】
  13. 场景建模都用到哪些三维软件,入门学习选择3DsMax还是Maya
  14. CSS中的BFC规范(块级格式化上下文)
  15. usb触摸屏驱动 - usbtouchscreen
  16. Windows原版系统下载地址
  17. 志高扫地机器人好用吗_扫地机器人哪个好用?这几款用过的人都有很高的评价...
  18. 什么是FE/GE/XG端口???
  19. Spring @Pointcut使用
  20. HTTP POST方法的学习

热门文章

  1. qss样式表之QComboBox
  2. 杜比全景声 手机下载_如何在Windows 10上使用杜比全景声环绕声
  3. Ubuntu ADB 环境变量配置
  4. python之读取和写入文件
  5. 5G版聚合路由器加速释放超高清视频传输应用
  6. 基于米思齐的电磁炮基础代码
  7. CodeMeter 软件加密技术
  8. NOI题库答案(1.2 编程基础之变量定义、赋值及转换)
  9. ug许可证服务器注册表删除,ug许可证卸载工具
  10. Postman安装失败,解决方法