- 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)