数学建模(2)topsis分析法
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分析法相关推荐
- 数学建模之层次分析法AHP
层次分析法(Analytic Hierarchy Process,AHP)这是一种定性和定量相结合的.系统的.层次化的分析方法.这种方法的特点就是在对复杂决策问题的本质.影响因素及其内在关系等进行深入 ...
- 【数学建模】层次分析法AHP(评价与决策)
文章目录 一.算法介绍 二.适用问题 三.算法总结 1. 步骤 2. 如何构建层次结构模型 3. 如何构建成对比较矩阵 4. 如何进行一致性检验 四.应用场景举例(旅游问题) 1. 建模 2. 构造成 ...
- 病毒传播数学建模matlab分析,数学建模MATLAB之分析法(一)
[toc] 本篇分别有主成分分析,层次分析,聚类分析,因子分析的简单介绍以及在MATLAB(2018a)上使用的简单介绍 ( 附源码 ) 主成分分析 主成分分析-百度百科 简单讲:主成分分析就是取出几 ...
- 备战数学建模9-层次分析法模型
层次分析法,简称AHP,是建模比赛中最基础的模型之一,其主要用于解决评价类问题,例如:哪中方案更好?哪位运动员或者员工表现得更优秀? 一.层次分析模型建立部分 下面我们看一道引出层次分析得例题,如下所 ...
- 【数学建模】—— 层次分析法(AHP)
层次分析法 The analytic hierarchy process (AHP) 建模比赛中最基础的算法之一,主要用于解决评价类的 解决评价类问题,首先要想到以下三个问题: 我们评价的目标是什么? ...
- (一)【数学建模】层次分析法
文章目录 1. 评价类问题可用打分解决 (1)确定权重的方法(分而治之的思想): 1) 确定判断矩阵 2)计算权重 <1>算术平均法求权重 <2>几何平均法求权重 <3& ...
- dna序列分类数学建模matlab,数学建模常用的分析法及其MATLAB实现
[toc] 介绍 本篇分别有主成分分析,层次分析,聚类分析,因子分析的简单介绍以及在MATLAB(2018a)上使用的简单介绍 ( 附源码 ) 主成分分析 主成分分析-百度百科 简单讲:主成分分析就是 ...
- 【数学建模】层次分析法
层次分析法 引例 层次分析法介绍 成对比较阵和一致性检验 组合权向量 层次分析法步骤 代码实现 RI 一致性检验 层次单排序 计算组合权向量(层次总排序) 经典案例 代码实现 练习训练 参考文献 引例 ...
- 数学建模之层次分析法模型
目录 问题 问题实例 问题分析 建立层次分析法模型 分析权重的方法 编辑 填表指标的权重编辑 一致性检验 一致性检验的引入 一致性检验的步骤 计算判断矩阵 归一化处理 算术平均法求权重 几何平均法 ...
- 【数学建模】层次分析法(AHP)-Python实现
1 前言 本文主要讲解层次分析法(AHP)的python实现,后续会跟进实例分析 2 代码实现 导入包 import numpy as np 2.1 构造判断矩阵 判断矩阵一般采用专家意见法,也就是德 ...
最新文章
- 看一下基于ASP.NET MVC的开源社区项目Orchard
- SSH基本简介及连接交互过程
- VanDyke.SecureCRT.v7.0.0.326官方英文版x86 x64 + Keymaker-ZWT
- python语音识别播放音乐_使用python语音识别播放和流式转录音频
- PHP中设置一个严格30分钟过期Session面试题的4种答案
- linux解压war包的命令
- [CQOI2015]选数(数论分块+杜教筛)
- 关于CSDN官方对博文点赞漏洞的处理(Cookie劫持攻击)
- Programming Protocol-independent Packet Processors (P4)
- Stackoverflow每日问题 系列前言
- 弹幕,是怎样练成的?
- sonarQube代码管理工具
- CSS颜色代码对照表
- java add用法
- 有益视力的食疗方法(转载)
- Guava 操作 集合
- ClickHouse 物化视图在微信的实战
- Java注解详解和自定义注解实战,用代码讲解
- Ubuntu系统搭建PPPoE服务器,Ubuntu上架设PPPoE Server
- mysql按工作日查询统计优化_工作日计算问题思路和实现
热门文章
- 开源BT磁力搜索引擎收集
- 2013Esri中国用户大会,show应用,赢大奖--获奖名单公布!
- 基于分布式光纤侦听技术的岛礁近岸防卫监测
- 德赛西威280b升级_车载导航刷机:德赛西威NAV280H固件升级
- mysql varbinary类型_mysql中varbinary、binary、char、varchar异同
- 今天给大家带来搜题公众号搭建教程(附赠搜题接口 还支持语音图片搜题)
- KeyMob移动广告聚合平台飙升您的移动广告收益
- 【Xamarin挖墙脚系列:mac 终端 常用命令+Mac OS X的快捷键+beamoff 】
- net.sf.json.JSONArray之fromObject的坑
- 宏碁 Aspire E1-471g黑苹果efi引导文件