目录
一.前言
1.什么时候要用Topsis?
求解评价类问题时会用到topsis法,且题干以给出相关数据。
2.topsis与层次分析法的区别?
当决策层数据过多时,用层次分析法会特别麻烦。
层次分析法不可以利用题干给出的决策层相关数据,而topsis可以。
3.topsis的概念是什么?
先看一下百度百科的解释:
TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution )法是C.L.Hwang和K.Yoon于1981年首次提出,TOPSIS法根据有限个评价对象与理想化目标的接近程度进行排序的方法,是在现有的对象中进行相对优劣的评价。
TOPSIS的中文名为:优劣解距离法 ,从其名可得两个重要信息:优劣解、距离。
那么topsis算法的核心正是这两点,举个例子:
NBA要对5名球星:科比、詹姆斯、哈登、巴特勒、杜兰特进行综合实力评估。评估的指标体系是:三分命中率 罚球命中率 场均助攻数 场均失误数 场均得分数 。即用这5个指标来综合评估球员实力,虚拟数据如下:
如表所示,场均得分数该列指标有5个数据,最优解为:36,最劣解:21,若要利用topsis法对球员的场均得分数这一指标进行评分,评分的依据是:得分数距离最优解36越近,则打分越高,距离最劣解21越近,则打分越低。所以詹姆斯的评分应最高,杜兰特则最低。在此处只是简单解释topsis的原理,具体实现步骤后文会详细阐明。
二.实现步骤
假设有n个要评价的对象,m个评价指标构成的矩阵如下:
2.1 正向化评价矩阵X
对常见4种指标的说明如下表所示:
我们的评价矩阵X中的各指标可能不同属于一个指标类型,例如上面的球员数据表,场均得分数为正向(极大型)指标,场均失误数为负向(级小型)指标,那我们需要将不同类型的指标统一为正向(极大型)指标,对于不同类型的指标,对其正向化的方法不同。
- 极小型指标 -- >极大型指标
- max-x或者1/x(无负数时)
- 中间型指标 -->极大型指标
- 公式
- 公式
- 区间型指标--极大型指标 直接看清风老师的课件,如下图所示:
2.2标准化矩阵
通过上一步的处理,我们得到了矩阵Z
现在对经过正向化处理的矩阵Z进行标准化:每个元素除以该元素所在列的和。
标准化的目的:消除各指标量纲的影响
2.3计算得分且归一化
思路:求出各列元素的优、劣解,然后计算各元素与之的距离,然后代入公式求得分。
先求出各列元素的优、劣解
定义最优解(最大值)为:
定义最劣解(最小值)为:
分别定义第个评价对象与最大、小值的距离为:
此时我们以求出各评价对象距离优劣解的距离,接下来利用公式来求得分
显然是属于【0,1】的,因为两个距离都为正值,并且可以看出距离最优值越近,则
越小,
越大,这也正符合我们之前的分析。
接下来对归一化:
,此时各得分之和等于1.
现在我们就求出了各个评价对象的评分!
三.说明
(1)比较的对象一般要远大于两个。(例如比较一个班级的成绩)
(2)比较的指标也往往不只是一个方面的,例如成绩、工时数、课外竞赛得分等。
(3)有很多指标不存在理论上的最大值和最小值,例如衡量经济增长水平的指标: GDP增速。 所以优劣解不取理论值,而在样本范围内找max min.