基于熵权法对Topsis模型的修正

  • Post author:
  • Post category:其他




熵权法

层次分析法是一种评价模型,当没有给出数据时,我们对不同的准则进行分析,最后求得每一种方案的评分,但是有很大的缺点,比如主观性太强、方案层不能过多。而Topsis优劣解距离法可以对已有数据进行分析,经过正向化、标准化、求距离、归一化后即可得到评分。

但是Topsis有一个问题,就是默认每个指标的权重相同,所以也可以用层次分析法求出权重进行修正,由于层次分析法有很大不足,所以这里用熵权法对Topsis进行修正。



一、基本概念



(1)信息量

越有可能发生的事情,信息量就越少,反之越多。

所以可以根据事件发生的概率来衡量信息量的大小。

如果把信息量用字母

I

表示,概率用

p

表示,两者是一个反比例关系,假设

x

表示事件X可能发生的某种情况,,我们定义

I(x)=-ln(p(x))

其中0≤

p(x)

≤1之间,

I(x)

≥0。



(2)信息熵

信息熵是对信息量的期望,假设用

H(x)

来表示,则有





H

(

x

)

=

i

=

1

n

[

p

(

x

i

)

I

(

x

i

)

]

=

i

=

1

n

[

p

(

x

i

)

l

n

(

p

(

x

i

)

)

]

H(x)=\sum_{i=1}^n[p(x_i)I(x_i)]=-\sum_{i=1}^n[p(x_i)ln(p(x_i))]






H


(


x


)




=

















i


=


1


















n

















[


p


(



x










i


















)


I


(



x










i


















)


]




=






















i


=


1


















n

















[


p


(



x










i


















)


l


n


(


p


(



x










i


















)


)


]





可以证明,当p(x

i

)=



1

n

\frac{1}{n}


















n
















1
























时,H(x)取最大值,此时H(x)=lnn(这里也可以看出,信息熵最大时,每个样本的这个指标值都相同,信息量最少)

由于信息熵是对未来信息量的期望,所以信息熵越大,它的内容给你补充的信息量越大,你当前已知的信息量越少。



二、计算步骤



(1)保证标准化矩阵每个元素非负

判断标准化后的矩阵是否存在负数(实际上,topsis中正向化后的矩阵只有极大型指标才可能出现负数),则重新进行标准化(因为后面计算信息量时要保证概率都为非负数)。





Z

i

j

=

x

i

j

m

i

n

{

x

1

j

,

x

2

j

,

,

x

n

j

}

m

a

x

{

x

1

j

,

x

2

j

,

,

x

n

j

}

m

i

n

{

x

1

j

,

x

2

j

,

,

x

n

j

}

Z_{ij}=\frac{x_{ij}-min\lbrace x_{1j},x_{2j},···,x_{nj}\rbrace}{max\lbrace x_{1j},x_{2j},···,x_{nj}\rbrace-min\lbrace x_{1j},x_{2j},···,x_{nj}\rbrace}







Z











i


j





















=



















m


a


x


{




x











1


j



















,





x











2


j



















,



















,





x











n


j



















}









m


i


n


{




x











1


j



















,





x











2


j



















,



















,





x











n


j



















}















x











i


j


























m


i


n


{




x











1


j



















,





x











2


j



















,



















,





x











n


j



















}

























(2)求概率

得到非负矩阵后,计算概率矩阵

P

,计算公式:





P

i

j

=

Z

i

j

i

=

1

n

Z

i

j

P_{ij}=\frac{Z_{ij}}{\sum_{i=1}^nZ_{ij}}







P











i


j





















=
































i


=


1









n





















Z











i


j
































Z











i


j










































(3)求熵权

先求出每个指标的信息熵





e

j

=

1

l

n

n

i

=

1

n

P

i

j

l

n

(

P

i

j

)

e_{j}=-\frac{1}{ln n}\sum_{i=1}^nP_{ij}ln(P_{ij})







e











j





















=






















l


n


n














1































i


=


1


















n




















P











i


j



















l


n


(



P











i


j



















)







由于信息熵越大,信息量越小,所占的权重也越小,由此得出信息效用值得定义:





d

j

=

1

e

j

d_{j}=1-e_{j}







d











j





















=








1














e











j
























那么信息效用值越大,信息量就越大。

将信息效用值归一化,即可得到每个指标得熵权:





W

j

=

d

j

j

=

1

n

d

j

W_{j}=\frac{d_{j}}{\sum_{j=1}^nd_{j}}







W











j





















=
































j


=


1









n





















d











j
































d











j










































然后在求优劣解的距离时,乘上对应指标的权重即可。



三、关于熵权法的讨论

熵权法,数据样本就决定了每个指标的权重,可理解为方差越大,信息量就越大,这个指标所占的权重越大,但是有一定的缺陷。例如这个例子:

​ X 、Y两个指标,用来评定三好学生,X 表示违纪上档案的次数,Y 表示逃课的次数,显然在生活中, X 对评定的影响程度很大,(违纪了基本与三好学生无缘了\滑稽)但是用熵权法的话,几乎所有人的X都是0,那么 X 的方差就很小,权重就很小,这显然是不合理的。

所以论文中最好不要用,但是在比赛中还是比较常用的。



版权声明:本文为luxurie原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。