1 / 5
文档名称:

Matlab学习系列19.-熵值法确定权重.docx

格式:docx   大小:29KB   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Matlab学习系列19.-熵值法确定权重.docx

上传人:小果冻 2024/5/14 文件大小:29 KB

下载得到文件列表

Matlab学习系列19.-熵值法确定权重.docx

相关文档

文档介绍

文档介绍:该【Matlab学习系列19.-熵值法确定权重 】是由【小果冻】上传分享,文档一共【5】页,该文档可以免费在线阅读,需要了解更多关于【Matlab学习系列19.-熵值法确定权重 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。、根本原理在信息论中,熵是对不确定性的一种度量。信息量越大,不确定性就越小,熵也就越小;信息量越小,不确定性越大,熵也越大。根据熵的特性,可以通过计算熵值来判断一个事件的随机性及无序程度,也可以用熵值来判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响〔权重〕越大,其熵值越小。二、,m个指标,那么xij为第i个国家的第j个指标的数值〔i=1,2…,n;?j=1,2,…,m〕;:异质指标同质化由于各项指标的计量单位并不统一,因此在用它们计算综合指标前,先要对它们进行标准化处理,即把指标的绝对值转化为相对值,并令,从而解决各项不同质指标值的同质化问题。而且,由于正向指标和负向指标数值代表的含义不同〔正向指标数值越高越好,负向指标数值越低越好〕,因此,对于上下指标我们用不同的算法进行数据标准化处理。其具体方法如下:正向指标:负向指标:那么为第i个国家的第j个指标的数值〔i=1,2…,n;?j=1,2,…,m〕。为了方便起见,归一化后的数据仍记为xij;::其中,k=1/ln(n)>≥0;:;::三、Matlab实现按上述算法步骤,编写Matlab函数:[s,w]=shang(x)%函数shang(),实现用熵值法求各指标(列〕的权重及各数据行的得分%x为原始数据矩阵,一行代表一个国家,每列对应一个指标%s返回各行得分,w返回各列权重[n,m]=size(x);%n=23个国家,m=5个指标%%数据的归一化处理%Matlab2024b,2024a,b版本都有bug,[X,ps]=mapminmax(x',0,1);即可[X,ps]=mapminmax(x');=;%=;%=-;%归一化后的极差,假设不调整该值,那么逆运算会出错X=mapminmax(x',ps);%mapminmax('reverse',xx,ps);%反归一化,回到原数据X=X';%为归一化后的数据,23行(国家),5列(指标)%%计算第j个指标下,第i个记录占该指标的比重p(i,j)fori=1:nforj=1:mp(i,j)=X(i,j)/sum(X(:,j));endend%%计算第j个指标的熵值e(j)k=1/log(n);forj=1:me(j)=-k*sum(p(:,j).*log(p(:,j)));endd=ones(1,m)-e;%计算信息熵冗余度w=d./sum(d);%求权值ws=w*p';%求综合得分程序测试,现有数据如下:〔〕:x=load('');%读入数据[s,w]=shang(x)运行结果:s==