解决问题

建模比赛中最基础的模型之一,其主要用于解决评价类问题(例如:选择哪种方案最好、哪位运动员或者员工表现的更优秀),用于确定每个指标所占权重,权重用于计算最终得分。

优点

层次分析法最大的缺点在于判断矩阵的确定依赖于专家,如果专家的判断存在主观性的话, 会对结果产生很大的影响。

熵权法是一种客观赋权方法 ,它依据的原理是:指标的变异程度越小,所反映的信息量也越少,其对应 的权值也应该越低(客观= 数据本身就可以告诉我们权重)。

缺点

因为概率p是位于0‐1之间,因此需要对原始数据进行标准化,我们应该选择哪种方式进行标准化呢?查看知网的文献会发现, 并没有约定俗成的标准,每个人的选取可能 都不一样。但是不同方式标准化得到的结果可能有很大差异,所以说熵权法也存在着一定的问题。

一般步骤

1. 判断输入的矩阵中是否存在负数,如果有则要重新标准化到非负区间 (后面计算概率时需要保证每一个元素为非负数)


数据正向化过程请参考文章:
数学建模常用算法—优劣解距离法(TOPSIS)
https://blog.csdn.net/cyj972628089/article/details/107541291

2. 计算第j项指标下第i个样本所占的比重,并将其看作相对熵计算中用到的概率

3. 计算每个指标的信息熵,并计算信息效用值,并归一化得到每个指标的熵权

代码

 Z = [];     % n*m的矩阵(要经过正向化和标准化处理,且元素中不存在负数)[n,m] = size(Z);D = zeros(1,m);  % 初始化保存信息效用值的行向量for i = 1:mx = Z(:,i);  % 取出第i列的指标p = x / sum(x);% 注意,p有可能为0,此时计算ln(p)*p时,Matlab会返回NaN,所以这里我们自己定义一个函数e = -sum(p .* mylog(p)) / log(n); % 计算信息熵D(i) = 1- e; % 计算信息效用值endW = D ./ sum(D);  % 将信息效用值归一化,得到权重
end
function [lnp] =  mylog(p)
n = length(p);   % 向量的长度
lnp = zeros(n,1);   % 初始化最后的结果for i = 1:n   % 开始循环if p(i) == 0   % 如果第i个元素为0lnp(i) = 0;  % 那么返回的第i个结果也为0elselnp(i) = log(p(i));  endend
end

数学建模常用算法—熵权法(EWM)相关推荐

  1. 【Python数学建模常用算法代码(二)之BP神经网络】

    Python数学建模常用算法代码(二) BP神经网络模型Python代码 import numpy as np import math import random import string impo ...

  2. 数学建模常用算法—优劣解距离法(TOPSIS)

    解决问题 建模比赛中最基础的模型之一,其主要用于解决评价类问题(例如:选择哪种方案最好.哪位运动员或者员工表现的更优秀),用于确定各个方案层的最终得分. 优点 TOPSIS 法是一种常用的综合评价方法 ...

  3. 二维动态规划降维误差一般为多少_数学建模常用算法模型

    数学模型的分类 按模型的数学方法分: 几何模型.图论模型.微分方程模型.概率模型.最优控制模型.规划论模型.马氏链模型等 按模型的特征分: 静态模型和动态模型,确定性模型和随机模型,离散模型和连续性模 ...

  4. 《零基础数学建模》——TOPSIS+熵权法

    目录 ​ 前言 一.TOPSIS法(优劣解距离法) 1.模型原理 2.建模步骤 二.模型实现 第一步:将原始矩阵正向化 第二步:正向化矩阵标准化 第三步:计算得分并归一化 四.TOPSIS模型的总结与 ...

  5. (1)评价算法—熵权法

    文章目录 1.什么是熵权法 1.1 优点 1.2 缺点 1.3 适用范围 2.使用熵权法过程 2.1 数据预处理 2.1.1清洗指标极值 2.1.2 归一化指标处理 2.1.2.1 临界值法 2.1. ...

  6. 数学建模常用算法—马尔可夫预测

    今天数模君带大家学习一下数学建模中的预测算法之马尔科夫预测. 目录 模型的含义 实例分析 模型的含义 马尔可夫(Markov)预测法,就是一种关于事件发生的概率预测方法.它是根据事件的目前状况来预测其 ...

  7. 数学建模常用算法—灰色预测

    今天数模君给大家讲解一下数学建模比赛中常用的一种预测方法:灰色预测法. 目录 模型的含义 灰色预测的原理 实例 模型的含义 灰色预测模型 ( Gray Forecast Model )是通过少量的.不 ...

  8. 数学建模常用算法汇总及python,MATLAB实现(五) —— 拟合

    拟合 比较重要的就是2.1和2.3 2.2可以浅看一下, 自己敲着试一试 就拟合部分来说, MATLAB比python强大很多, 自带cftool工具包, 并且有很多快速的函数, 个人建议使用MATL ...

  9. 【数学建模常用算法】之灰色预测模型GM

    作者:張張張張 github地址:https://github.com/zhanghekai [转载请注明出处,谢谢!] 文章目录 一.灰色预测模型GM(1,1) 1.数据检验与数据预处理 1.1 构 ...

  10. 数学建模常用算法汇总及python,MATLAB实现(六) —— pandas和matlab实现插值

    插值 2的拉格朗日插值用的其实比较少, 可以看一下了解一下插值的原理 主要看看3里的结论和4的实现代码 文章目录 插值 1. 定义 2.拉格朗日插值 2.1 概念 3. Rouge现象 3.1 是什么 ...

最新文章

  1. [转]XPS转JPG转换器
  2. jq onclick 定义_从HTML中的onClick属性调用jQuery方法
  3. 如何把不同尺寸ico格式图标_还在为图标设计犯难?这篇告诉你图标设计so easy!...
  4. tcp前4字节消息长度_RocketMQ的消息存储格式
  5. 简单线性分类学习机(平分最近点法)matlab实现
  6. 新生命 · 人工智能 · 未来
  7. [记录] --- safari浏览器对于yyyy-MM的坑
  8. Python中浅拷贝和深拷贝的理解与研究
  9. 转载:做了5年运维,靠着这份监控知识体系,我从3K变成了40K
  10. 如何在 Mac 上的“磁盘工具”中使用密码加密和保护储存设备?
  11. python标准库math中用来计算平方根的函数_Python程序设计试题(卷)库
  12. 无线网服务器在哪里设置方法,无线网络如何设置静态ip地址
  13. 问脉首创旁路云原生安全检测框架!
  14. python 实现多元线性回归
  15. 【记忆化搜索/数位DP】zznu2175(长度为n的含有ACM的字符串)
  16. SPI接口的MISO和MOSI连接时注意
  17. English digest
  18. SecureCRT连接开发板
  19. 抖音快手B站等平台视频检测机制和规避方法
  20. android系统ime指令

热门文章

  1. 重置linux系统root密码,CentOS(Linux)重置root密码
  2. 负载均衡性能参数如何测评?
  3. Nginx 配置长连接
  4. win7计算机高级还原,主编教您win7怎么一键还原
  5. [数学学习笔记]函数的连续性
  6. docker服务假死解决方案
  7. Weighted Boxes Fusion加权检测框合并
  8. phalapi可以依赖注入么_[2.11]-核心思想:DI依赖注入-让资源更可控 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...
  9. 读书笔记 - 《上帝的跳蚤》
  10. 分布式事务之 LCN 框架实现方案的原理、配置与使用