数学建模系列---Topsis优劣解距离法

目录

一.前言

二.实现步骤

2.1 正向化评价矩阵X

2.2标准化矩阵

2.3计算得分且归一化

三.说明


一.前言


    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进行标准化:每个元素除以该元素所在列的和。

z_{i j}=x_{i j} / \sqrt{\sum_{i=1}^{n} x_{i j}^{2}}

标准化的目的:消除各指标量纲的影响

2.3计算得分且归一化

思路:求出各列元素的优、劣解,然后计算各元素与之的距离,然后代入公式求得分。

先求出各列元素的优、劣解

定义最优解(最大值)为:

Z^{+}=\left(Z_{1}^{+}, Z_{2}^{+}, \cdots, Z_{m}^{+}\right)=\left(\max \left\{z_{11}, z_{21}, \cdots, z_{n 1}\right\}, \max \left\{z_{12}, z_{22}, \cdots, z_{n 2}\right\}, \cdots, \max \left\{z_{1 m}, z_{2 m}, \cdots, z_{m m}\right\}\right)

定义最劣解(最小值)为:

Z^{-}=\left(Z_{1}^{-}, Z_{2}^{-}, \cdots, Z_{m}^{-}\right)=\left(\min \left\{z_{11}, z_{21}, \cdots, z_{n 1}\right\}, \min \left\{z_{12}, z_{22}, \cdots, z_{n 2}\right\}, \cdots, \min \left\{z_{1 m}, z_{2 m}, \cdots, z_{n m}\right\}\right)

分别定义第i(i=1,2, \cdots, n)个评价对象与最大、小值的距离为:

                                 D_{i}^{+}=\sqrt{\sum_{j=1}^{m}\left(Z_{j}^{+}-z_{i j}\right)^{2}}                                D_{i}^{-}=\sqrt{\sum_{j=1}^{m}\left(Z_{j}^{-}-z_{i j}\right)^{2}}

此时我们以求出各评价对象距离优劣解的距离,接下来利用公式来求得分S_{i}

S_{i}=\frac{D_{i}^{-}}{D_{i}^{+}+D_{i}^{-}}

显然S_{i}是属于【0,1】的,因为两个距离都为正值,并且可以看出距离最优值越近,则D_{i}^{+}越小,S_{i}越大,这也正符合我们之前的分析。

接下来对S_{i}归一化:\tilde{S}_{i}=S_{i} / \sum^{n} S_{i},此时各得分之和等于1.

现在我们就求出了各个评价对象的评分!

三.说明

(1)比较的对象一般要远大于两个。(例如比较一个班级的成绩)

(2)比较的指标也往往不只是一个方面的,例如成绩、工时数、课外竞赛得分等。

(3)有很多指标不存在理论上的最大值和最小值,例如衡量经济增长水平的指标: GDP增速。 所以优劣解不取理论值,而在样本范围内找max min.

                

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值