TOPSIS的介绍
-
利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。
-
层次分析法的局限性
- 评价的决策层不能太多,否则n很大,判断矩阵和一致矩阵差异可能会很大 (平均随机一致性指标RI的表格中n最多是15)。
TOPSIS步骤
1.将原始矩阵正向化 ( 指标正向化 )
- 将所有的指标类型统一转化为某个相同的指标。
- 常用:将所有的指标转化为极大型
- 注意:正向化的公式不唯一,也可以结合自己的数据进行适当修改
常见的四种指标
- 极大型指标(效益型指标):越高(大)越好。
- 如:成绩指标、GDP增速、企业利润
- 极小型指标(成本型指标):越少(越小)越好
- 如:费用、坏品率、污染程度
- 中间型指标:越接近某个值越好
- 如:水质量评估时的PH值
- 区间型指标:落在某个区间最好
- 如:体温、水中植物性营养物量
极小型指标 ⇒ 极大型指标
- 公式①:max-x(√ 推荐使用)
- 公式②:1/x(要求所有的元素均为正数)
中间型指标 ⇒ 极大型指标
- 公式:
- 示例:
区间型指标 ⇒ 极大型指标
- 公式:
- 示例:
- 36.6属于最佳区间[36,37]内,故正向化转换后数值为1;
- 其余越接近这个范围,分数越高.
2.正向化矩阵标准化
- 标准化的目的: 消除不同指标量纲的影响。
- 注意:标准化的方法有很多种,其他例如 (x‐x的均值)/x的标准差;
- 具体选用哪一种标准化的方法在多数情况下并没有很大的限制,这里采用的是前人的论文中用的比较多的一种标准化.
- 标准化的操作:
3.计算得分并归一化
-
公式:
-
区分归一化和标准化:
- 归一化的计算步骤也可以消去量纲的影响;
- 但更多时候,进行归一化的目的是为了让结果更容易解释(或者说让我们对结果有一个更加清晰直观的印象) ⇒ 例如将得分归一化后可限制在0‐1这个区间,对于区间内的每一个得分,能很容易得到其所处的比例位置
-
不足:没有考虑指标的权重(后面的内容会考虑指标的权重来进行计算)。
具体示例
- 根据成绩,对四名同学评分,使得评分能合理描述成绩高低。
-
思路:
-
不足:只要保证排名不变,即使修改成绩,评分也不变 ⇒ 即评分无法体现完全的成绩数据信息
-
优化: 最高成绩max=99;最低成绩min=60; ⇒ 构造计算评分的公式:(x-min)/(max-min)
-
为什么不设置“ 卷面最高成绩 : 100;卷面最低成绩 : 0 ”呢?
- ①比较的对象一般要远大于两个。(例如比较一个班级的成绩)
- ②比较的指标也往往不只是一个方面的,例如成绩、工时数、课外竞赛得分等。
- ③有很多指标不存在理论上的最大值和最小值,例如衡量经济增长水平的指标:GDP增速。
-
拓展:增加指标个数
-
如上例中,新增加了一个指标,现在要综合评价四位同学,并为他们进行评分。
-
【步骤一】 处理评分因素指标不同的方式:统一指标类型。
- 极小型指标 ⇒ 为极大型指标的公式:max-x
- 处理后:
- 但成绩和争吵次数不能简单地相加而论,故要先标准化处理。
-
【步骤二】 标准化处理:为了消去不同指标量纲的影响,对已经正向化的矩阵进行标准化处理。
- 标准化处理计算公式:
-
【步骤三】 计算得分:
- 只有一项指标计算得分:
- 有多项指标计算得分:
- 优劣解距离法:“优”表和最大值的距离;“劣”表和最小值的距离。
- 优劣解距离法:“优”表和最大值的距离;“劣”表和最小值的距离。
-
-
课后练习题
题目: 评价下表中20条河流的水质情况。
- 注:含氧量越高越好;PH值越接近7越好;细菌总数越少越好;植物性营养物量介于10‐20之间最佳,超过20或低于10均不好。
分析
- 采用代码完成正向化、标准化后的矩阵,由于结果比较大,所以可以把处理后矩阵放入附录中
步骤一:指标正向化
- 由于:
- 含氧量越高越好:极大型指标(效益型指标)
- PH值越接近7越好:中间型指标
- 细菌总数越少越好:极小型指标(成本型指标)
- 植物性营养物量介于10‐20之间最佳,超过20或低于10均不好:区间型指标
- 故:第一步先将四个指标全转化为极大型
步骤二:标准化消除量纲
步骤三:计算得分
模型拓展:带权重指标
- 上面样例中默认成绩和争吵次数两项指标的权重是相同的:
- 但有可能成绩占评分权重四成,争吵次数占六成,此时就需要在第三步计算得分中加入权重考虑
- 权重如何确定呢?
- ① 层次分析法(主观性太强了)
- ② 熵权法(客观赋值)⇒ 推荐√
- 熵权法的介绍在番外篇(正课最后一节:基于熵权法对Topsis模型的修正)
附言
- 参考课程可见 B站清风数模,如上仅作个人学习后笔记整理。