数学建模学习笔记||TOPSIS&&熵权法

这篇具有很好参考价值的文章主要介绍了数学建模学习笔记||TOPSIS&&熵权法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数学建模学习笔记||TOPSIS&&熵权法,数学建模,学习,笔记

目录

评价类问题介绍

TOPSIS法

算法步骤

1.统一指标类型(指标正向化)

2.标准化处理

3.确定正理想解和负理想解

4.计算距离

5.计算相对接近度(S越大越接近理想解)

熵权法

概念

过程

python代码实现

作用

        声明

评价类问题介绍

目的:得知一组方案的好坏,对数据评优,排序,选择

最重要步骤:权重的选择

现有A,B两名同学的各科成绩,如何评价A和B两个人谁的成绩更好?

解法是:权重*归一化后的值

归一化后的值:好得到

权重:不好得到

一般解决评价类问题采用层次分析法,但该方法的局限性在于主观性太强,不确定指标的选取为多少适宜

TOPSIS法

国内常称为优劣解距离法,它是一种常用的综合评价方法,其能充分利用原始数据的信息,其结果能精确反应各评价方案之间的差距。

如果一个方案距离理想最优解最近,距离理想最劣解最远,我们就有理由认为这个方案最好,否则就为最差的

注意:理想最优解中的数据都是各方案中的数据,而不要选择方案中没有的数据,理想最劣解同理。

算法步骤
1.统一指标类型(指标正向化)

越大越好,称为极大型指标(效益型指标)

越小越好,称为极小型指标(成本型指标)

将所有指标转化为极大型称为指标正向化

除极小型,极大型之外,另外还有中间型,区域型

数学建模学习笔记||TOPSIS&&熵权法,数学建模,学习,笔记

数学建模学习笔记||TOPSIS&&熵权法,数学建模,学习,笔记

数学建模学习笔记||TOPSIS&&熵权法,数学建模,学习,笔记

2.标准化处理
  • 标准化公式(消去不同指标量纲的影响)数学建模学习笔记||TOPSIS&&熵权法,数学建模,学习,笔记

3.确定正理想解和负理想解

找到指标的最大值和最小值

数学建模学习笔记||TOPSIS&&熵权法,数学建模,学习,笔记

4.计算距离

数学建模学习笔记||TOPSIS&&熵权法,数学建模,学习,笔记

数学建模学习笔记||TOPSIS&&熵权法,数学建模,学习,笔记

优化:考虑权重

5.计算相对接近度(S越大越接近理想解)

数学建模学习笔记||TOPSIS&&熵权法,数学建模,学习,笔记

熵权法
概念

熵的概念来自于物理学,物理意义是度量热力学系统的无序程度

熵是对不确定信息的一个度量,熵与信息量呈反比,熵值越小越好

熵权法是一种客观赋值方法。在具体使用的过程中,熵权法根据各指标的变异程度,利用信息熵计算出各指标的熵权,再通过熵权对各指标的权重进行修正,从而得到较为客观的指标权重。

信息熵小的,权重大

建模做题的时候建议使用综合主观和客观的权重,因为其更具有说服力!

过程

数据归一化处理;

数学建模学习笔记||TOPSIS&&熵权法,数学建模,学习,笔记

数学建模学习笔记||TOPSIS&&熵权法,数学建模,学习,笔记
数学建模学习笔记||TOPSIS&&熵权法,数学建模,学习,笔记
python代码实现

本文为CSDN博主「笨笨洋~咩」提供的代码

详细内容请查看原文章:

https://blog.csdn.net/qq_25990967/article/details/122592159

#导入相关库
import copy
import pandas as pd
import numpy as np
#读取数据
data=pd.read_excel('D:\桌面\shangquan.xlsx')
print(data)
 
label_need=data.keys()[2:]
print(label_need)
data1=data[label_need].values
print(data1)
 
#指标正向    化处理后数据为data2
data2=data1
print(data2)
 
#越小越优指标位置,注意python是从0开始计数,对应位置也要相应减1
index=[2,3] 
for i in range(0,len(index)):
    data2[:,index[i]]=max(data1[:,index[i]])-data1[:,index[i]]
print(data2)
 
#某点最优型指标
index1=[4] 
a=90    #最优型数值
for i in range(0,len(index1)):
    data2[:,index1[i]]=1-abs(data1[:,index1[i]]-a)/max(abs(data1[:,index1[i]]-a))
print(data2)
 
#0.002~1区间归一化
[m,n]=data2.shape
data3=copy.deepcopy(data2)
ymin=0.002
ymax=1
for j in range(0,n):
    d_max=max(data2[:,j])
    d_min=min(data2[:,j])
    data3[:,j]=(ymax-ymin)*(data2[:,j]-d_min)/(d_max-d_min)+ymin
print(data3)
 
#计算信息熵
p=copy.deepcopy(data3)
for j in range(0,n):
    p[:,j]=data3[:,j]/sum(data3[:,j])
print(p)
E=copy.deepcopy(data3[0,:])
for j in range(0,n):
    E[j]=-1/np.log(m)*sum(p[:,j]*np.log(p[:,j]))
print(E)
 
# 计算权重
w=(1-E)/sum(1-E)
print(w)
 
#计算得分
s=np.dot(data3,w)
Score=100*s/max(s)
for i in range(0,len(Score)):
    print(f"第{i}个评价对象得分为:{Score[i]}")
作用

1.熵权法可对 TOPSIS 法进行修正。
2.熵权法背后的原理是利用指标的变异程度进行赋权,存在一定程度的客观性,可利用主观赋权法求得的权重向量进行综合。
3.客观赋权法存在很多,求得客观权重的方法也有很多,其中灰色关联分析法得到的关联程度也可当作权重进行应用。
4.不同的标准化方法,可能得到的标准化矩阵Z存在差异,因此根据实际情况来使用标准化方法,注意前提都是得到的Z矩阵中没有负数。

声明

本篇笔记相关图片来自于云顶数模课程,内容仅供个人学习使用

相关参考链接:

TOPSIS:

《零基础数学建模》——TOPSIS+熵权法_熵权topsis法-CSDN博客

python代码:

熵权法 —— python_熵权法python-CSDN博客

熵权法作用:

清风数学建模学习笔记——熵权法(客观赋权法)_熵权法求权重步骤-CSDN博客文章来源地址https://www.toymoban.com/news/detail-793467.html

到了这里,关于数学建模学习笔记||TOPSIS&&熵权法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数学建模之熵权法(EWM)matlab实例实现

    本文参考http://blog.sina.com.cn/s/blog_710e9b550101aqnv.html 熵权法是一种客观赋值的方法,即它通过数据所包含的信息量来确定权重,形象的说如果每个人考试都能考100分,那么这个指标对于这些人的评价是毫无意义的,因为没有任何区分度,熵权法就是通过区分度来确定对于特征的

    2023年04月08日
    浏览(44)
  • 优劣解距离法(TOPSIS)——数学建模清风笔记

    构造计算评分的公式:    max,min指已知数据中的最大值和最小值而不是理论上的最大值和最小值 三点解释: (1)比较的对象一般要远大于两个。(例如比较一个班级的成绩) (2)比较的指标也往往不只是一个方面的,例如成绩、工时数、课外竞赛得分等。 (3)有很多指

    2024年01月17日
    浏览(46)
  • 数学建模学习(4):TOPSIS 综合评价模型及编程实战

            需求:我们需要对各个银行进行评价,A-G为银行的各个指标,下面是银行的数据: 清空代码和变量的指令 层次分析法 每一行代表一个对象的指标评分 A为自己构造的输入判别矩阵 求特征值特征向量,找到最大特征值对应的特征向量  找到最大的特征值  找到最大

    2024年02月16日
    浏览(54)
  • 建模笔记——熵权法(Python实现)

    熵权法是一种通过对已知数据的处理,从而获得影响因子权重的方法,其基本思路是根据指标变异性的大小来确定客观权重。 熵权法的优点在于其根据各项指标指标值的变异程度来确定指标权数的,是一种客观赋权法,避免了人为因素带来的偏差。相对那些主观赋值法,精度较

    2024年02月16日
    浏览(45)
  • TOPSIS法(熵权法)(模型+MATLAB代码)

    TOPSIS可翻译为逼近理想解排序法,国内简称为优劣解距离法 TOPSIS法是一种常用的 综合评价方法 , 其能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的距离 极大型指标(效益型指标)  :越高(大)越好 极小型指标(成本型指标)  :越少(小)越好 中间

    2024年02月21日
    浏览(45)
  • 基于熵权法对Topsis模型的修正

    由于层次分析法的最大缺点为:主观性太强,影响判断,对结果有很大影响,所以提出了熵权法修正。 变异程度=方差/标准差。 如何度量信息量的大小: 把不可能的事情变成可能,这里面就有很多信息量。 概率越大,信息量越少 信息熵的定义: 所有概率相等的时候,信息

    2024年02月13日
    浏览(41)
  • 基于熵权法对TOPSIS法模型的修正

    最近在学习数学建模,在B站发现一个特别不错的课程,讲的很全面,常考的算法都有涉及到:清风数学建模 本文将结合熵权法介绍TOPSIS法,并将淡化原理的推导,更侧重于具体应用。 TOPSIS法(优劣解距离法)是一种常用的综合评价方法,能充分利用原始数据的信息,其结果

    2023年04月11日
    浏览(79)
  • topsis算法模型和熵权法使用原理详解

    topsis模型原理: 1.topsis模型介绍 TOPSIS法(Technique for Order Preference by Similarity to Ideal Solution) 可翻译为逼近理想解排序法,国内常简称为优劣解距离法 TOPSIS 法是一种常用的综合评价方法,其能充分利用原始数据的信息, 其结果能精确地反映各评价方案之间的差距。 2.适用范围

    2024年02月04日
    浏览(43)
  • 基于熵权法的topsis分析(包含matlab源码以及实例)

                 目录 一、算法简述          1.topsis分析法          2.熵权法          3.两种算法的结合 二、算法步骤          1.判断指标类型          2.数据正向化          3.正向化矩阵标准化          4.计算概率矩阵P          5.计算各个指标的信息熵

    2024年01月16日
    浏览(40)
  • 数学建模:TOPSIS分析

    🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 假设有m个评价对象,n个评价指标,首先需要进行指标的 正向化 : 极大型 极小型 单点型 区间型 然后对正向化后的矩阵进行 标准化 ,得到 Z Z Z 矩阵:假设 X X X 为正向化后的矩阵,则 Z Z Z 是标准化后的矩阵: X = [ x 11 x 11

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包