评价决策类-Topsis法学习笔记

问题的提出

  • 生活中我们常常要进行评价,上一篇中的层次分析法,通过确定各指标的权重,来进行打分,但层次分析法决策层不能太多,而且构造判断矩阵相对主观。那有没有别的方法呢?

例题引入

明星Kun想找个对象,但喜欢他的人太多,不知道怎么选,经过层层考察,留下三个候选人。

候选人颜值脾气(争吵次数)
A910
B87
C63
  • 理想情况下:

    • 最好的对象应该是颜值9,脾气3
    • 最差的对象应该是颜值6,脾气10
  • 那怎么衡量A、B、C和最好、最差的距离呢?

    • 把(9,3),(6,10)最为二维平面的一个点(如图中的红点和蓝点)

      在这里插入图片描述

  • 距离最好点最近或者距离最差点最远的点就是综合条件最好的(如上图中的红笔所圈的点)

基本概念

C. L. Hwang 和 K. Yoon 于 1981 年首次提出 TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution),可翻译为逼近理想解排序法,国内常简称为优劣解距离法。

TOPSIS 法是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。

TOPSIS 法引入了两个基本概念:

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

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

模型原理

TOPSIS 法是一种理想目标相似性的顺序选优技术,在多目标决策分析中是一种非常有效的方法。它通过归一化后 (去量纲化) 的数据规范化矩阵,找出多个目标中最优目标和最劣目标 (分别用理归想一解化和反理想解表示), 分别计算各评价目标与理想解和反理想解的距离,获得各目标与理想解的贴近度,按理想解贴近度的大小排序,以此作为评价目标优劣的依据。贴近度取值在 0~1 之间,该值愈接近 1, 表示相应的评价目标越接近最优水平;反之,该值愈接近 0, 表示评价目标越接近最劣水平。

基本步骤

  • 将原始矩阵正向化
    将原始矩阵正向化,就是要将所有的指标类型统一转化为极大型指标。

  • 正向矩阵标准化
    标准化的方法有很多种,其主要目的就是去除量纲的影响,保证不同评价指标在同一数量级,且数据大小排序不变。

  • 计算得分并归一化
    Si=Di−Di++Di−S_i = \frac{D_i^-}{D_i^+ + D_i^-} Si=Di++DiDi

    其中Si为得分,Di+为评价对象与最大值的距离,Di−为评价对象与最小值的距离。其中 S_i 为得分,D_i^+ 为评价对象与最大值的距离,D_i^- 为评价对象与最小值的距离 。 其中Si为得分,Di+为评价对象与最大值的距离,Di为评价对象与最小值的距离。

我们继续帮助明星Kun选对象

明星 Kun 考虑了一下觉得光靠颜值和脾气可能考虑的还不够全面,就又加上了身高和体重两个指标,而且他认为身高 165 是最好,体重在 90 - 100 斤是最好。

候选人颜值脾气(争吵次数)身高体重
A910175120
B8716480
C6315790

原始矩阵正向化

指标名称指标特点例子
极大型(效益型)指标越大(多)越好颜值、成绩、GDP 增速
极小型(成本型)指标越小(少)越好脾气、费用、坏品率、污染程度
中间型指标越接近某个值越好身高、水质量评估时的 PH 值
区间型指标落在某个区间最好体重、体温

将原始矩阵正向化,就是要将所有的指标类型统一转化为极大型指标

指标名称公式
极大型(效益型)指标/
极小型(成本型)指标x^=max−x\hat{x} = max - xx^=maxxx^\hat{x}x^为转化后指标,maxmaxmax为指标最大值,xxx为指标值
中间型指标{xi}\{x_i\}{xi}是一组中间型序列,最优值是xbestx_{\text{best}}xbest,正向化公式如下
M=max⁡{∣xi−xbest∣}M = \max\left\{ \vert x_i - x_{\text{best}} \vert \right\}M=max{xixbest}x^i=1−∣xi−xbest∣M\hat{x}_i = 1 - \frac{\vert x_i - x_{\text{best}} \vert}{M}x^i=1Mxixbest
区间型指标{xi}\{x_i\}{xi}是一组区间型序列,最佳区间为[a,b][a,b][a,b],正向化公式如下
M=max{a−min{xi},max{xi}−b}M = max\{a - min\{x_i\}, max\{x_i\} - b\}M=max{amin{xi},max{xi}b}x^i={1−a−xiM,xi<a1,a≤xi≤b1−xi−bM,xi>b\hat{x}_i = \begin{cases} 1 - \frac{a - x_i}{M}, & x_i < a \\ 1, & a \leq x_i \leq b \\ 1 - \frac{x_i - b}{M}, & x_i > b \end{cases}x^i=1Maxi,1,1Mxib,xi<aaxibxi>b
  1. 原始矩阵

    候选人颜值脾气 (争吵次数)身高 165体重 90-100
    A910175120
    B8716480
    C6315790
  2. 正向化后的矩阵

    候选人颜值脾气 (争吵次数)身高体重
    A9000
    B830.90.5
    C670.21
  3. 正向化矩阵标准化

    • 标准化的目的是消除不同指标量纲的影响。

    假设有nnn个要评价的对象,mmm个评价指标(已正向化)构成的正向化矩阵如下:
    X=[x11⋯x1m⋮⋱⋮xn1⋯xnm]X = \begin{bmatrix} x_{11} & \cdots & x_{1m} \\ \vdots & \ddots & \vdots \\ x_{n1} & \cdots & x_{nm} \end{bmatrix} X=x11xn1x1mxnm

    那么,对其标准化的矩阵记为ZZZZZZ中的每一个元素:
    zij=xij∑i=1nxij2z_{ij} = \frac{x_{ij}}{\sqrt{\sum_{i=1}^{n} x_{ij}^2}} zij=i=1nxij2xij
    (解释:每一个元素 /// 其所在列的元素的平方和\sqrt{其所在列的元素的平方和}其所在列的元素的平方和

    • 标准化后,还需给不同指标加上权重,采用的权重确定方法有层次分析法熵权法、Delphi法、对数最小二乘法等。在这里认为各个指标的权重相同
候选人颜值脾气(争吵次数)身高体重
A9000
B830.90.5
C670.21

⇒\boldsymbol{\Rightarrow}

候选人颜值脾气(争吵次数)身高体重
A0.669000
B0.5950.3940.9760.447
C0.4460.9190.2170.894
  1. 计算得分并归一化

    • 上一步得到标准化矩阵 ( Z )
      Z=[z11⋯z1m⋮⋱⋮zn1⋯znm]Z = \begin{bmatrix} z_{11} & \cdots & z_{1m} \\ \vdots & \ddots & \vdots \\ z_{n1} & \cdots & z_{nm} \end{bmatrix} Z=z11zn1z1mznm
  • 定义最大值
    (Z+=(Z1+,Z2+,…,Zm+)=(max⁡{z11,z21,…,zn1},max⁡{z12,z22,…,zn2},…,max⁡{z1m,z2m,…,znm}))( Z^+ = (Z_1^+, Z_2^+, \dots, Z_m^+) = \big( \max\{z_{11}, z_{21}, \dots, z_{n1}\},\ \max\{z_{12}, z_{22}, \dots, z_{n2}\},\ \dots,\ \max\{z_{1m}, z_{2m}, \dots, z_{nm}\} \big) ) (Z+=(Z1+,Z2+,,Zm+)=(max{z11,z21,,zn1}, max{z12,z22,,zn2}, , max{z1m,z2m,,znm}))

    • 定义最小值
      (Z−=(Z1−,Z2−,…,Zm−)=(min⁡{z11,z21,…,zn1},min⁡{z12,z22,…,zn2},…,min⁡{z1m,z2m,…,znm}))( Z^- = (Z_1^-, Z_2^-, \dots, Z_m^-) = \big( \min\{z_{11}, z_{21}, \dots, z_{n1}\},\ \min\{z_{12}, z_{22}, \dots, z_{n2}\},\ \dots,\ \min\{z_{1m}, z_{2m}, \dots, z_{nm}\} \big) ) (Z=(Z1,Z2,,Zm)=(min{z11,z21,,zn1}, min{z12,z22,,zn2}, , min{z1m,z2m,,znm}))

    • 定义第 i(i=1,2,…,n) 个评价对象与最大值的距离
      (Di+=∑j=1m(Zj+−zij)2)( D_i^+ = \sqrt{\sum_{j=1}^{m} \big(Z_j^+ - z_{ij}\big)^2} ) (Di+=j=1m(Zj+zij)2)

    • 定义第 i(i=1,2,…,n) 个评价对象与最小值的距离
      (Di−=∑j=1m(Zj−−zij)2)( D_i^- = \sqrt{\sum_{j=1}^{m} \big(Z_j^- - z_{ij}\big)^2} ) (Di=j=1m(Zjzij)2)

    • 那么,我们可以计算得出第 i(i=1,2,…,n) 个评价对象未归一化的得分:
      Si=Di−Di++Di−S_i = \frac{D_i^-}{D_i^+ + D_i^-} Si=Di++DiDi

    • 很明显 0≤Si≤10 \leq S_i \leq 1 0Si1,且SiS_i Si 越大 Di+D_i^+ Di+ 越小,即越接近最大值

    • 我们可以将得分归一化并换成百分制:
      S~i=Si∑i=1nSi×100\tilde{S}_i = \frac{S_i}{\sum_{i=1}^{n} S_i} \times 100 S~i=i=1nSiSi×100

  1. 归一化后的矩阵
  • 上一步标准化的矩阵

    候选人颜值脾气(争吵次数)身高体重
    A0.669000
    B0.5950.3940.9760.447
    C0.4460.9190.2170.894

    ⇒\boldsymbol{\Rightarrow}

  • 归一化后

    候选人得分
    A0.122
    B0.624
    C0.622

    ⇒\boldsymbol{\Rightarrow}

  • 转换为百分制

    候选人得分
    A8.9
    B45.7
    C45.5

明星Kun选择了B!!!

资料视频来源:1-2-1 评价决策类-TOPSIS法模型精讲_哔哩哔哩_bilibili

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

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

相关文章

石英加速度计为何成为行业标杆?

在石油钻井、航空航天、工业自动化等领域&#xff0c;高精度、高可靠性的加速度测量至关重要。ER-QA-03F系列石英挠性加速度计凭借其卓越的性能和稳定的表现&#xff0c;成为静态与动态测试的理想选择。自2012年推出以来&#xff0c;该产品已交付数千台&#xff0c;并在石油钻井…

HP Pavilion G6 笔记本使用ventoy启动安装Ubuntu 22.04 桌面版

HP Pavilion G6 笔记本是很老的笔记本了&#xff0c;淘到一款&#xff0c;成色比较新&#xff0c;使用i5 3210 M cpu &#xff0c;内存是2G*2&#xff0c;正好手边有一条4G内存条&#xff0c;替换一条后扩充为6G内存&#xff0c;感觉可以再战10年&#xff01;&#xff08;当然6…

STM32G4 Park及反Park变换(二)实验

目录 一、STM32G4 Park及反Park变换(二)实验 1 Park及反Park变换 1.1 代码 1.2 上位机实验结果 附学习参考网址 欢迎大家有问题评论交流 (* ^ ω ^) 一、STM32G4 Park及反Park变换(二)实验 1 Park及反Park变换 本文介绍了基于STM32G4的Park及反Park变换实验过程。主要内容…

pgsql 如何查询今天范围内的数据(当天0点0分0秒 - 当天23点59分59秒....)

使用 CURRENT_DATE 函数CURRENT_DATE 返回当前日期&#xff08;不含时间部分&#xff09;。当它在查询中与 timestamp 字段比较时&#xff0c;会自动被视为当天的开始&#xff0c;即 YYYY-MM-DD 00:00:00。CURRENT_DATE INTERVAL 1 day 计算出第二天的开始时间&#xff0c;即 …

DRM驱动架构浅析-上(DRM基础概要与U-Boot阶段驱动解析)

一、背景 近期项目吃紧&#xff0c;接了不少调屏相关的需求&#xff0c;期间磕磕绊绊&#xff0c;但总算完成要求。回首过往&#xff0c;调试过多种屏幕&#xff0c;包括LVDS、EDP、MIPI、MI转EDP或是转LVDS、DP以及HDMI等常见屏。在Rockchip平台调外设也有段时间矣&#xff0…

idea中如何设置文件的编码格式

目录 一、全局与项目编码配置 二、新项目预配置 一、全局与项目编码配置 File --> Settings --> Editor --> File Encodings Global Encoding&#xff1a;设置为UTF-8&#xff0c;影响IDE界面及新建文件的默认编码。‌‌Project Encoding&#xff1a;选择UTF-8&am…

2025年5月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(六)

本文主要回顾2025年上半年(2025-5-24)系统架构设计师考试上午综合知识科目的选择题,同时附带参考答案、解析和所涉知识点。 2025年5月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(一) 2025年5月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(…

Ubuntu22系统上源码部署LLamaFactory+微调模型 教程【亲测成功】

0.LLamaFactory LLaMA-Factory 是一个开源的低代码大模型训练与微调框架&#xff0c;旨在简化大规模语言模型&#xff08;LLM&#xff09;的微调、评估和部署流程&#xff0c;帮助开发者和研究人员更高效地定制和优化模型。 1.安装部署 1.1克隆仓库 git clone --depth 1 ht…

打靶日常-sql注入(手工+sqlmap)

小知识: 注入点:在哪里输入sgl指令中的参数 执行点:在那个页面拼接sql指令并发送给数据库执行 回显点:执行的结果显示在哪个页面 sqlmap知识点: 输出等级 -v3 范围0-6 默认1 一般3 考试3 测试等级 --level=1 范围…

绕过服务端文件上传检测:黑名单绕过技术与实战

绕过服务端文件上传检测&#xff1a;黑名单绕过技术与实战文件上传漏洞是Web安全中常见且危害极大的漏洞类型之一&#xff0c;而黑名单机制是最基础的防御手段。本文将深入探讨三种经典的黑名单绕过技术&#xff0c;并提供实战案例与防御方案。引言 文件上传功能是现代Web应用的…

在职老D渗透日记day21:sqli-labs靶场通关(第27a关)get联合注入 过滤select和union “闭合

5.27a.第27a关 get联合注入 过滤select和union "闭合function blacklist($id) { $id preg_replace(/[\/\*]/,"", $id); //strip out /* $id preg_replace(/[--]/,"", $id); //Strip out --. $id preg_replace(/[#]/,"", $id); //Strip …

Git#cherry-pick

场景 项目里有多个分支&#xff0c;在某个分支commit内容想要应用到当前分支 命令 git cherry-pick --helpgit cherry-pick commit-ish&#xff1a;某个其他分支的commit应用到当前所在分支 (默认自动提交)git cherry-pick -n commit-ish&#xff1a;–no-commit(不自动提交)&a…

极海APM32F107V6 gpio模拟串口

一、原理部分 之前用外设都是直接用的硬件自带的库&#xff0c;虽然以前有学过原理和时序&#xff0c;但是因为工作其实也很少会有需要gpio模拟串口的情况&#xff0c;但总会有串口用完&#xff0c;但是需要一个类似打印串口的情况。今天也是开整&#xff0c;然后用硬件的库对…

【数据可视化-94】2025 亚洲杯总决赛数据可视化分析:澳大利亚队 vs 中国队

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

链表基本运算详解:查找、插入、删除及特殊链表

在上一篇文章中&#xff0c;我们介绍了线性表的基本概念和顺序存储。本文将深入探讨单链表的基本运算&#xff0c;并介绍循环链表和双向链表这两种特殊的链表结构&#xff0c;帮助读者全面掌握链表的操作技巧。 文章目录1.单链表基本运算链表的查找操作按序号查找按值查找链表的…

8.19作业

1.聊天室1.1服务器#include <myhead.h> #define SER_PORT 8888 #define SER_IP "192.168.174.128"struct msg {char type;char usrname[20];char msgtext[1024]; };int main(int argc, const char *argv[]) {int sfd socket(AF_INET,SOCK_STREAM,0);if (sfd-1…

95、23种设计模式之建造者模式(4/23)

建造者模式&#xff08;Builder Pattern&#xff09;是23种经典设计模式中的创建型模式之一&#xff0c;其核心思想是将复杂对象的构建过程与其表示分离&#xff0c;使得同样的构建流程可以生成不同结构或配置的对象。以下从定义、结构、应用场景、优缺点及代码示例展开分析&am…

LIA-X - 一张照片生成任意表情肖像动画视频 精准操控面部动作 支持50系显卡 一键整合包下载

LIA-X 是一个可解释的潜在肖像动画生成器&#xff0c;只需要一张照片加一段驱动视频生成任意表情肖像动画&#xff0c; 旨在将驱动视频中的面部动态精细地转移到源肖像上&#xff0c;同时提供对头部、嘴巴和眼睛的精细控制。同时支持图像和视频的编辑任务&#xff0c;比如对头部…

Google 的 Opal:重新定义自动化的 AI 平台

1. 真实世界测试&#xff1a;结果出乎意料 我让 Opal 接受了三项极具挑战性的任务&#xff1a; 1.1. 博客生成器挑战 我的提示&#xff1a;“研究并撰写一篇关于 2 亿美元融资对无代码&#xff08;no-code&#xff09;影响的文章。” 发生了什么&#xff1a;Opal 不仅仅是写…

【FreeRTOS】任务通知

任务通知通知状态的三种取值taskNOT_WAITING_NOTIFICATION&#xff1a;任务没有在等待通知taskWAITING_NOTIFICATION&#xff1a;任务在等待通知taskNOTIFICATION_RECEIVED&#xff1a;任务接收到了通知&#xff0c;也被称为 pending(有数据了&#xff0c;待处理)如下面两个场景…