基于熵权法对Topsis模型的修正
熵权法
层次分析法是一种评价模型,当没有给出数据时,我们对不同的准则进行分析,最后求得每一种方案的评分,但是有很大的缺点,比如主观性太强、方案层不能过多。而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(xi)I(xi)]=−i=1∑n[p(xi)ln(p(xi))]
可以证明,当p(xi)= 1 n \frac{1}{n} n1时,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}
Zij=max{x1j,x2j,⋅⋅⋅,xnj}−min{x1j,x2j,⋅⋅⋅,xnj}xij−min{x1j,x2j,⋅⋅⋅,xnj}
(2)求概率
得到非负矩阵后,计算概率矩阵P
,计算公式:
P
i
j
=
Z
i
j
∑
i
=
1
n
Z
i
j
P_{ij}=\frac{Z_{ij}}{\sum_{i=1}^nZ_{ij}}
Pij=∑i=1nZijZij
(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})
ej=−lnn1i=1∑nPijln(Pij)
由于信息熵越大,信息量越小,所占的权重也越小,由此得出信息效用值得定义:
d
j
=
1
−
e
j
d_{j}=1-e_{j}
dj=1−ej
那么信息效用值越大,信息量就越大。
将信息效用值归一化,即可得到每个指标得熵权:
W
j
=
d
j
∑
j
=
1
n
d
j
W_{j}=\frac{d_{j}}{\sum_{j=1}^nd_{j}}
Wj=∑j=1ndjdj
然后在求优劣解的距离时,乘上对应指标的权重即可。
三、关于熵权法的讨论
熵权法,数据样本就决定了每个指标的权重,可理解为方差越大,信息量就越大,这个指标所占的权重越大,但是有一定的缺陷。例如这个例子:
X 、Y两个指标,用来评定三好学生,X 表示违纪上档案的次数,Y 表示逃课的次数,显然在生活中, X 对评定的影响程度很大,(违纪了基本与三好学生无缘了\滑稽)但是用熵权法的话,几乎所有人的X都是0,那么 X 的方差就很小,权重就很小,这显然是不合理的。
所以论文中最好不要用,但是在比赛中还是比较常用的。