- TOPSIS法可翻译为逼近理想解排序法,国内简称优劣解距离法
- 一种综合评价方法,充分利用原始数据的信息,精确地反应各评价方案之间的差距
层次分析法的局限性
- 评价的决策层不能太多
- 如果决策层数据已知,那么如何利用数据来使得评价更加准确?
TOPSIS法
栗子一:
- 构造计算评分的公式:
姓名 |
成绩 |
未归一化的评分 |
归一化评分 |
小明 |
89 |
(89-60)/(99-60)=0.74 |
0.74/2.1=0.35 |
小王 |
60 |
0 |
0 |
小张 |
74 |
0.36 |
0.17 |
小圆 |
99 |
1 |
0.48 |
栗子二
新增加一个指标
- 成绩越高越好,这样的指标称为 极大型指标(效应型指标)
- 争吵次数越少越好,称为极小型指标(成本型指标)
指标正向化
- 将所有指标转化为极大型指标
- 较小型转极大型: max-x
标准化处理
姓名 |
成绩 |
正向化争吵次数 |
小明 |
89 |
1 |
小王 |
60 |
3 |
小张 |
74 |
2 |
小圆 |
99 |
0 |
指标类型 |
极大型 |
极大型 |
标准化处理计算公式

多个指标计算得分


姓名 |
成绩 |
正向化后争吵次数 |
小明 |
0.5437 |
0.2673 |
小王 |
0.3665 |
0.8018 |
小张 |
0.4521 |
0.5345 |
小圆 |
0.6048 |
0 |

姓名 |
D+ |
D- |
未归一化得分 |
归一化后得分 |
排名 |
小明 |
0.5380 |
0.3206 |
0.3734 |
0.1857 |
3 |
小王 |
… |
|
|
|
|
小张 |
… |
|
|
|
|
小圆 |
… |
|
|
|
|
介绍

题解总结
第一步:将原始矩阵正向化
指标名称 |
指标特点 |
例子 |
极大型(效益性)指标 |
越大越好 |
成绩、GDP、企业利润 |
集小型(成本型)指标 |
越小(少)好 |
费用、坏频率、污染程度 |
中间型指标 |
接近某个值越好 |
水质量评估PH |
区间型指标 |
落在某个区间最好 |
体温、水中植物性营养物量 |
极小型 --> 极大型指标

中间型 --> 极大型

区间型 --> 极大型指标

第二步:正向化矩阵标准化

第三步:计算得分并归一化
代码新知识
- load 函数
- magic()幻方矩阵
- sort()函数
- zeros 、onse ()函数
% A = magic(5) % 幻方矩阵
% M = magic(n)返回由1到n^2的整数构成并且总行数和总列数相等的n×n矩阵。阶次n必须为大于或等于3的标量。
% sort(A)若A是向量不管是列还是行向量,默认都是对A进行升序排列。sort(A)是默认的升序,而sort(A,‘descend’)是降序排序。
% sort(A)若A是矩阵,默认对A的各列进行升序排列
% sort(A,dim)
% dim=1时等效sort(A)
% dim=2时表示对A中的各行元素升序排列
% A = [2,1,3,8]
% Matlab中给一维向量排序是使用sort函数:sort(A),排序是按升序进行的,其中A为待排序的向量;
% 若欲保留排列前的索引,则可用 [sA,index] = sort(A,‘descend’) ,排序后,sA是排序好的向量,index是向量sA中对A的索引。
% sA = 8 3 2 1
% index = 4 3 1 2