熵值法的用法.docVIP

  • 60
  • 0
  • 约1.63千字
  • 约 4页
  • 2022-10-24 发布于浙江
  • 举报
熵值法的用法 熵值法 1 基本原理 在信息论中,熵是对不确定性的一种度量。信息量越大,不确定性就越小,熵也就越小;信息量越小,不确定性越大,熵也越大。根据熵的特性,我们可以通过计算熵值来判断一个事件的随机性及无序程度,也可以用熵值来判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响越大。 2、熵值法步骤 x?选取n个国家,m个指标,则为第i个国家的第j个指标的数值。(i=1,2…,n; j=1,2,…,m) ij (2) 指标的标准化处理:异质指标同质化 由于各项指标的计量单位并不统一,因此在用它们计算综合指标前,我们先要对它们进行标准化处理,即把指标的绝对值转化为相对值,并令,从而解决各项不同质指标值的xx,ijij 同质化问题。而且,由于正向指标和负向指标数值代表的含义不同(正向指标数值越高越好,负向指标数值越低越好) ,因此,对于高低指标我们用不同的算法进行数据 标准化处理。其具体方法如下: ,,xxxx,min(,,...,)ijjjnj12正向指标: x,,100 ,,ijmax(,,...,)min(,,...,)xxxxxx,,,1212jjnjjjnj,, ,,max(,,...,)xxxx,12jjnjij负向指标: x,,100 ,,ijmax(,,...,)min(,,...,)xxxxxx,,,1212jjnjjjnj,, 则为第i个国家的第j个指标的数值。(i=1,2…,n; j=1,2,…,m)。为了方便起见,仍记数xij 据。 xx,ijij (3)计算第j项指标下第个国家占该指标的比重: i Xij ,,,,(1,2...,,1,2...,)pinjmijn X,ij,1i (4)计算第j项指标的熵值。 n ekpp,,ln()e,0kn,1/ln(),其中,,, k,0,jijijji,1 (5)计算第j项指标的差异系数。对第j项指标,指标值的差异越大,对方案评价的左右就越大,熵值就越小,定义差异系数: mm1,ej01,,g,式中,, Ee,g,1g,i,,ejjjmE,j,1,1je (6):求权值: gj ,,,(1)wjmjm g,j,1j (7):计算各国家的综合得分: m swpin,,,(1,2,...) ,ijij,1j 熵值法MATLAB代码 (2009-08-18 22:33:20) 转载 function shang(x) [n,m]=size(x); k=1/log(n); X=zeros(n,m); for j=1:m for i=1:n c=sort(x(:,j)); big=x(n,j); small=x(1,j); X(i,j)=(x(i,j)-small)/(big-small)+1; end end p=[]; for j=1:m th=0; for t=(X(:,1)) th=th+t; end Ph=X(:,j)/th; p=[p Ph]; end e=[]; for j=1:m eg=0; for i=1:n eh=-k*p(i,j)*log(p(i,j)); eg=eg+eh; end e=[e,eg]; end E=0; for j=1:m E=E+e(j); end g=[]; for j=1:m gh=(1-e(j))/(m-E); g=[g,gh]; end Eh=0; for nh=g Eh=Eh+nh; end w=[]; for j=1:m wh=g(j)/Eh; w=[w,wh]; end s=[]; for i=1:n sh=w(i)*p(i,:); shen=0; for she=sh shen=shen+she; end s=[s ,shen]; end

文档评论(0)

1亿VIP精品文档

相关文档