MATLAB 之 优劣解距离法(TOPSIS )-2

简介: 1. TOPSIS 法的优点避免了数据的主观性,不需要目标函数,不用通过检验,而且能够很好的刻画多个影响指标的综合影响力度。对于数据分布及样本量、指标多少无严格限制,既适于小样本资料,也适于多评价单元、多指标的大系统,较为灵活、方便

四、TOPSIS 模型优缺点

1. TOPSIS 法的优点


避免了数据的主观性,不需要目标函数,不用通过检验,而且能够很好的刻画多个影响指标的综合影响力度。


对于数据分布及样本量、指标多少无严格限制,既适于小样本资料,也适于多评价单元、多指标的大系统,较为灵活、方便


2. TOPSIS 法的缺点

  • 需要的每个指标的数据,对应的量化指标选取会有一定难度。
  • 不确定指标的选取个数为多少适宜,才能够去很好刻画指标的影响力度。
  • 必须有两个以上的研究对象才可以进行使用


五、TOPSIS 模型优化


在 TOPSIS 当中,默认了各个评价指标所占的权重相同,但在实际的评价过程当中由于各种主观客观因素的影响,导致每一个评价指标所占的权重是有差异的。因此,对于 TOPSIS 模型的优化,可以从合理调整个评价指标所占权重入手。


1. 主观权重——层次分析法(AHP)

在此处只是简单介绍,详细介绍有时间的话会补充


  • 层次分析法是一个较为主观的评价方法,其在赋权得到权重向量时,主观因素占比很大。
  • 首先,分析系统中各因素之间的关系,建立系统的递阶层次结构。
  • 其次,对于同一层次的个元素关于上一层次中某一准则的重要性两两比较,构造两两比较矩阵(判断矩阵)。


  • 然后,由判断矩阵计算被比较元素对于该准则的相对权重,并进行 一致性检验(检验通过权重才能用)。
  • 最后,填充权重矩阵,根据矩阵计算得分,得出结果。


权重矩阵填充方法


79.png


  • 判断矩阵实际情况下都是专家填的,但是很多时候大都是我们自己填的,最好有一些理论的依据支撑。
  • 判断矩阵当中,a[i][j] 表示:与指标 j 相比,i 的重要程度。


1.1 权重求解方法

(1) 算术平均法求权重


  • 将判断矩阵按照列归一化。
  • 将归一化的列相加(按行求和)。
  • 将相加后得到的向量中的每个元素除以 n 即可得到权重向量。71a9761974f24d2290452b2f2c010b07.png


(2) 几何平均法求权重


  • 将A的元素按照行相乘得到一个新的列向量。
  • 将新的向量的每个分量开n次方。
  • 对该列向量进行归一化即可得到权重向量。d9d7da17a1b946559d6b3c60930477f4.png

(3) 特征值法求权重


一致矩阵有一个特征值为 n,其余特征值均为 0。另外,我们很容易可以得到,特征值为 n 时,对应的特征向量刚好为:

e15ddb83246948f88643cb0ea5028163.png

在实际过程中建议综合三种方法求得的权重得到一个综合的权重向量更具有说服力。


2. 客观权重——熵权法


  • 熵权法就是根据一项指标的变化程度来分配权重的。
  • 第一步:判断输入的矩阵中是否存在负数,如果有则要重新标准化到非负区间(后面计算概率时需要保证每一个元素为非负数)。


  • 第二步:计算第 j 项指标下第 i 个样本所占的比重,并将其看作相对熵计算中用到的概率。
  • 第三步:计算每个指标的信息熵,并计算信息效用值,并归一化得到每个指标的熵权。



(1) 第一步

  • 假设有 n 个要评价的对象,m 个评价指标(已经正向化了)构成的正向化矩阵如下:

b6d5ed7e9a94416dafea3b40df9d33c5.png



设标准化矩阵为 Z ,Z 中元素记为 zij

c09faa8e04ea4f7385be3e0e29aa76c2.png


判断 Z 矩阵中是否存在着负数,如果存在的话,需要对 X 使用另一种标准化方法对矩阵 X 进行一次标准化得到 Z 矩阵,其标准化的公式为:

2e68fe9984a54b66a001a7ee71113ce2.png


  • 这样可以保证 zij 在 [0,1] 区间,没有负数。

(2) 第二步

  • 假设有 n 个要评价的对象,m 个评价指标,且经过了上一步处理得到的非负矩阵为:


d8f8333470a9464691eaa468a48a6304.png

计算概率矩阵 P ,其中 P 中每一个元素 Pij 的计算公式如下:


ccb8d2e080d241e2be0073b55a4b9ba7.png

  • 保证每一列的加和为 1 ,即每个指标所对应的概率和为 1 。

(3) 第三步

  • 对于第 j 个指标而言,其信息嫡的计算公式为:

4fdd773e51c3420081eab8e3bc8a43df.png


3. 优化结果


在各个对象与最大值、最小值之间的距离公式转变为:


abdfa69601044b0f9a0abc6b40bc8c14.png

相关文章
MATLAB 之 优劣解距离法(TOPSIS )-1
TOPSIS 是一种常用的综合评价方法,可以充分利用 原始数据 的信息,其结果可以精确地反映各评价方案之间的差距。
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
162 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
3月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
116 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
3月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
84 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
6月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
6月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
6月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
6月前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
|
6月前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)