赞
踩
TOPSIS 法是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。
基本过程为先将原始数据矩阵统一指标类型(一般正向化处理)得到正向化的矩阵,再对正向化的矩阵进行标准化处理以消除各指标量纲的影响,并找到有限方案中的最优方案和最劣方案,然后分别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。该方法对数据分布及样本含量没有严格限制,数据计算简单易行。
对于原始数据:
X
=
[
a
11
…
a
1
m
⋮
⋱
⋮
a
n
1
…
a
n
m
]
n
×
m
X=
进行标准化:
Z i j = x i j ∑ i = 1 n x i j 2 Z_{ij}=\frac{x_{ij}}{\sqrt{\sum_{i=1}^nx_{ij}^2}} Zij=∑i=1nxij2 xij
MATLAB代码:
X = [89,1; 60,3; 74,2; 99,0]
[n , m] = size(X)
Z = X ./ repmat(sum(X.*X) .^ 0.5, n, 1)
min-max归一化方程:
x s c a l e = x − x m i n x m a x − x m i n x_{scale}=\frac{x-x_{min}}{x_{max}-x_{min}} xscale=xmax−xminx−xmin
例如:
中间型指标:指标值既不要太大也不要太小,取某特定值最好(如水质量评估 PH 值)
转化公式:
M
=
m
a
x
∣
x
i
−
x
b
e
s
t
∣
M=max{|x_{i}-x_{best}|}
M=max∣xi−xbest∣
x ˜ i = 1 − ∣ x i − x b e s t ∣ M \text{\~{x}}_i = 1-\frac{|x_i-x_{best}|}{M} x˜i=1−M∣xi−xbest∣
实际上本质还是使用的是到 x b e s t x_{best} xbest距离作为标准,不过Topsis定义是极大化,所以还是要进行转化的
{ x i } \{x_i\} {xi}就是一组区间型指标序列,且最佳区间1 [ a , b ] [ a, b] [a,b],那么正向化指标公式如下:
M
=
m
a
x
{
a
−
m
i
n
{
x
i
}
,
m
a
x
{
x
i
}
−
b
}
M=max\{a-min\{x_i\},max\{x_i\}-b\}
M=max{a−min{xi},max{xi}−b}
x
˜
i
=
{
1
−
a
−
x
i
M
,
x
i
<
a
1
a
≤
x
i
≤
b
1
−
x
i
−
b
M
,
x
i
>
b
\text{\~x}_i=
就是通过计算和数据样本各个指标绝对最值之间的欧式距离,然后通过min-max思想来评判样本的优劣程度
X = [89,1;60,3;74,2;99,0]
[n , m] = size(X);
Z = X ./ repmat(sum(X.*X) .^ 0.5,n,1);
D_P = sum([(Z - repmat(max(Z),n,1)).^2 ],2) .^ 0.5 % D+向量
D_N = sum([(Z - repmat(min(Z),n,1)).^2 ],2) .^ 0.5 % D-向量
S = D_N ./ (D_P + D_N)
实际上Topsis就是对于同一种目标哪个是最优的选择,就是根据当前数据样本每个特征的最优值的距离作为我们的判断指标,但是有一个致命的缺点:我们经典的Topsis算法对于每一项指标的权值默认相同的,就是说他会本质是根据每个样本在每个特征中最大绝对差值中的位置决定了在结果中距离的贡献,这可能是不是最优的选择,所以我们想在Topsis基础之上通过某种方式给每种指标一个权重,于是引入熵权法给每个指标一个权值。
假设
x
i
x_i
xi 表示事件
X
X
X 可能发生的某种情况,
p
(
x
i
)
p(x_i)
p(xi) 表示这种情况发生的概率 ,
那么我们可以定义事件
X
X
X 的信息熵(和机器学习中的信息熵相同)为:
H ( X ) = − ∑ i = 1 n [ p ( x i ) ln ( p ( x i ) ) ] H(X)=-\sum_{i=1}^{n}\left[p\left(x_{i}\right) \ln \left(p\left(x_{i}\right)\right)\right] H(X)=−i=1∑n[p(xi)ln(p(xi))]
从上面的公式可以看出,信息熵的本质就是对信息量的期望值。
可以得:
当
p
(
x
1
)
=
p
(
x
2
)
=
⋯
=
p
(
x
n
)
=
1
n
时
,
H
(
x
)
p\left(x_{1}\right)=p\left(x_{2}\right)=\cdots=p\left(x_{n}\right)=\frac{1}{n} 时, H(x)
p(x1)=p(x2)=⋯=p(xn)=n1时,H(x) 取最大值, 此时
H
(
x
)
=
ln
n
H(x)=\ln n
H(x)=lnn
H ( X ) H(X) H(X)就是我们对于指标中的权值,在Topsis中直接引入。
那么, 对其标准化的矩阵记为 Z, Z 中的每一个元素:
z
i
j
=
x
i
j
/
∑
i
=
1
n
x
i
j
2
z_{i j}=x_{i j} / \sqrt{\sum_{i=1}^{n} x_{i j}^{2}}
zij=xij/∑i=1nxij2
判断 Z 矩阵中是否存在着负数, 如果存在的话, 需要对 X 使用另一种标准化方法对矩阵
X
X
X 进行一次标准化得到
Z
~
\tilde{Z}
Z~ 矩阵, 其标准化的公式为:
z ~ i j = x i j − min { x 1 j , x 2 j , ⋯ , x n j } max { x 1 j , x 2 j , ⋯ , x n j } − min { x 1 j , x 2 j , ⋯ , x n j } \tilde{z}_{i j}=\frac{x_{i j}-\min \left\{x_{1 j}, x_{2 j}, \cdots, x_{n j}\right\}}{\max \left\{x_{1 j}, x_{2 j}, \cdots, x_{n j}\right\}-\min \left\{x_{1 j}, x_{2 j}, \cdots, x_{n j}\right\}} z~ij=max{x1j,x2j,⋯,xnj}−min{x1j,x2j,⋯,xnj}xij−min{x1j,x2j,⋯,xnj}
假设有 n 个要评价的对象, m 个评价指标, 且经过了上一步处理得到的非负矩阵为:
Z
~
=
[
z
~
11
z
~
12
⋯
z
~
1
m
z
~
21
z
~
22
⋯
z
~
2
m
⋮
⋮
⋱
⋮
z
~
n
1
z
~
n
2
⋯
z
~
n
m
]
\tilde{Z}=\left[
我们计算概率矩阵
P
P
P , 其中
P
P
P 中每一个元素
p
i
j
p_{i j}
pij 的计算公式如下:
p
i
j
=
z
~
i
j
∑
i
=
1
n
z
~
i
j
p_{i j}=\frac{\tilde{z}_{i j}}{\sum_{i=1}^{n} \tilde{z}_{i j}}
pij=∑i=1nz~ijz~ij
容易验证:
∑
i
=
1
n
p
i
j
=
1
\sum_{i=1}^{n} p_{i j}=1
∑i=1npij=1 , 即保证了每一个指标所对应的概率和为 1
e j = − 1 ln n ∑ i = 1 n p i j ln ( p i j ) ( j = 1 , 2 , ⋯ , m ) e_{j}=-\frac{1}{\ln n} \sum_{i=1}^{n} p_{i j} \ln \left(p_{i j}\right)(j=1,2, \cdots, m) ej=−lnn1i=1∑npijln(pij)(j=1,2,⋯,m)
p ( x 1 ) = p ( x 2 ) = ⋯ = p ( x n ) = 1 n p\left(x_{1}\right)=p\left(x_{2}\right)=\cdots=p\left(x_{n}\right)=\frac{1}{n} p(x1)=p(x2)=⋯=p(xn)=n1时, H ( x ) H(x) H(x) 取最大值, 此时 H ( x ) = ln n H(x)=\ln n H(x)=lnn 除以 ln n \ln n lnn 能够使得信息熵的始终位于 [ 0 , 1 ] [0,1] [0,1] 区间上面。
信息熵越大,包含的信息量越小,有兴趣可以看一下李航老师统计学习方法的决策树对信息熵的解释。
信息效用值的定义:
d
j
=
1
−
e
j
d_{j}=1-e_{j}
dj=1−ej
那么信息效用值越大, 其对应的信息就越多。将信息效用值进行归一化, 我们就能够得到每个指标的熵权:
W
j
=
d
j
/
∑
j
=
1
m
d
j
(
j
=
1
,
2
,
⋯
,
m
)
W_{j}=d_{j} / \sum_{j=1}^{m} d_{j}(j=1,2, \cdots, m)
Wj=dj/j=1∑mdj(j=1,2,⋯,m)
就是将 W j W_j Wj通过和距离的结合决定和最优值的距离,相对来说比较合理,其他步骤和Topsis相同
D
i
+
=
∑
j
=
1
m
W
j
(
Z
j
+
−
z
i
j
)
2
D
i
−
=
∑
j
=
1
m
W
j
(
Z
j
−
−
z
i
j
)
2
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。