【数学建模笔记】评价模型-基于熵权法的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=1mxij2 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=1mrijrij
  • 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=1mpijlog(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=1ej
  • 求出权重 w j = d j ∑ j = 1 n d j w_{j}=\frac{d_{j}}{\sum\limits_{j=1}^{n} d_{j}} wj=j=1ndjdj

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=wjrij.

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+=(immaxvij,对于利益型指标;imminvij,对于成本型指标)A=(imminvij,对于利益型指标;immaxvij,对于成本型指标)
算法的终极目的是越靠近好的越远离差的。利益型指标是越大越好,成本型指标是越小越好。不一定非要利益型或者成本型,有时候要选择没有波动性值……可以在这儿改进。

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=1n(vijAj+)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=1n(vijAj)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++SiSi
方案按 C i C_i Ci值降序排序, C i C_i Ci值越大,方案越优。

1.3 实例说明

多个指标可以进行降维



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/502484.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当今世界如何减少暴戾之气和矛盾纷争

《消暴戾、减纷争》(一) 暴戾之气常见于陌生人之间、纷争矛盾常见于与陌生人、同事、朋友、家人之间,总之就是一切人际关系、交际 常见案例:路怒症、住户与外卖小哥的纷争,同事、朋友、家人之间的矛盾 小吵还好&#…

【情感】程序人生之情感关系中的平等意识(如何经营一段长期稳定的关系 沸羊羊舔狗自查表)

【情感】程序人生之情感关系中的平等意识(如何经营一段长期稳定的关系 & 沸羊羊舔狗自查表) 文章目录 1、情感关系中的平等意识2、如何经营一段长期稳定的关系(避免左倾 | 敬畏与担当)3、沸羊羊/舔狗自查表(避免右…

让css设置的更具有合理性

目录 一、合理性设置宽高 二、避免重叠情况,不要只设置最大宽 三、优先使用弹性布局特性 四、单词、数字换行处理 五、其他编码建议 平常写css时,除了遵循一些 顺序、简化、命名上的规范,让css具有合理性也是重要的一环。 最近的需求场…

Go小技巧易错点100例(二十一)

本篇内容: errors.Is方法与两种方式进行error比较 在Go语言中,处理错误(error 类型)时,errors.Is 和直接使用 操作符进行错误比较,虽然看起来都用于比较错误,但实际上它们有着根本的不同。这主…

【服务器项目部署】✈️将本地项目部署到服务器(二)!

目录 👋前言 👀一、功能调整 🌱二、服务部署 💞️三、代码调整 🍻四、章末 👋前言 小伙伴们大家好,上篇文章本地实践了如何将本地项目部署到服务器上,从服务器的选择、服务器环境…

Kafka消息队列

目录 前置内容常用脚本说明和示例描述与定义部分术语说明两种模式点对点模式发布订阅模式 topic主题命令行操作指令生产者Broker消费者 前置内容 队列: 先进先出 应用: 大数据中主要用于离线和实时处理 流程: Flume正常获取数据,…

如何使用 Ansys OptiSlang 同时运行多个参数化设计研究

了解如何通过使用 OptiSLang 同时运行多个参数化设计研究来提高工作效率。 了解参数化设计研究的重要性 参数化设计研究在工程和设计过程中起着至关重要的作用。通过改变输入参数,工程师可以探索不同设计选择的效果,并优化其设计以满足性能、成本或其他…

Nginx (40分钟学会,快速入门)

一、什么是Nginx ? 可以做什么 ? Nginx 是高性能的 HTTP 和反向代理的 web 服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达50000个并发的连接数.Nginx特点就是内存少,并发能力强。事实上…

【Rust自学】10.6. 生命周期 Pt.2:生命周期的语法与例子

喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 10.6.1. 生命周期标注语法 生命周期的标注并不会改变引用的生命周期长度。如果某个函数它制定了泛型生命周期参数,那么它就可…

【Android项目学习】3. MVVMHabit

项目链接 文章目录 一. 项目结构1. 项目整体划分2. 模块细分 二. Android知识点学习1. registerActivityLifecycleCallbacks方法2. 一. 项目结构 1. 项目整体划分 MVVMHabit是以谷歌DataBindingLiveDataViewModel框架为基础,整合OkhttpRxJavaRetrofitGlide等流行…

【大模型】7 天 AI 大模型学习

7 天 AI 大模型学习 Day 3 今天,我们要一起学习大模型微调了 ~ 包括:大模型微调领域概览、Lora微调 等 ~ 文章目录 7 天 AI 大模型学习 Day 3大模型微调概览大模型项目 pipeline提示词工程 Prompt EngineeringIn-context Learning…

密码学精简版

密码学是数学上的一个分支,同时也是计算机安全方向上很重要的基础原理,设置密码的目的是保证信息的机密性、完整性和不可抵赖性,安全方向上另外的功能——可用性则无法保证,可用性有两种方案保证,冗余和备份&#xff0…

DeepSeek-V3 正式发布,已在网页端和 API 全面上线,性能领先,速度飞跃。

DeepSeek-V3 在推理速度上相较历史模型有了大幅提升。在目前大模型主流榜单中,DeepSeek-V3 在开源模型中位列榜首,与世界上最先进的闭源模型不分伯仲。 简介 DeepSeek-V3是一个强大的混合专家 (MoE) 语言模型,总共有 671B 个参数,…

图像超分辨新SOTA!南洋理工提出InvSR,利用大型预训练扩散模型图像先验来提高 SR 性能, 登上Huggingface热门项目。

南洋理工大学的研究者们提出了一种基于扩散反演的新型图像超分辨率 (SR) 技术,可以利用大型预训练扩散模型中蕴含的丰富图像先验来提高 SR 性能。 该方法的核心是一个深度噪声预测器,用于估计前向扩散过程的最佳噪声图。一旦训练完成,这个噪…

MySQL低版本没有函数row_number() over的解决方案

最近在维护老项目时,需要对历史数据做分析取出分区数据中的第一条,无奈因为MySQL版本过低,无法使用函数row_number() over,苍了个天~ 不过这点小事怎么可能难倒我们这群考古专家呢,在此分享一下解决方案。 主要原因是问…

贵州省贵安新区地图+全域数据arcgis格式shp数据矢量路网地名+卫星影像底图下载后内容测评

贵州省贵安新区地图全域数据arcgis格式shp数据矢量路网地名卫星影像底图 贵安新区地图是一款基于ArcGIS格式的地理信息系统数据集,包含2022年3月更新的详尽矢量路网、地名信息以及卫星影像底图。这款数据集是针对贵安新区这一特定区域设计的,对于规划、…

npm install --global windows-build-tools --save 失败

注意以下点 为啥下载windows-build-tools,是因为node-sass4.14.1 一直下载不成功,提示python2 没有安装,最终要安装这个,但是安装这个又失败,主要有以下几个要注意的 1、node 版本 14.21.3 不能太高 2、管理员运行 …

音视频入门基础:MPEG2-PS专题(5)——FFmpeg源码中,解析PS流中的PES流的实现

一、引言 从《音视频入门基础:MPEG2-PS专题(3)——MPEG2-PS格式简介》中可以知道,PS流由一个个pack(包装)组成。一个pack 一个pack_header 一个或多个PES_packet。pack_header中还可能存在system header…

记一次k8s下容器启动失败,容器无日志问题排查

问题 背景 本地开发时&#xff0c;某应用增加logback-spring.xml配置文件&#xff0c;加入必要的依赖&#xff1a; <dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>8…

【问题记录】npm create vue@latest报错

1&#xff0c;错误日志 npm error code EPERM npm error syscall mkdir npm error path D:\Program Files\nodejs\node_cache\_cacache npm error errno EPERM npm error FetchError: Invalid response body while trying to fetch https://registry.npmjs.org/create-vue: EP…