当前位置: 首页 > news >正文

TOPSIS综合评价

TOPSIS法(Technique for Order Preference by Similarity to an Ideal Solution)是一种常用的综合评价方法,该方法根据有限个评价对象与理想化目标的接近程度进行排序,是在现有的对象中进行相对优劣的评价。

TOPSIS法的原理是通过检测评价对象与最优解、最劣解的距离来进行排序。具体来说,它首先确定各效用函数的单调性,然后计算评价对象与最优解和最劣解的距离,最后根据距离进行排序。其中,最优解的各指标值都达到各评价指标的最优值,而最劣解的各指标值都达到各评价指标的最差值。评价对象离最优解越近、离最劣解越远越好。

TOPSIS方法的一般步骤如下:
  1. 确定决策矩阵:首先,根据决策者的需求和各备选方案的特点,建立一个决策矩阵,其中每一行代表一个备选方案,每一列代表一个评价准则。
  2. 标准化决策矩阵:由于各准则的量纲和数值范围可能不同,需要对决策矩阵进行标准化处理,得到无量纲的决策矩阵。
  3. 确定加权决策矩阵:根据各准则的重要性,赋予相应的权重,然后计算加权决策矩阵。
  4. 确定理想解和负理想解:理想解是指在所有准则下都是最优的解,而负理想解则是在所有准则下都是最差的解。
  5. 计算各备选方案与理想解和负理想解的距离:对每个备选方案,分别计算其与理想解和负理想解的距离。
  6. 计算相对贴近度:根据各备选方案与理想解的距离和与负理想解的距离,计算其相对贴近度。
  7. 进行排序:根据相对贴近度的大小,对所有备选方案进行排序,贴近度越大的方案越优。

案例背景

本案例以2022年广西各地市的农产品产量进行建模,综合评价各地市的农业规模和水平。要求:求出各个评价对象与正理想解和负理想解的距离,并以此对各评价对象进行优劣排序。

在这里插入图片描述在这里插入图片描述

import pandas as pd
import numpy as np
data = pd.read_clipboard()
data

在这里插入图片描述

# 向量归一化:极大型指标
normalization = np.linalg.norm(data.iloc[:,1:], axis=0)
norm_data = data.iloc[:,1:] / normalization
norm_data

在这里插入图片描述

# 求正理想解和负理想解
positive_ideal_solve = norm_data.max(axis=0)
negative_ideal_solve = norm_data.min(axis=0)
# 求正理想解的距离
positive_distance = np.linalg.norm(norm_data - positive_ideal_solve, axis=1)
# 求负理想解的距离
negative_distance = np.linalg.norm(norm_data - negative_ideal_solve, axis=1)
# 计算相对接近度
f1 = negative_distance / (negative_distance + positive_distance)
(data.assign(正理想解距离=positive_distance).assign(负理想解距离=negative_distance).assign(相对接近度=f1).assign(排名=lambda x: x.相对接近度.transform('rank', ascending=False))
)

在这里插入图片描述

总结

TOPSIS方法的优点在于它简单直观,易于理解和操作,且不需要复杂的数学运算。它适用于准则间存在冲突的情况,可以为决策者提供一个相对客观的决策依据。然而,TOPSIS方法也有其局限性,比如它假设准则之间是独立的,而实际上准则之间可能存在相互影响。此外,权重的确定在TOPSIS中也是一个主观的过程,可能会影响最终的决策结果。

相关文章:

TOPSIS综合评价

TOPSIS法(Technique for Order Preference by Similarity to an Ideal Solution)是一种常用的综合评价方法,该方法根据有限个评价对象与理想化目标的接近程度进行排序,是在现有的对象中进行相对优劣的评价。 TOPSIS法的原理是通过…...

修改vuetify3的开关组件v-switch在inset模式下的大小

<v-switchv-model"model":label"Switch: ${model.toString()}"hide-detailsinset></v-switch>使用方式1&#xff1a;本页面使用 本页面中使用&#xff0c;必须要含有lang“scss” scoped&#xff0c;才会生效 <style lang"scss"…...

m1系列芯片aarch64架构使用docker-compose安装nacos

之前看到 DockerHub 上发布了 m1 芯片 aarch64 架构的 nacos 镜像, 所以就尝试的安装了下, 亲测可用: 一. docker-compose.yml 编写 请确保自己的 mysql 服务已经启动了, 并且允许远程连接 volumes 挂载目录需要换成自己的目录 二. 容器运行和网络组 2.1 查看容器运行情况 …...

优化耗时业务:异步线程在微服务中的应用

大家好&#xff0c;我是程序员大猩猩。 大家都知道&#xff0c;在我们实际开发过程中&#xff0c;我们经常会遇到一些耗时的业务和逻辑&#xff0c;比如说要上传什么大文件&#xff0c;又或者是大文件的数据处理。我们不能一个接口上等着这些耗时任务完成之后了&#xff0c;再…...

torch.scatter看图理解

torch.Tensor.scatter 有 4 个参数&#xff1a; scatter(dim, index, src, reduceNone) 先忽略 Reduce&#xff0c;最后再解释。先从最简单的开始。我们有一个 (2,4) 形状的张量&#xff0c;里面填充了 1&#xff1a; 粉红色的符号表示张量结构 并且我们传入相应的参数并得到…...

适合学生党的蓝牙耳机有哪些?盘点四大性价比蓝牙耳机品牌

对于追求高品质音乐体验而又预算有限的学生党来说&#xff0c;一款性价比高的蓝牙耳机无疑是最佳选择&#xff0c;在众多品牌和型号中&#xff0c;如何挑选到既适合自己需求又价格亲民的蓝牙耳机&#xff0c;确实是一个值得思考的问题&#xff0c;作为一个蓝牙耳机大户&#xf…...

【ORB_SLAM系列3】—— 如何在Ubuntu18.04中使用自己的单目摄像头运行ORB_SLAM3(亲测有效,踩坑记录)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、ORB_SLAM3源码编译二、ORB_SLAM3实时单目相机测试1. 查看摄像头的话题2. 运行测试 三. 运行测试可能的报错1. 报错一(1) 问题描述(2) 原因分析(3) 解决 2. …...

Science Advances|柔性超韧半导体纤维的大规模制备(柔性半导体器件/可穿戴电子/纤维器件/柔性电子)

北京大学 雷霆(Ting Lei)团队,在《Science Advances》上发布了一篇题为“Continuous production of ultratough semiconducting polymer fibers with high electronic performance”的论文。论文内容如下: 一、 摘要 共轭聚合物具有良好的光电特性,但其脆性和机械特性差,…...

VirtualBox虚拟机与bhyve虚拟机冲突问题解决@FreeBSD

问题 在安装完bhyve虚拟系统的主机上启动VirtualBox虚拟机的时候&#xff0c;报错&#xff1a;不能为虚拟电脑 debian 打开一个新任务. VirtualBox cant operate in VMX root mode. Please close all other virtualization programs. (VERR_VMX_IN_VMX_ROOT_MODE). 返回 代码…...

【网络层】ICMP 因特网控制协议

文章目录 ICMP 含义以及作用ICMP协议解析结合ICMP协议和ping常见问题 ICMP 含义以及作用 ICMP&#xff1a;Internet control massage protocol 因特网控制协议 Internet控制报文协议ICMP是网络层的一个重要协议。 ICMP协议用来在网络设备间传递各种差错和控制信息&#xff0c;…...

汇编原理(四)[BX]和loop指令

loop&#xff1a;循环 误区&#xff1a;在编译器里写代码和在debug里写代码是不一样的&#xff0c;此时&#xff0c;对于编译器来说&#xff0c;就需要用到[bx] [bx]: [bx]同样表示一个内存单元&#xff0c;他的偏移地址在bx中&#xff0c;比如下面的指令 move bx, 0 move ax,…...

Linux查看设备信息命令

dmidecode | grep Product Name 查看grub版本号&#xff1a;rpm -qa | grep -i "grub" 客户端操作系统版本&#xff1a; cat /etc/issue cat /etc/redhat-release 处理器品牌及型号&#xff1a; less /proc/cpuinfo |grep model...

transformer的特点

Transformers是一种用于处理序列数据的神经网络架构&#xff0c;最初由Vaswani等人在2017年提出&#xff0c;主要用于自然语言处理任务。与传统的循环神经网络&#xff08;RNN&#xff09;和卷积神经网络&#xff08;CNN&#xff09;不同&#xff0c;Transformers采用了一种全新…...

27快28了,想转行JAVA或者大数据,还来得及吗?

转行到JAVA或者大数据领域&#xff0c;27岁快28岁的年龄完全来得及。我这里有一套编程入门教程&#xff0c;不仅包含了详细的视频讲解&#xff0c;项目实战。如果你渴望学习编程&#xff0c;不妨点个关注&#xff0c;给个评论222&#xff0c;私信22&#xff0c;我在后台发给你。…...

英飞凌 AURIX TriCore 单片机开发入门

文章目录 目的硬件准备AURIX™ Development StudioInfineon MemtoolAURIX™ iLLD Drivers总结 目的 英飞凌的32位 AURIX™ TriCore™ 系列单片机 经常用于汽车和工业领域。开发该系列单片机比较常用的开发环境有 HighTec 和 AURIX™ Development Studio 。本文将基于后者&…...

Centos安装,window、ubuntus双系统基础上安装Centos安装

文章目录 前言一、准备工作二、开始安装1、2、首先选择DATE&TIME2、选择最小安装3、 选择安装位置 总结 前言 因工作需要&#xff0c;我需要在工控机上额外装Centos7系统&#xff0c;不过我是装在机械硬盘上了不知道对性能是否有影响&#xff0c;若有影响&#xff0c;后面…...

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷6(容器云)

#需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包…...

第13章 常用类

一、包装类 二、String String的常用方法&#xff1a; equals&#xff1a;判断内容是否相等&#xff0c;区分大小写。 String str1 "hello";String str2 "Hello";System.out.println(str1.equals(str2));//false equalsIgnoreCase&#xff1a;判断内容…...

15.数组的方法(改变原数组和不改变原数组)

改变原数组 (1)pop 语法:数组名.pop() 作用:删除数组最后一项 返回值:返回被删除的那一项 var arr=["zhangsna","lisi","wanger","mazi"] var res=arr.pop() console.log(arr) //[zhangsna, lisi, wange…...

随后记: uniapp uview u-dropdown 下拉菜单固定高度滑动不生效

使用u-dropdown 下拉组件 按照uview官网讲解使用 配置根本不生效 scroll-y"true" style"height: 200rpx;" 但是在下拉的时候&#xff0c;不能上下滑动 &#xff0c;原因是自带的遮罩层挡住了 解决办法&#xff1a;在下拉菜单打开和关闭的时候&#xff0c…...

终极指南:QLVideo让macOS视频预览支持200+格式,Finder管理效率提升300%

终极指南&#xff1a;QLVideo让macOS视频预览支持200格式&#xff0c;Finder管理效率提升300% 【免费下载链接】QuickLookVideo This package allows macOS Finder to display thumbnails, static QuickLook previews, cover art and metadata for most types of video files. …...

树莓派与STM32串口通信实战:从配置到调试全流程解析

1. 硬件准备与环境搭建 第一次尝试用树莓派和STM32做串口通信时&#xff0c;我对着桌上堆满的零件发愁&#xff1a;到底哪些线该接哪里&#xff1f;后来发现其实核心部件就三样&#xff1a;树莓派&#xff08;推荐4B型号&#xff09;、STM32开发板&#xff08;我用的是F103C8T6…...

前端CSS样式详细笔记

文章目录一、CSS基础概念1. 什么是CSS2. CSS三大核心特性3. CSS基本语法结构二、CSS引入方式三、CSS选择器详解1. 基础选择器2. 组合选择器3. 属性选择器4. 伪类与伪元素四、选择器优先级规则1. 优先级计算方法2. 优先级实战示例3. 优先级注意事项五、CSS盒模型1. 盒模型组成2.…...

Cortex-M能否运行Linux?架构与系统需求解析

1. Cortex-M与Linux的兼容性解析作为一名嵌入式开发工程师&#xff0c;我经常被问到"Cortex-M能不能跑Linux"这个问题。要回答这个问题&#xff0c;我们需要从处理器架构和操作系统需求两个维度来分析。Cortex-M系列是ARM公司推出的微控制器内核&#xff0c;主要面向…...

AI视频修复与字幕去除工具:突破硬字幕处理瓶颈的全流程解决方案

AI视频修复与字幕去除工具&#xff1a;突破硬字幕处理瓶颈的全流程解决方案 【免费下载链接】video-subtitle-remover 基于AI的图片/视频硬字幕去除、文本水印去除&#xff0c;无损分辨率生成去字幕、去水印后的图片/视频文件。无需申请第三方API&#xff0c;本地实现。AI-base…...

找不到msvcr120.dll解决方法:2026年有效的一键修复与手动安装步骤

正玩着游戏或做着设计图&#xff0c;屏幕突然弹出“找不到msvcr120.dll”的提示&#xff0c;相信很多Windows用户都遇到过这种令人抓狂的时刻。这个错误意味着你的电脑缺少了某个软件或游戏运行所必需的“零件”。别担心&#xff0c;这个零件就是Microsoft Visual C 2013运行库…...

uniApp实现跨平台跳转支付宝小程序的完整方案

1. 跨平台跳转支付宝小程序的背景与挑战 在移动应用开发中&#xff0c;实现应用间的无缝跳转是提升用户体验的关键环节。对于使用uniApp框架的开发者来说&#xff0c;如何在不同操作系统上正确唤起支付宝小程序&#xff0c;是一个既常见又棘手的问题。iOS和Android平台在协议处…...

Anaconda3 2025 安装教程【附安装包】快速安装下载

安装包https://qqstone.top/blog/anaconda3-2025 安装步骤 1. 解压压缩包 下载完成后&#xff0c;鼠标右击【Anaconda3 2025】压缩包&#xff0c;选择【解压至此处】。 2. 以管理员身份运行安装程序 打开解压后的文件夹&#xff0c;鼠标右击【Setup】选择【以管理员身份运行…...

opencode令牌分析插件使用:API调用监控部署教程

opencode令牌分析插件使用&#xff1a;API调用监控部署教程 1. 引言&#xff1a;为什么需要API调用监控&#xff1f; 当你使用AI编程助手时&#xff0c;是否曾经遇到过这些问题&#xff1a;不知道模型调用了多少次API、不清楚每次调用消耗了多少token、无法监控API调用的性能…...

FireRedASR-AED-L本地化教程:国产统信UOS/麒麟系统全兼容部署方案

FireRedASR-AED-L本地化教程&#xff1a;国产统信UOS/麒麟系统全兼容部署方案 提示&#xff1a;本教程已在统信UOS 20、麒麟V10系统完成实测验证&#xff0c;同样适用于Ubuntu、CentOS等Linux发行版 1. 项目简介&#xff1a;为什么选择这个工具&#xff1f; 如果你正在寻找一个…...