【数学建模笔记】评价模型-基于熵权法的TOPSIS模型

视频课地址:https://www.bilibili.com/video/BV1eRyVYUEhg

本系列文章和课程一样,只使用Python实现,好久没玩数学建模了

国赛中不能再用TOPSIS,可以做辅助算法。

1. 算法原理

熵权TOPSIS方法是一种结合熵权法和TOPSIS的决策分析模型。

  1. 首先使用熵权法确定各指标的权重;
  2. 然后采用TOPSIS方法对备选防范进行评价和排序。

(可以把TOPSIS换成别的评价方法,或者赋权重方法换成不是熵权法的方法,比如随机森林,也可以在TOPSIS之前聚个类)

1.1 熵权法(Entropy Weight Method)

熵权法基于信息熵理论,用于计算决策指标的权重。信息是可以反映指标值分布的均匀性,信息熵越大,指标值的分布越均匀,其所含信息越少,相应的权重也越小。

1.1.1 标准化处理

设有 m m m个评价对象, n n n个评价指标。原始数据矩阵为 X = x i j \boldsymbol{X}=x_{ij} X=xij,其中 x i j x_{ij} xij表示第 i i i个评价对象在第 j j j个指标上的表现,标准化后的数据矩阵 R = r i j \boldsymbol{R}=r_{ij} R=rij可通过以下公式得到:
r i j = x i j ∑ i = 1 m x i j 2 r_{i j}=\frac{x_{i j}}{\sqrt{\sum\limits_{i=1}^{m} x_{i j}^{2}}} rij=i=1∑mxij2 xij

需要统一量纲,进行标准化处理,要不然算法不容易收敛。

1.1.2 计算熵值 e j e_j ej

  • p i j = r i j ∑ i = 1 m r i j p_{i j}=\frac{r_{i j}}{\sum\limits_{i=1}^{m} r_{i j}} pij=i=1∑mrijrij
  • e j = − k ∑ i = 1 m p i j log ⁡ ( p i j ) e_{j}=-k \sum\limits_{i=1}^{m} p_{i j} \log \left(p_{i j}\right) ej=−ki=1∑mpijlog(pij),其中 k = 1 log ⁡ m k=\frac{1}{\log m} k=logm1,如果 p i j = 0 p_{ij}=0 pij=0,则 p i j log ⁡ ( p i j ) = 0 p_{ij}\log(p_{ij})=0 pijlog(pij)=0.

1.1.3 计算权重 w j w_j wj

  • d j = 1 − e j d_j=1-e_j dj=1−ej
  • 求出权重 w j = d j ∑ j = 1 n d j w_{j}=\frac{d_{j}}{\sum\limits_{j=1}^{n} d_{j}} wj=j=1∑ndjdj

1.2 TOPSIS方法

TOPSIS是一种基于距离的方法,用于评估和选择最佳方案。方法是通过计算每个方案与理想最优解(正理想解)和最差解(负理想解)的距离来进行排序。

1.2.1 计算加权标准化决策矩阵

计算加权标准化决策矩阵 V = v i j \boldsymbol{V}=v_{ij} V=vij: v i j = w j ⋅ r i j v_{i j}=w_{j} \cdot r_{i j} vij=wj⋅rij.

1.2.2 确定正理想解 A + \boldsymbol{A}^{+} A+和负理想解 A − \boldsymbol{A}^{-} A−

正理想解是解中更好的部分,负理想解是解中更差的部分。
A + = ( max ⁡ i ≤ m v i j ,对于利益型指标; min ⁡ i ≤ m v i j ,对于成本型指标 ) A − = ( min ⁡ i ≤ m v i j ,对于利益型指标; max ⁡ i ≤ m v i j ,对于成本型指标 ) A^{+}=\left(\max {i \leq m} v{i j}\right. ,对于利益型指标; \min {i \leq m} v{i j} ,对于成本型指标 ) \\ A^{-}=\left(\min {i \leq m} v{i j}\right. ,对于利益型指标; \max {i \leq m} v{i j} ,对于成本型指标 ) A+=(i≤mmaxvij,对于利益型指标;i≤mminvij,对于成本型指标)A−=(i≤mminvij,对于利益型指标;i≤mmaxvij,对于成本型指标)

算法的终极目的是越靠近好的越远离差的。利益型指标是越大越好,成本型指标是越小越好。不一定非要利益型或者成本型,有时候要选择没有波动性值......可以在这儿改进。

1.2.3 计算方案与正负理想解的距离

  • S i + = ∑ j = 1 n ( v i j − A j + ) 2 S_{i}^{+}=\sqrt{\sum\limits_{j=1}^{n}\left(v_{i j}-A_{j}^{+}\right)^{2}} Si+=j=1∑n(vij−Aj+)2 ;
  • S i − = ∑ j = 1 n ( v i j − A j − ) 2 S_{i}^{-}=\sqrt{\sum\limits_{j=1}^{n}\left(v_{i j}-A_{j}^{-}\right)^{2}} Si−=j=1∑n(vij−Aj−)2 .

算的是和最高分有多接近,与最低分有多接近,这也就是正负理想解的距离。

1.2.4 计算相似度 C i C_i Ci

C i = S i − S i + + S i − C_{i}=\frac{S_{i}^{-}}{S_{i}^{+}+S_{i}^{-}} Ci=Si++Si−Si−

方案按 C i C_i Ci值降序排序, C i C_i Ci值越大,方案越优。

1.3 实例说明

多个指标可以进行降维



相关推荐
蒸蒸yyyyzwd1 小时前
cpp选手备战后端学习笔记day6 秋招笔试题
笔记·学习
DeviceHub3 小时前
硬件工程师选型笔记:ALPS SKPMAPE010 与 Tonevee TS-3025 贴片轻触开关 PIN TO PIN 评估指南
笔记
疯狂打码的少年5 小时前
【数据结构】二叉树的性质(五大性质+计算)
数据结构·笔记·算法
Capricorn19886 小时前
知芽研究问题看板无法推进?从孵化区到笔记的机制排查指南
大数据·论文阅读·人工智能·笔记·学习方法·论文笔记
闪闪发亮的小星星6 小时前
相机脱靶量VS精跟踪精度
笔记
皖山文武6 小时前
逻辑代数基础学习笔记--概述
笔记·学习·机器学习
demodeom10 小时前
Win11 + RTX 5080 本地 Coding 模型测试笔记(已弃坑)
笔记
青山是哪个青山10 小时前
LangChain 学习笔记(五):Tools 工具调用
笔记·学习·langchain
peijiping10 小时前
Agent 工具执行:并行(parallel_tool_calls)和后台(run_in_background)到底有什么区别? (学习笔记)
笔记·学习·ai agent·claude code
Oll Correct10 小时前
Adobe illustrator 案例四:吃豆人 (Pac-Man)图标绘制
笔记·ui·adobe·illustrator