TOPSIS法,译为逼近理想解排序法,简称优劣且解距离法(根据学习会发现优解即距离较大的解),是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。
当我们用层次分析法来解决问题,发现行不通或者得出的结果不太精确的时候,就可以考虑用TOPSIS法。比如当评价的决策层太多时,n也会很大,容易使判断矩阵和一致矩阵差距较大(平均随机一致性指标RI表格中n≤15),此时再使用层次分析法,就有些不妥当了。那么当决策层中指标数据已知时,如何使结果更准确呢?
举个例子,

(这里要求的评分可以与层次分析法中的权重类比)
那么我们现在对四位同学得成绩排名,得到名次为2431,评分要求越大越好,因此成绩越好的同学排名应越大,所以对排名进行一个修正,修正后的名次为3124,用个人排名÷排名之和得到每人对应的评分。

但我们思考检验发现,当同学们的成绩大小发生改变而四人的排名保持不变的话,得出的总评分依旧不变,由此可见,得出的结果与成绩的相关性太弱。
那我们又想到另一种方法:找出四人中成绩的最高分和最低分,按照公式[(x-min)÷(max-min)]来计算评分,并对评分进行归一化,得到结果如下

到这里有人就会问了,理论上考试的最高成绩不应该是满分,而最低成绩为0吗?
主要原因有三个。第一,比较对象往往多于两个,此时采用第一种方法,只有数据两端的对象会感受到影响;第二,比较的指标往往是多方面的;第三,不是每种指标都有理论最大值和最小值的。因此选择上一种方式计算评分,公式如下图所示。

我们以上讨论的都是只有成绩一个指标时的情况,那么接下来增加指标个数,例题变为下图所示。两个指标分别体现对象的智商和情商。

介绍一个知识点:题中成绩越大越好,是为极大型指标,也称效益型指标;与他人争吵次数越小越好,是为极小型指标,也称成本型指标。
大型指标称为指标正向化,其中极小型变为极大型的公式为(max-x)。
成绩单位为分,吵架单位为次,两个指标量纲不同,要进行处理,为了消除不同量纲带来的影响,就要对已经正向化的矩阵进行标准化处理,任一列的一个数值÷该列数值平方之和的算数平方根,即可消去量纲。其公式如下:

只有成绩一个指标时,评分的公式为[(x-min)÷(max-min)],经过
得出


类比一个指标计算得分,最大值和最小值分别为一个向量矩阵,从每列中找出最大值和最小值,分别组成矩阵,用Z+,Z-表示。
可以把矩阵看做m维坐标系的向量坐标,类比空间坐标距离公式得到:

根据评分公式
得到得分公式(未归一化),S=D- ÷(D++D-),故S属于(0,1),S越大,对象的评价越好。

之后对计算得出的的得分进行归一化,并进行排名,根据排名即可选出对象的优劣程度。
由此可以得出,TOPSIS法的基本步骤为:先将原始数据矩阵统一指标类型(一般正向化处理)得到正向化的矩阵,
再对正向化的矩阵进行标准化处理以消除各指标量纲的影响,并找到有限方案中的最优方案和最劣方案,
然后分别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。
该方法对数据分布及样本含量没有严格限制,数据计算简单易行。
下面对该方法步骤详细介绍:
第一步:将原始矩阵正向化
最常见的四种指标:极大型(效益型)指标,越大(多) 越好,例如成绩、GDP增速、企业利润;极小型(成本型)指标,越小(少)越好,例如费用、坏品率、污染程度;中间型指标,越接近某个值越好,例如水质量评估时的PH值;区间型指标,落在某个区间最好例如体温、 水中植物性营养物量。
所谓的将原始矩阵正向化,就是要将所有的指标类型统一转化为极大型指标。(转换的 函数形式可以不唯一哦~ )
极小型指标转换为极大型指标
max -x,如果所有的元素均为正数,那么也可以使用1÷x,不过基本常用第一种转换公式。
中间型指标转换为极大型指标

区间型指标转换为极大型指标(更正:下图中的{xi}为区间型指标序列,此图从ppt中截取,需更改)

第二步:正向化矩阵标准化
标准化是为了消除不同量纲带来的影响,公式之前已经提过,如下。标准化的方法不唯一,故得到的标准化矩阵也不唯一。

第三步:计算得分并归一化
得分的计算公式如下图红字部分,

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

带权重的TOPSIS法:
确定权重的方法:层次分析法(主观性太强,不利于数据处理),熵权法(之后的视频会讲到)

接下来看一道练习题

根据题目中的介绍,我们可以得出含氧量属于极大型指标,PH值属于中间型指标,细菌总数属于极小型指标,营养物量属于区间型指标,首先利用公式将这三个指标转换为极大型指标,之后根据公式进行标准化,然后找出各指标的最大值最小值,分别组成向量,根据公式计算得分,并进行归一化,按照排名即可得出水质的优劣,大体思路就是这样了。本讲中出现的一些代码会在之后的视频里详细解释,大家可以去看看。
我本人就是一个0基础的小白,之前从没接触过数学建模,在B站上搜到了清风老师的视频,看了前几讲发现确实自己能够听懂,举的例子也很通俗易懂,如果有像我一样想学习学习建模的,可以来看看哦!那么以上我所学所讲及配图均来自于清风老师
获取清风老师的完整版课程可以微信搜索公众号

数学建模(2)topsis分析法相关推荐

  1. 数学建模之层次分析法AHP

    层次分析法(Analytic Hierarchy Process,AHP)这是一种定性和定量相结合的.系统的.层次化的分析方法.这种方法的特点就是在对复杂决策问题的本质.影响因素及其内在关系等进行深入 ...

  2. 【数学建模】层次分析法AHP(评价与决策)

    文章目录 一.算法介绍 二.适用问题 三.算法总结 1. 步骤 2. 如何构建层次结构模型 3. 如何构建成对比较矩阵 4. 如何进行一致性检验 四.应用场景举例(旅游问题) 1. 建模 2. 构造成 ...

  3. 病毒传播数学建模matlab分析,数学建模MATLAB之分析法(一)

    [toc] 本篇分别有主成分分析,层次分析,聚类分析,因子分析的简单介绍以及在MATLAB(2018a)上使用的简单介绍 ( 附源码 ) 主成分分析 主成分分析-百度百科 简单讲:主成分分析就是取出几 ...

  4. 备战数学建模9-层次分析法模型

    层次分析法,简称AHP,是建模比赛中最基础的模型之一,其主要用于解决评价类问题,例如:哪中方案更好?哪位运动员或者员工表现得更优秀? 一.层次分析模型建立部分 下面我们看一道引出层次分析得例题,如下所 ...

  5. 【数学建模】—— 层次分析法(AHP)

    层次分析法 The analytic hierarchy process (AHP) 建模比赛中最基础的算法之一,主要用于解决评价类的 解决评价类问题,首先要想到以下三个问题: 我们评价的目标是什么? ...

  6. (一)【数学建模】层次分析法

    文章目录 1. 评价类问题可用打分解决 (1)确定权重的方法(分而治之的思想): 1) 确定判断矩阵 2)计算权重 <1>算术平均法求权重 <2>几何平均法求权重 <3& ...

  7. dna序列分类数学建模matlab,数学建模常用的分析法及其MATLAB实现

    [toc] 介绍 本篇分别有主成分分析,层次分析,聚类分析,因子分析的简单介绍以及在MATLAB(2018a)上使用的简单介绍 ( 附源码 ) 主成分分析 主成分分析-百度百科 简单讲:主成分分析就是 ...

  8. 【数学建模】层次分析法

    层次分析法 引例 层次分析法介绍 成对比较阵和一致性检验 组合权向量 层次分析法步骤 代码实现 RI 一致性检验 层次单排序 计算组合权向量(层次总排序) 经典案例 代码实现 练习训练 参考文献 引例 ...

  9. 数学建模之层次分析法模型

    目录 问题 问题实例 问题分析 建立层次分析法模型 分析权重的方法 ​编辑 填表指标的权重​编辑 一致性检验 一致性检验的引入 一致性检验的步骤 计算判断矩阵 归一化处理 算术平均法求权重 几何平均法 ...

  10. 【数学建模】层次分析法(AHP)-Python实现

    1 前言 本文主要讲解层次分析法(AHP)的python实现,后续会跟进实例分析 2 代码实现 导入包 import numpy as np 2.1 构造判断矩阵 判断矩阵一般采用专家意见法,也就是德 ...

最新文章

  1. 看一下基于ASP.NET MVC的开源社区项目Orchard
  2. SSH基本简介及连接交互过程
  3. VanDyke.SecureCRT.v7.0.0.326官方英文版x86 x64 + Keymaker-ZWT
  4. python语音识别播放音乐_使用python语音识别播放和流式转录音频
  5. PHP中设置一个严格30分钟过期Session面试题的4种答案
  6. linux解压war包的命令
  7. [CQOI2015]选数(数论分块+杜教筛)
  8. 关于CSDN官方对博文点赞漏洞的处理(Cookie劫持攻击)
  9. Programming Protocol-independent Packet Processors (P4)
  10. Stackoverflow每日问题 系列前言
  11. 弹幕,是怎样练成的?
  12. sonarQube代码管理工具
  13. CSS颜色代码对照表
  14. java add用法
  15. 有益视力的食疗方法(转载)
  16. Guava 操作 集合
  17. ClickHouse 物化视图在微信的实战
  18. Java注解详解和自定义注解实战,用代码讲解
  19. Ubuntu系统搭建PPPoE服务器,Ubuntu上架设PPPoE Server
  20. mysql按工作日查询统计优化_工作日计算问题思路和实现

热门文章

  1. 开源BT磁力搜索引擎收集
  2. 2013Esri中国用户大会,show应用,赢大奖--获奖名单公布!
  3. 基于分布式光纤侦听技术的岛礁近岸防卫监测
  4. 德赛西威280b升级_车载导航刷机:德赛西威NAV280H固件升级
  5. mysql varbinary类型_mysql中varbinary、binary、char、varchar异同
  6. 今天给大家带来搜题公众号搭建教程(附赠搜题接口 还支持语音图片搜题)
  7. KeyMob移动广告聚合平台飙升您的移动广告收益
  8. 【Xamarin挖墙脚系列:mac 终端 常用命令+Mac OS X的快捷键+beamoff 】
  9. net.sf.json.JSONArray之fromObject的坑
  10. 宏碁 Aspire E1-471g黑苹果efi引导文件