熵权法(客观赋权法)

        由于层次分析法的主观性太强,判断矩阵的确定依赖于专家(事实上比赛时都是靠自己的感觉来),自己的主观判断对结果的影响是很大的,故引入熵权法,更加客观的计算权重。

熵是对不确定性的一种度量,从某种角度来看:

不确定性越大,熵就越大,包含的信息量越大,对应的权重越高;

不确定性越小,熵就越小,包含的信息量越小,对应的权重越低。

一、理论步骤

1. 指标正向化 + 标准化

正向化、标准化的具体步骤可见:Topis模型

2. 每个元素所占比重(比重之和为1,即对标准化后的矩阵归一化)

计算概率矩阵P:

P_{ij}=\frac{a_{ij} }{\sum^{n}_{i=1}a_{ij}}

3. 计算每个指标的信息熵e(不确定度)

对于第 j 个指标而言:

4. 计算变异系数

g_{j}=1-e_{j}

对于第 j 个指标而言,其信息熵 ej 越大,变异系数 gj 越小,则代表第 j 个指标的信息越少

5. 计算第 j 个指标的权重

w_{j}=\frac{g_{j} }{\sum^{m}_{j=1}g_{j}}

6. 计算综合评分

 score_{i}=\sum^{m}_{j=1}w_{j}p_{ij}

二、代码

其中A矩阵需要正向化,并且每列代表一个评价的指标

clc,clear;
A=[0.043929512	305	 462.86503	151.7590262	 310.4689	106
   0.043618371	305	 466.16677	152.8415639	 320.0411	110
   0.043255163	305	 470.08111	154.1249541	 324.0803	112
   0.04222088	300	 473.70164	157.9005467	 317.7966	110
   0.041277939	295  476.44736	161.5075797	 313.9846	109
   0.04106454	295	 478.9233	162.3468814	 307.261	107];
[n,m]=size(A);
for j=1:m
    C(:,j)=(A(:,j)-min(A(:,j)))./(max(A(:,j))-min(A(:,j))); 
end
for i=1:n
    for j=1:m
        P(i,j)=C(i,j)./sum(C(:,j));
    end
end
for i=1:n
    for j=1:m
        if P(i,j)==0
            P(i,j)=1E-6  
        end
    end 
end
for j=1:m
    e(j)=(-1/log(n))*sum(P(:,j).*log(P(:,j)));
end
d=1-e
for j=1:m
    w(j)=d(j)/sum(d)
end
s=w*P';s=s';
[ssort,id]=sort(s,'descend')
s,id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值