Matlab计算熵权法

wbj3106 于 2018-09-01 20:32:44 发布 56854 收藏 473
文章标签: matlab 熵权法 客观赋权
版权
如需转载,请注明来源,谢谢合作。
若本文对您有一点点的帮助,欢迎点赞、评论和关注。您的鼓励和支持是我继续学习和分享的动力。
**熵权法是一种根据包含各个变量的变异程度进行赋权的方法,是一种客观赋权法。**而直接给定变量权重或者专家打分给出权重则属于主观赋权法。熵权法的思想是:变量数值变化越大,变异程度越大,则其权重应该更大;反之权重则越小。这是较为合理的。
熵权法计算过程不难,运用excel也可计算。但其本身较为繁杂,需要做多个变量甚至多个个体时,matlab就显示了矩阵运算快速、准确和方便的特点。作者也提供了利用excel和matlab计算的对比案例数据,供大家参考、理解和交流。

熵权法的计算公式:
在这里插入图片描述

————————————————
版权声明:本文为CSDN博主「wbj3106」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wbj3106/article/details/82290445

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
熵权法是一种常用于多指标决策的方法,它能够根据指标的信息熵来确定权重。在Matlab中,可以通过编写相应的函数实现熵权法。 下面是一个使用Matlab实现熵权法的示例代码: ```matlab function [s,w]=shang(x) % 函数shang.m,实现用熵值法求各指标(列)的权重及各数据行的得分 % x为原始数据矩阵,一行代表一个国家,每列对应一个指标 % s返回各行得分,w返回各列权重 [n,m]=size(x); % n为国家个数,m为指标个数 %% 数据的归一化处理 [X,ps]=mapminmax(x'); % 使用mapminmax函数对数据进行归一化处理 %% 计算第j个指标下,第i个记录占该指标的比重p(i,j) for i=1:n for j=1:m p(i,j)=X(i,j)/sum(X(:,j)); end end %% 计算第j个指标的熵值e(j) k=1/log(n); for j=1:m e(j)=-k*sum(p(:,j).*log(p(:,j))); end d=ones(1,m)-e; % 计算信息熵冗余度 w=d./sum(d); % 求权值w s=w*p'; % 求综合得分 end ``` 使用以上代码,可以得到每个指标的权重和每个数据行的得分。 希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Matlab实现熵权法计算权重和综合评分——附增完整代码和测试用例](https://blog.csdn.net/qq_33375598/article/details/116140709)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【matlab熵权法计算指标权重】](https://blog.csdn.net/weixin_57662182/article/details/126977983)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值