topsis法_TOPSIS(逼近理想解)算法原理详解与代码实现

更新时间:2023-06-01 13:00:40 阅读: 评论:0

topsis法_TOPSIS(逼近理想解)算法原理详解与代码实现
写在前⾯:
个⼈理解:针对存在多项指标,多个⽅案的⽅案评价分析⽅法,也就是根据已存在的⼀份数据,判断数
据中各个⽅案的优劣。中⼼思想是⾸先确定各项指标的最优理想值(正理想值)和最劣理想值(负理想解),所谓正理想值是⼀设想的最好值(⽅案),它的的各个属性值都达到各候选⽅案中最好的值,⽽负理想解是另⼀设想的最坏的值(⽅案),然后求出各个⽅案与正理想值和负理想值之间的加权欧⽒距离,由此得出各⽅案与最优⽅案的接近程度,作为评价⽅案的优劣标准,最后得到各个⽅案的优劣值。
⽬录
⼀、TOPSIS算法
1.1 TOPSIS算法的原理
1.2 TOPSIS算法的实现加藤登纪子>贸易差额
⼆、数据预处理
2.1 数据正向化处理
2.1.1对于极⼩型指标的正向化处理
2.1.2 对于中间型指标的正向化处理
2.1.3对于区间型指标的正向化处理
2.2数据标准化处理
三、TOPSIS算法实现
3.1最优解与最劣解计算
3.2 TOPSIS评分计算
四、TOPSIS算法总结
4.1 TOPSIS算法实现步骤
五、TOPSIS算法⽰例与扩展
5.1 TOPSIS算法⽰例
5.2 TOPSIS算法扩展
六、程序源码
如有专业问题或者需要仿真可以点下⾯付费咨询链接。
知乎⽤户w
整式的乘法与因式分解⼀、TOPSIS算法
1.1 TOPSIS算法的原理
TOPSIS法(Technique for Order Preference by Similarity to Ideal Solution)可翻译为逼近理想解排序法,国内常简称为优劣解距离法TOPSIS 法是⼀种常⽤的综合评价⽅法
综合评价⽅法,其能充分利⽤原始数据的信息,其结果能精确地反映各评价⽅案之间的差距。
为了对众多⽅案给出⼀个排序,在给出所有⽅案之后,可以根据这些数据,构造出⼀个所有⽅案组成的系统中的理想最优解和最劣解。⽽
综合距离。如果⼀个⽅案距离理想最优解TOPSIS的想法就是,通过⼀定的计算,评估⽅案系统中任何⼀个⽅案距离理想最优解和最劣解的综合距离
越近,距离最劣解越远,我们就有理由认为这个⽅案更好。那理想最优解和最劣解⼜是什么呢?很简
单,理想最优解就是该理想最优⽅案的各指标值都取到系统中评价指标的最优值,最劣解就是该理想最劣⽅案的各指标值都取到系统中评价指标的最劣值。生日礼物祝福语
理想最优解中的数据都是各⽅案中的数据,⽽不要选择⽅案中没有的数据,理想最劣解同理。
如何衡量某⼀个⽅案与理想最优解和最劣解的综合距离呢?
TOPSIS基本思想是⽤下⾯这个表达式进⾏衡量:
可以发现,如果⽅案取到了理想最优解,其表达式取值为1;如果⽅案取到了理想最劣解,其表达式取值为0。我们便可以⽤这个表达式来衡量系统中某⼀个⽅案距离理想最优解和最劣解的综合距离,也直接⽤它给⽅案进⾏打分。
当然这个公式只是⼀个基本的思路,实际上,为了更准确与合理,会对该公式进⾏优化。
致橡树教案
1.2 TOPSIS算法的实现
在了解TOPSIS算法的基本思想后就是对相应参数的计算了,从上⾯的描述可以知道,除了要对该公式进⾏改进之外,因为涉及到数据之间的⽐较,还需要对⽅案数据进⾏处理,消除量纲以及范围太⼤带来的⼀系列问题。
⼆、数据预处理
2.1 数据正向化处理
在处理数据时,有些指标的数据越⼤越好,有些则是越⼩越好,有些⼜是中间某个值或者某段区间最好。我们可以对其进⾏“正向化处理”,使指标都可以像考试分数那样,越⼤越好。
将指标分为四类,如下表所⽰。
四类指标类型
全部转化为极⼤型指标数据,这样我们计算时问题就少⼀点,码代码时也更加统正向化处理,就是将上述的四种指标数据进⾏处理,将其全部转化为极⼤型指标数据愚公移山教学反思
⼀。
2.1.1 对于极⼩型指标的正向化处理
例如费⽤,我们可以⽤
将其转化为极⼤型,如果所有元素都为正数,也可以使⽤
2.1.2 对于中间型指标的正向化处理
如果其最佳数值是
,我们可以取
,之后按照
转化。
PH值正向化处理
2.1.3 对于区间型指标的正向化处理
对于区间型指标,如果其最佳区间是[a,b],我们取
,之后按照
转化,⽰例如下。
区间型指标正向化处理
⾄此,已将所有的数据都转化为极⼤型数据了。
2.2 数据标准化处理
为了消除不同的数据指标量纲的影响,我们还有必要对已经正向化的矩阵进⾏标准化。在概率统计中,标准化的⽅法⼀般是
,不过这⾥我们不采⽤。记标准化后的矩阵为Z,其中
,也就是
对数据进⾏了相应的处理后,可以⽤向量
来表达第i个⽅案。假设有n个待评价的⽅案,m个指标,此时
。由这n个向量构成的矩阵也就是我们的标准化矩阵Z了。
经过了正向化处理和标准化处理的评分矩阵Z,⾥⾯的数据全部是极⼤型数据。
三、TOPSIS算法实现
3.1 最优解与最劣解计算
经过了正向化处理和标准化处理的评分矩阵Z,⾥⾯的数据全部是极⼤型数据。我们就可以从中取出理想最优解和最劣解。因此我们取出每个指标,即每⼀列中最⼤的数,构成理想最优解向量,即
同理,取每⼀列中最⼩的数计算理想最劣解向量:
就是
就是
在得到理想最优解和理想最劣解的基础上就能计算每个⽅案的评分了。根据上⾯的距离评分公式:
对其进⾏变型,也就是:
变型的⽬的是为了使⽤欧⼏⾥得距离来衡量两个⽅案的距离,变形前后分母的计算结果其实是不同的(因为这⾥zi是⼀个向量)。这样更能体现出是综合距离。否则所有⽅案计算得分时分母都是相同的,相当于只衡量了分⼦,也就是距离最劣解的距离。
3.2 TOPSIS评分计算
于是计算距离评分:
对于第i个⽅案zi,我们计算它与最优解的距离:
与最劣解的距离:
定义第i个⽅案的评分为Si:
也就是前⾯提到的综合距离。
,且
越⼩,也就是该⽅案与最优解的距离越⼩时,
越⼤
越⼤;相应的,
越⼩,也就是该⽅案与最劣解的距离越⼩时,
越⼩。 为同时兼顾了该⽅案与最优解与最劣解的距离的评分。
越⼩
这个时候我们就有了每个⽅案的分数了,按分数排排序,就知道哪个⽅案⽐较好哪个⽅案⽐较差。
四、TOPSIS算法总结
4.1 TOPSIS算法实现步骤
减肥标语
1.将原始数据矩阵正向化。也就是将那些极⼩性指标,中间型指标,区间型指标对应的数据全部化成极⼤型指标,⽅便统⼀计算和处理。
2.将正向化后的矩阵标准化。也就是通过标准化消除量纲的影响。
3.计算每个⽅案各⾃与最优解和最劣解的距离:
与最优解的距离:
与最劣解的距离:
4.根据最优解与最劣解计算得分并排序
五、TOPSIS算法⽰例
5.1 TOPSIS算法⽰例
对⼀个需要根据学⽣智商和情商进⾏排名的数据:原始数据矩阵如下
对其进⾏正向化:
对其进⾏标准化:
计算与最优解和最劣解的距离:高中学习

本文发布于:2023-06-01 13:00:40,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/961444.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:理想   指标   数据   距离   处理   算法
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图