数学建模--熵权法

熵权法

评价类问题介绍

一般解决评价类问题:方法 层次分析法、Topsis

​ 局限性:主观性太强、不确定指标的选取为多少适宜

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

​ 最重要步骤:权重的选择、

什么是熵权法

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

比如犯人提供信息,提供的越多 信息量越多,越有序,熵值越小 信息熵小的,权重大

熵权法步骤

1)首先对数据进行归一化处理:

image-20231209200124905

2)计算第j项指标下第i方案指标值的比重p^ij

image-20231209200141716

3)计算第j项指标的信息熵值

image-20231209200209101

4) 计算信息熵冗余度:

image-20231209200314678

5) 计算各项指标权重:

image-20231209200335090

6)计算综合得分

image-20231209200407590

回顾

image-20231209200432927

熵权法应用

image-20231209200514707

tic; %检测时间

clear;
close;
clc;
x=xlsread('data-上课.xlsx');  %打开数据
[n,m]=size(x);      %获取n行样本 m行指标
%% 1.每一个指标下面对样本进行归一化
for i=1:m    
    x(:,i)=GuiYiFa(x(:,i),1,0.002,1);
end
%% 2.计算比重
p=ones(n,m);
for i =1:n
    for j=1:m
        p(i,j)= x(i,j)/(sum(x(:,j)));
    end
end

%% 3.计算每个数据的熵值
k=1/(log(n));
for i=1:m
    e(i)=-k*sum(p(:,i).*log(p(:,i)));
end

%% 4.计算信息熵冗余度
d=ones(1,m);
d=1-e;
%% 5.计算各项权重指标
w=d./sum(d);

%% 6.计算综合得分 并画图
s=x*w';
plot(2017:-1:2010,s) %注意是哪一年在上

toc;% 检测时间


%封装归一化函数
function y=GuiYiFa(x,type,ymin,ymax) 
%实现正向或负向指标归一化,返回归一化后的数据矩阵 
%x为原始数据矩阵, 一行代表一个样本, 每列对应一个指标
%type设定正向指标1,负向指标2  
%ymin,ymax为归一化的区间端点 
[n,m]=size(x); 
y=zeros(n,m);
xmin=min(x); 
xmax=max(x); 
switch type 
    case 1 
        for j=1:m 
            y(:,j)=(ymax-ymin)*(x(:,j)-xmin(j))/(xmax(j)-xmin(j))+ymin; 
        end
    case 2 
        for j=1:m 
            y(:,j)=(ymax-ymin)*(xmax(j)-x(:,j))/(xmax(j)-xmin(j))+ymin; 
        end
end

熵权法作业

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值