数学建模(2)topsis分析法

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

(这里要求的评分可以与层次分析法中的权重类比)
那么我们现在对四位同学得成绩排名,得到名次为2431,评分要求越大越好,因此成绩越好的同学排名应越大,所以对排名进行一个修正,修正后的名次为3124,用个人排名÷排名之和得到每人对应的评分。
数学建模(2)topsis分析法
但我们思考检验发现,当同学们的成绩大小发生改变而四人的排名保持不变的话,得出的总评分依旧不变,由此可见,得出的结果与成绩的相关性太弱。
那我们又想到另一种方法:找出四人中成绩的最高分和最低分,按照公式[(x-min)÷(max-min)]来计算评分,并对评分进行归一化,得到结果如下
数学建模(2)topsis分析法
到这里有人就会问了,理论上考试的最高成绩不应该是满分,而最低成绩为0吗?
主要原因有三个。第一,比较对象往往多于两个,此时采用第一种方法,只有数据两端的对象会感受到影响;第二,比较的指标往往是多方面的;第三,不是每种指标都有理论最大值和最小值的。因此选择上一种方式计算评分,公式如下图所示。
数学建模(2)topsis分析法
我们以上讨论的都是只有成绩一个指标时的情况,那么接下来增加指标个数,例题变为下图所示。两个指标分别体现对象的智商和情商。
数学建模(2)topsis分析法
介绍一个知识点:题中成绩越大越好,是为极大型指标,也称效益型指标;与他人争吵次数越小越好,是为极小型指标,也称成本型指标。
大型指标称为指标正向化,其中极小型变为极大型的公式为(max-x)。
成绩单位为分,吵架单位为次,两个指标量纲不同,要进行处理,为了消除不同量纲带来的影响,就要对已经正向化的矩阵进行标准化处理,任一列的一个数值÷该列数值平方之和的算数平方根,即可消去量纲。其公式如下:
数学建模(2)topsis分析法

只有成绩一个指标时,评分的公式为[(x-min)÷(max-min)],经过
得出
数学建模(2)topsis分析法
数学建模(2)topsis分析法
类比一个指标计算得分,最大值和最小值分别为一个向量矩阵,从每列中找出最大值和最小值,分别组成矩阵,用Z+,Z-表示。
可以把矩阵看做m维坐标系的向量坐标,类比空间坐标距离公式得到:
数学建模(2)topsis分析法
根据评分公式
得到得分公式(未归一化),S=D- ÷(D++D-),故S属于(0,1),S越大,对象的评价越好。
数学建模(2)topsis分析法
之后对计算得出的的得分进行归一化,并进行排名,根据排名即可选出对象的优劣程度。
由此可以得出,TOPSIS法的基本步骤为:先将原始数据矩阵统一指标类型(一般正向化处理)得到正向化的矩阵,
再对正向化的矩阵进行标准化处理以消除各指标量纲的影响,并找到有限方案中的最优方案和最劣方案,
然后分别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。
该方法对数据分布及样本含量没有严格限制,数据计算简单易行。
下面对该方法步骤详细介绍:
第一步:将原始矩阵正向化
最常见的四种指标:极大型(效益型)指标,越大(多) 越好,例如成绩、GDP增速、企业利润;极小型(成本型)指标,越小(少)越好,例如费用、坏品率、污染程度;中间型指标,越接近某个值越好,例如水质量评估时的PH值;区间型指标,落在某个区间最好例如体温、 水中植物性营养物量。
所谓的将原始矩阵正向化,就是要将所有的指标类型统一转化为极大型指标。(转换的 函数形式可以不唯一哦~ )
极小型指标转换为极大型指标
max -x,如果所有的元素均为正数,那么也可以使用1÷x,不过基本常用第一种转换公式。
中间型指标转换为极大型指标
数学建模(2)topsis分析法
区间型指标转换为极大型指标(更正:下图中的{xi}为区间型指标序列,此图从ppt中截取,需更改)
数学建模(2)topsis分析法
第二步:正向化矩阵标准化
标准化是为了消除不同量纲带来的影响,公式之前已经提过,如下。标准化的方法不唯一,故得到的标准化矩阵也不唯一。
数学建模(2)topsis分析法
第三步:计算得分并归一化
得分的计算公式如下图红字部分,
数学建模(2)topsis分析法
要注意区别开归一化和标准化。归一化的计算步骤也可以消去量纲的影响,但更多时候,我们进行归一化的目的是为了让我们的结果更容易解释,或者说让我们对结果有一个更加清晰直观的印象。例如将得分归一化后可限制在(0,1)这个区间,对于区间内的每一个得分, 我们很容易的得到其所处的比例位置。
注意:这里还没有考虑指标的权重,默认了各指标的权重相等。
数学建模(2)topsis分析法
带权重的TOPSIS法:
确定权重的方法:层次分析法(主观性太强,不利于数据处理),熵权法(之后的视频会讲到)
数学建模(2)topsis分析法
接下来看一道练习题
数学建模(2)topsis分析法
根据题目中的介绍,我们可以得出含氧量属于极大型指标,PH值属于中间型指标,细菌总数属于极小型指标,营养物量属于区间型指标,首先利用公式将这三个指标转换为极大型指标,之后根据公式进行标准化,然后找出各指标的最大值最小值,分别组成向量,根据公式计算得分,并进行归一化,按照排名即可得出水质的优劣,大体思路就是这样了。本讲中出现的一些代码会在之后的视频里详细解释,大家可以去看看。
我本人就是一个0基础的小白,之前从没接触过数学建模,在B站上搜到了清风老师的视频,看了前几讲发现确实自己能够听懂,举的例子也很通俗易懂,如果有像我一样想学习学习建模的,可以来看看哦!那么以上我所学所讲及配图均来自于清风老师
获取清风老师的完整版课程可以微信搜索公众号????或b站搜索????数学建模学习交流
讲课详细内容丰富,对于数学建模学习与研究有很大的帮助。
数学建模(2)topsis分析法