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 是一种常用的综合评价方法,可以充分利用 原始数据 的信息,其结果可以精确地反映各评价方案之间的差距。
|
1月前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
1月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
1月前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
1月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
1月前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)
|
1月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
1月前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
|
1月前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)

热门文章

最新文章