Topsis法模型(评价类问题)

news2024/11/18 0:36:59

目录

本文章内容参考:

一. 概念

二. 特点和适用范围

三. 实现步骤

四. 代码实现


本文章内容参考:

TOPSIS法模型讲解(附matlab和python代码) 【数学建模快速入门】数模加油站 江北_哔哩哔哩_bilibili

一. 概念

TOPSIS(Technique for Order Preference by Similarity to an Ideal Solution)法是一种多准则决策分析方法,用于从有限的备选方案中选择最佳方案。该方法的核心思想是通过比较各备选方案与理想解负理想解距离,来评价和排序各方案的优劣。

理想解 :设想的最优的解(方案),它的各个属性值都达到各备选方案中的最好的值;
负理想解 :设想的最劣的解(方案),它的各个属性值都达到各备选方案中的最坏的值。

方案排序的规则是把各备选方案与理想解和负理想解做比较,若其中有一个方案最接近理想解,而同时又远离负理想解,则该方案是备选方案中最好的方案。TOPSIS通过最接近理想解且最远离负理想解来确定最优选择

二. 特点和适用范围

适用于多准则评价场景,可以根据实际需要赋予各准则不同的权重,增强方法的灵活性。在市场研究中用于分析和评估市场竞争力、客户满意度等,通过多个评价指标进行比较。

三. 实现步骤

1. 原始矩阵正向化

矩阵正向化的过程就是把后三种指标类型通过数值转换,转化极大型指标的指标特点,也即其值越大越好。

转化方式如下公式:

{x}_i上面带个~的值的是原始矩阵正向化后指标转换后对应的值,极大型指标无需转换。

一个转换过程的例子如下(其中颜值是极大型指标无需转换,脾气是极小型指标,身高是中间型指标,体重是区间型指标):

2. 正向化矩阵标准化

标准化的目的是为了消除不同指标的量纲影响,仅保留指标的基本特征,使得所有特征具有相同的权重。这样在计算距离(如欧氏距离)或相似性时,不会因为某个特征的数值范围过大而主导计算结果。

对其标准化的矩阵记为 R ,则 R 中的每一个元素为:

R_{ij} = \frac{x_{ij}}{\sqrt{\sum_{k=1}^{m} x_{kj}^2}}

上文提到标准化的目的是为了让所有特征先具有相同的权重,但在实际情况中,不同的指标对结果的影响程度必然是有所差异的,所有要建立更加符合现实情况的模型,我们还需要将标准化后的矩阵再给不同指标加上不同的权重,权重也有不同的计算方法,采用的权重确定方法有层次分析法、熵权法、Delphi法、对数最小二乘法等。

下图是正向化矩阵标准化的过程(没有加权重):

3. 距离计算

D_i^+ = \sqrt{\sum_{j=1}^{n} (R_{ij} - R_j^+)^2}

D_i^+ 表示方案 i 与理想解的距离。理想解是指在所有评价指标上都最优的假想解。

R_j^+ 表示理想解在第 j 个评价指标下该指标的最大值。

R_{ij} 表示加权标准化决策矩阵中的元素,表示第 i 个方案在第 j 个评价指标下的值。

n 表示指标的数量

D_i^- = \sqrt{\sum_{j=1}^{n} (R_{ij} - R_j^-)^2}

D_i^- 表示方案 i 与负理想解的距离。负理想解是指在所有评价指标上都最差的假想解。

R_j^- 表示理想解在第 j 个评价指标下该指标的最小值。

R_{ij} 表示加权标准化决策矩阵中的元素,表示第 i 个方案在第 j 个评价指标下的值。

n 表示指标的数量

4. 计算相对接近度并排序

C_i = \frac{D_i^-}{D_i^+ + D_i^-}

C_i 表示方案 i 的相对接近度,表示方案 i 相对于理想解的优越程度。

D_i^+D_i^- 含义与上一步骤相同,C_i 值越大,说明方案 i 越接近理想解,越优越。

随后按 C_i 的值进行排序以选取最优解。

四. 代码实现

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

让EHS管理更智能,一起来看物联网如何重塑企业EHS管理

随着信息技术的飞速发展,物联网(IoT)技术正逐步渗透到企业管理的各个领域,特别是在环境、健康与安全(EHS)管理方面,物联网技术展现出了巨大的潜力和价值。 一、物联网技术在EHS管理中的应用场景…

达梦数据库 逻辑备份还原

达梦的逻辑备份还原 1.背景2.要求3.实验步骤3.1 相关术语3.2 dexp逻辑导出3.2.1 使用dexp工具3.2.2 dexp相关参数含义3.2.3 四种级别导出3.2.3.1 FULL3.2.3.2 OWNER3.2.3.3 SCHEMAS3.2.3.4 TABLES 3.2.4 使用范例3.2.4.1 环境准备3.2.4.2 dexp逻辑导出 3.3 dimp逻辑导入3.3.1 使…

【大模型从入门到精通10】openAI API 提示链的力量1

这里写目录标题 提示链的力量核心概念理解提示链用于清晰说明的类比 实际应用与益处工作流程管理成本效率错误减少动态信息加载 方法学步骤式方法最佳实践 示例设置环境从用户查询中提取相关信息获取详细产品信息 提示链的力量 核心概念 理解提示链 提示链涉及将复杂任务分解…

C++速学day2

xia复习 上一天的学习内容: 重点:1、封装———— 就是对类的抽象 ,将一种对象的共性 抽象成一个类。 2、三个函数——-构造函数/复制构造函数/析构函数 注意:析构函数和构造函数的调用顺序刚好相反。 新内容 两个类的关系 …

巨能涨!用AI做沙雕日常图文号,闭眼出大爆款!接个软广3000+!

家人们!最近圈子陆续整理了一波在小红书上,适合植入软广的AI小红书商单玩法案例,例如:AI美女博主账号、AI养生博主账号、AI治愈插画Vlog短视频账号等等,接下来也会持续输出更多高价值的软广案例玩法。 今天刚好在刷小…

【python】PyQt5中QButtonGroup的详细用法解析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

正点原子imx6ull-mini-Linux驱动之Linux 网络驱动实验

网络驱动是 linux 里面驱动三巨头之一,linux 下的网络功能非常强大,嵌入式 linux 中也常 常用到网络功能。前面我们已经讲过了字符设备驱动和块设备驱动,本章我们就来学习一下 linux 里面的网络设备驱动。 1:嵌入式网络简介 1.1…

Pandas中高效的“For循环”

循环是我们编程技能中的一项固有技能。当我们熟悉任何编程语言时,循环就会成为一个基本的、易于解释的概念。 在这篇博文中,我们将探索遍历pandas dataframe的各种方法,检查每个循环方法的相关运行时。为了验证循环的有效性,我们…

3D开发工具HOOPS如何实现数字孪生高效的模型设计和分析?

数字孪生技术通过创建物理对象或系统的虚拟模型,实时反映其状态和行为,从而实现监控、优化和预测。这一技术在智能制造、建筑、城市规划等领域有着广泛应用。HOOPS SDK作为一套功能强大的软件开发工具包,为数字孪生技术的实现提供了全面支持。…

【启明智显分享】烹饪机HMI超值之选:个位数价工业级芯片Model3C点亮4.3寸触摸彩屏

一、方案背景 在快节奏的现代生活中,人们对于美食的追求从未停止,但繁琐的烹饪过程却常常让人望而却步。为了满足人们既能轻松享受美味又能节省时间和精力的需求,自动烹饪机应运而生。目前,自动烹饪机发展也越来越成熟&#xff0…

数据结构 - 哈希表

文章目录 前言一、哈希思想二、哈希表概念三、哈希函数1、哈希函数设计原则2、常用的哈希函数 四、哈希冲突1、什么是哈希冲突2、解决哈希冲突闭散列开散列 五、哈希表的性能分析时间复杂度分析空间复杂度分析 前言 一、哈希思想 哈希思想(Hashing)是计…

振动分析-18-基于振动分析进行故障诊断的思路和步骤

参考树立正确的振动诊断思路 参考振动分析相关知识的储备及振动分析仪的局限性 参考如何进行振动分析诊断(译文) 1 正确的故障诊断意识 我们通常在学习班听到的是大学教授以及专家讲解的故障诊断的基础理论,对于刚接触这个专业的人来说,微分方程和复杂的矩阵却有点让人忘…

数据库篇--八股文学习第十六天| MySQL的执行引擎有哪些?;MySQL为什么使用B+树来作索引;说一下索引失效的场景?

1、MySQL的执行引擎有哪些? 答: MySQL的执行引擎主要负责查询的执行和数据的存储, 其执行引擎主要有MyISAM、InnoDB、Memery 等。 InnoDB引擎提供了对事务ACID的支持,还提供了行级锁和外键的约束,是目前MySQL的默认存储引擎&…

227还原实战(三)

调转符号 为了方便后面处理 ,我们先将所有的 二项表达式 进行预处理,将标识符放在左边, 数字放在右边, 比较简单,不多解释 转换逗号表达式 这里还原逗号表达式就要简单很多,主要是还原三元外的逗号表达式…

Agent知识库:功能、原理浅析

随着LLM不断发展,基于LLM的Agent今年来十分火热。Agent知识库不仅可以存储大量的信息,还包含了丰富的规则、算法和模型,是Agent实现智能化决策和行动的关键。本文将介绍Agent知识库的功能、原理以及相关落地应用。 概览 能力 1.Knowledge&a…

UDP端口可达性检测(端口扫描)工具开发

UDP端口可达性检测(端口扫描)工具开发 1、应用场景分析 主机X与主机Y部署在AB双网环境下,两个主机间通过UDP协议进行数据交互。应用程序发送数据时,优先使用A网发送数据,如果A网异常则通过B网发送数据。两个主机应用间没有设置心跳帧 &…

Vue 3+Vite+Eectron从入门到实战系列之(四)一Electron热身运动(二)

在electron里面能不呢实现暗黑模式和明亮模式的切换&#xff1f;我们怎么读取主进程里面的数据和系统数据。这篇就是来实现这几个效果的 实现效果 更改系统的主题色 在 App.vue 中添加代码。 <el-button type"warning" click"changeTheme">更改系…

Python 进行反射和元编程

反射和元编程是Python中两种强大且高级的编程技术。反射允许程序在运行时检查和修改自身结构和行为&#xff0c;而元编程则是编写可以操作其他代码的代码&#xff0c;通常通过使用元类、装饰器等技术来实现。 1. 反射 反射是指程序在运行时检查和操作自身结构的能力。Python通…

【Dash】使用 dash_mantine_components 创建图表

一、Styling Your App The examples in the previous section used Dash HTML Components to build a simple app layout, but you can style your app to look more professional. This section will give a brief overview of the multiple tools that you can use to enhan…

日常知识点之阿里云服务器提示禁用了密码登录方式

使用阿里云服务器进行一些实例测试时&#xff0c;发现业务启动后&#xff0c;服务器连接卡死&#xff0c;重连显示拒绝密码登录。 尝试好几次&#xff0c;因为在做的业务&#xff0c;怀疑可能时磁盘或者内存导致&#xff0c;但是&#xff0c;这玩意为啥会导致拒绝密码登录也是…