数学建模总结(三)——TOPSIS 优劣解距离法

目录

专栏文章

一、方法总结(背景综述)

二、例题分析

1.题目简介

2.题目分析

(1)原始矩阵

(2)正向化矩阵

(3)标准化矩阵

(4)归一化并计算得分

三、模型方法总结

1.使用条件

2.基本过程

3.具体分析

(1)原始矩阵正向化

(2)正向化矩阵标准化

 (3)计算得分并归一化

 (4)利用熵权法对有权重的TOPSIS模型的修正

<1>熵权法的原理:

<2>如何度量信息量的大小:

 <3>信息熵的定义:

<4>熵权法的计算步骤:


专栏文章

数学建模总结(一)——MATLAB快速入门

数学建模总结(二)——层次分析法的理解与运用

数学建模总结(三)——TOPSIS 优劣解距离法

一、方法简介(背景综述)

先来看看什么是TOPSIS:

TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution )模型中文叫做“逼近理想解排序方法”,通常也习惯被叫做优劣解距离法,是根据评价对象与理想化目标的接近程度进行排序的方法,是一种距离综合评价方法。基本思路是通过假定正、负理想解,测算各样本与正、负理想解的距离,得到其与理想方案的相对贴近度(即距离正理想解越近同时距离负理想解越远),进行各评价对象的优劣排序。

大家还记的上一篇文章中用到的方法吗?对,就是层次分析法!

在层次分析法的建模过程中,我们首先要建立评价体系,目标层,准则层,方案层,然后建立判断矩阵,求解一致性指标,然后再算权重,从而得出最终结果。但是在这个过程中也有诸多局限性:

  1. 在建立判断矩阵的时候,很多指标加进了不少主观性的判断,不能代表大部分人的想法。
  2. 评价的决策层不能太多,太多的话平均随机一致性指标RI表中的n会很大,判断矩阵和一致矩阵差异可能会很大。
  3. 当决策层的数据是已知的时候,就没法去主观填写判断矩阵了。

这时候,我们的TOPSIS 优劣解距离法就起到了作用,下面先看一道例题的分析,可以初步了解一下优劣解距离法和层次分析法的不同之处在哪里?

二、例题分析

1.题目简介

评价下表中20条河流的水质情况。

注:含氧量越高越好; PH值越接近7越好;细菌总数越少越好;植物性营养物量介于10‐20之间最佳,超过20或低于10均不好。

河流含氧量(ppm)PH值细菌总数(个/mL)植物性营养物量(ppm)
14.696.595111.94
22.037.86196.46
39.116.31468.91
48.617.054626.43
57.136.55023.57
62.396.773824.62
77.696.79386.01
89.36.812731.57
95.457.62518.46
106.197.27177.51
117.937.5396.52
124.47.281725.3
137.468.242314.42
142.015.554726.31
152.046.42317.91
167.736.145215.72
176.357.582529.46
188.298.413912.02
193.547.27543.16
207.446.26828.41

2.题目分析

 据题目要求,经分析可得,河流的水质为评价目标,有四个指标,含氧量(极大型指标)——越多越好,PH值(中间型指标)——越接近7越好,细菌总数(极小型指标)——越少越好,植物性营养物量(区间型指标)——在区间\left [ 10,20 \right ]最好。

(1)原始矩阵

4.696.595111.94
2.037.86196.46
9.116.31468.91
8.617.054626.43
7.136.55023.57
2.396.773824.62
7.696.79386.01
9.36.812731.57
5.457.62518.46
6.197.27177.51
7.937.5396.52
4.47.281725.3
7.468.242314.42
2.015.554726.31
2.046.42317.91
7.736.145215.72
6.357.582529.46
8.298.413912.02
3.547.27543.16
7.446.26828.41

分析可得2,3,4列需要进行正向化处理

(2)正向化矩阵

4.690.71724131
2.030.406897350.694036
9.110.52413880.905791
8.610.96551780.444252
7.130.65517240.691443
2.390.841379160.600691
7.690.855172160.655143
9.30.868966270
5.450.572414491
6.190.813793370.784788
7.930.634483450.699222
4.40.806897370.541919
7.460.144828311
2.01070.454624
2.040.586207311
7.730.40689721
6.350.6290.182368
8.290.027586151
3.540.81379300.408816
7.440.489655460.27312

正向化处理后的矩阵如上

(3)标准化矩阵

0.1621860.2482550.0245440.306458
0.07020.1408370.2863470.212693
0.3150350.1814170.0654510.277586
0.2977440.334190.0654510.136145
0.2465640.2267720.0327250.211898
0.0826490.2912230.1309020.184086
0.265930.2959970.1309020.200773
0.3216050.3007710.2208960
0.1884680.1981270.4008860.306458
0.2140580.2816740.302710.240504
0.2742290.219610.3681610.214282
0.1521570.2792870.302710.166075
0.2579760.0501280.2536220.306458
0.06950800.0572690.139323
0.0705460.2029010.2536220.306458
0.2673130.1408370.0163630.306458
0.2195910.2076750.2372590.055888
0.2866780.0095480.122720.306458
0.1224180.28167400.125285
0.2572840.1694820.3763420.0837

标准化处理的矩阵如上

(4)归一化并计算得分

排名序号得分
1110.070162
2100.068393
390.068074
4120.059093
5200.056466
670.053947
7150.053307
8130.052652
980.050998
1040.04882
1130.048497
1220.047799
13170.046574
1410.045058
1560.044838
16180.043844
17160.043359
1850.043113
19190.03581
20140.019196

三、模型方法总结

1.使用条件

和层次分析法比较类似,但是题目中不同的评价指标已经给了具体的数据,这时候就不需要我们去主观建立判断矩阵来进行求解了,而是去将数据进行进一步的处理来给出评价体系。

2.基本过程

  1. 将原始数据矩阵统一指标类型(一般正向化处理)得到正向化的矩阵。
  2. 对正向化的矩阵进行标准化处理以消除各指标量纲的影响,并找到有限方案中的最优方案和最劣方案。
  3. 分别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。

3.具体分析

(1)原始矩阵正向化

最常见的四种指标
指标名称指标特点例子
极大型(效益性)指标越大(多)越好成绩,GDP增速,企业利润
极小型(成本性)指标越小(少)越好费用,坏品率,污染程度
中间型指标越接近某个值越好水质量评估时的PH值
区间型指标落在某个区间最好体温,水中植物性的营养物量

所谓的将原始矩阵正向化,就是要将所有的指标类型统一转化为极大型指标。(转换公式不唯一)

  1. 极小型\rightarrow极大型:max-x\frac{1}{x}
  2. 中间型\rightarrow极大型:\begin{Bmatrix} x_{i} \end{Bmatrix}是一组中间型指标序列,且最佳的数值为x_{best},则正向化的公式为:M=max\left \{\left |x_{i}-x_{best} \right | \right \},\overset{z}{x_{i}}=1-\frac{|x_{i}-x_{best} |}{M}
  3. 区间型\rightarrow极大型:\begin{Bmatrix} x_{i} \end{Bmatrix}是一组中间型指标序列,且最佳的区间为\left [ a,b \right ],则正向化的公式为:M=max\left \{ a-min\left \{ x_{i} \right \} ,max\left \{ x_{i} \right \}-b\right \},\tilde{x_{i}}=\left\{\begin{matrix} 1-\frac{a-x_{i}}{M},x_{i}<a\\ 1,a\leq x_{i}\leq b\\ 1-\frac{x_{i}-b}{M},x_{i}>b \end{matrix}\right.

(2)正向化矩阵标准化

标准化的目的是消除不同指标量纲的影响。

标准化步骤

 (3)计算得分并归一化

归一化并不会影响排序的最终结果,且此时计算时默认权重是相同的。

 (4)利用熵权法对有权重的TOPSIS模型的修正

当这些评价指标占有权重时,我们就需要对模型进行修正了,我们在层次分析法中已经讲过了如何去填写权重,但是其主观性太强,因此这里讲一个新的方法——熵权法。

<1>熵权法的原理:

指标的变异程度越小(方差越小),所反映的信息量也越少,其对应的权值也应该越低。(客观= 数据本身就可以告诉我们权重)

举一个例子大家可能更好理解什么是信息量的多少:

小张和小王是两个高中生。小张学习很差,而小王是全校前几名的尖子生。高考结束后,小张和小王都考上了清华。小王考上了清华,大家都会觉得很正常,里面没什么信息量,因为学习好上清华,天经地义,本来就应该如此的事情。然鹅,如果是小张考上了清华,这就不一样了,这里面包含的信息量就非常大。怎么说?因为小张学习那么差,怎么会考上清华呢?把不可能的事情变成可能,这里面就有很多信息量。

注:本例子来自微信公众号:“小宇治水”

<2>如何度量信息量的大小:

如果把信息量用字母I表示,概率用p表示,那么我们可以将它们建立一个函数关系:

 <3>信息熵的定义:

大家在高中化学《化学反应原理》中学过熵的定义,简而言之就是不确定性,信息熵越高,不确定性越高,所包含的信息量越大,但是能给你提供的由有效信息就越少, 所以信息熵越大,信息量就越小。

<4>熵权法的计算步骤:
  1. 判断输入的矩阵中是否存在负数,如果有则要重新标准化到非负区间(后面计算概率时需要保证每一个元素为非负数)
  2. 计算第 j 项指标下第 i 个样本所占的比重,并将其看作相对熵计算中用到的概率
  3. 计算每个指标的信息熵,并计算信息效用值,并归一化得到每个指标的熵权


 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mentality瑞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值