赞
踩
补充:TOPSIS法(优劣解距离法)介绍及 python3 实现
熵值法的主要目的是对指标体系进行赋权
熵越大说明系统越混乱,携带的信息越少,权重越小;熵越小说明系统越有序,携带的信息越多,权重越大。
熵值法是一种客观赋权方法,借鉴了信息熵思想,它通过计算指标的信息熵,根据指标的相对变化程度对系统整体的影响来决定指标的权重,即根据各个指标标志值的差异程度来进行赋权,从而得出各个指标相应的权重,相对变化程度大的指标具有较大的权重。
假设有m个待评价样本,n项评价指标,形成原始指标数据矩阵:
X
=
(
x
11
.
.
.
x
1
n
⋮
⋱
⋮
x
m
1
⋯
x
m
n
)
X=\left(
其中
X
i
j
X_{ij}
Xij 表示第 i 个样本第 j 项评价指标的数值。
对于某项指标 X j X_j Xj,样本的离散程度越大,则该指标在综合评价中所起的作用就越大。如果该指标的标志值全部相等,则表示该指标在综合评价中不起作用。
例如:
语文 | 数学 | 英语 | 音乐 | |
---|---|---|---|---|
张三 | 50 | 44 | 85 | 90 |
李四 | 33 | 74 | 20 | 78 |
王五 | 46 | 38 | 88 | 10 |
陈六 | 65 | 45 | 98 | 51 |
杨七 | 13 | 65 | 12 | 45 |
或者
GDP | 就业人数 | 财政支出 | 人均可支配收入 | |
---|---|---|---|---|
北京 | xx | xx | xx | xx |
上海 | xx | xx | xx | xx |
广州 | xx | xx | xx | xx |
深圳 | xx | xx | xx | xx |
为消除因量纲不同对评价结果的影响,需要对各指标进行归一化或者标准化处理。
归一化处理:
若所用指标的值越大越好(正向指标:)
x
i
j
′
=
x
j
−
x
min
x
max
−
x
min
x'_{ij}=\frac{x_j-x_{\min}}{x_{\max}-x_{\min}}
xij′=xmax−xminxj−xmin
若所用指标的值越小越好(负向指标:)
x
i
j
′
=
x
max
−
x
j
x
max
−
x
min
x'_{ij}=\frac{x_{\max}-x_j}{x_{\max}-x_{\min}}
xij′=xmax−xminxmax−xj
其中 x j x_j xj为第 j 项指标值, x m a x x_{max} xmax为第 j 项指标的最大值, x m i n x_{min} xmin为第 j 项指标的最小值。
或者标准化处理:
x
i
j
′
=
x
i
j
−
x
ˉ
j
S
j
x'_{ij}=\frac{x_{ij}-\bar{x}_j}{S_j}
xij′=Sjxij−xˉj
计算第 j 个指标中,第 i 个样本标志值的比重:
p
i
j
=
x
i
j
∑
i
m
x
i
j
,
0
≤
p
i
j
≤
1
p_{ij}=\frac{x_{ij}}{\sum_i^m{x_{ij}}}\,\,\,\,\,\,\text{,}0\le p_{ij}\le 1
pij=∑imxijxij,0≤pij≤1
此,可以建立数据的比重矩阵
P
=
(
p
11
.
.
.
p
1
n
⋮
⋱
⋮
p
m
1
⋯
p
m
n
)
P=\left(
e j = − k ∑ i m p i j ln p i j e_j=-k\sum_i^m{p_{ij}}\ln p_{ij} ej=−ki∑mpijlnpij
其中,常数
k
>
0
,
k
=
1
ln
m
k>0\text{,}k=\frac{1}{\ln m}
k>0,k=lnm1
保证
0
≤
e
j
≤
1
0\le e_j\le 1
0≤ej≤1,即
e
j
e_j
ej最大为1
所以,第 j 个指标的熵值为
e
j
=
−
1
ln
m
∑
i
m
p
i
j
ln
p
i
j
e_j=-\frac{1}{\ln m}\sum_i^m{p_{ij}}\ln p_{ij}
ej=−lnm1i∑mpijlnpij
熵值法根据各个指标标志值的差异程度来进行赋权,从而得出各个指标相应的权重
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}^n{d_j}} wj=∑j=1ndjdj
F
i
=
∑
j
=
1
n
w
j
p
i
j
F_i=\sum_{j=1}^n{w_jp_{ij}}
Fi=j=1∑nwjpij
其中
F
i
F_i
Fi第 i 个待评价样本的综合评价值
语文 | 数学 | 英语 | 音乐 | 综合评价值F | |
---|---|---|---|---|---|
张三 | 50 | 44 | 85 | 90 | F 1 F_1 F1 |
李四 | 33 | 74 | 20 | 78 | F 2 F_2 F2 |
王五 | 46 | 38 | 88 | 10 | F 3 F_3 F3 |
陈六 | 65 | 45 | 98 | 51 | F 4 F_4 F4 |
杨七 | 13 | 65 | 12 | 45 | F 5 F_5 F5 |
TOPSIS是通过逼近理想解的程度来评估各个样本的优劣等级
在归一化后的原始数据矩阵中,找到有限方案中的最优方案和最劣方案,然后分别计算评价对象与最优方案和最劣方案之间的距离,并以此作为依据来评价样本的优劣等级。
假设有n个待评价样本,p项评价指标,形成原始指标数据矩阵:
X
=
(
x
11
.
.
.
x
1
p
⋮
⋱
⋮
x
n
1
⋯
x
n
p
)
X=\left(
.使指标具有同趋势性。评价指标中有正向指标和负向指标之分,一般把负向指标转化为正向指标,转化的方法可采用倒数法(即1/X),多适用于绝对数指标;差值法(即1-X),多适用于相对数指标。转化后的数据矩阵仍记为X。
.数据无量纲化.。将原始数据归一化,以消除量纲向量数据归一化的方式:
z
i
j
=
x
i
j
∑
i
x
i
j
2
z_{ij}=\frac{x_{ij}}{\sqrt{\sum_i^{}{x_{ij}^2}}}
zij=∑ixij2
xij
最终得到分析数据矩阵
Z
=
(
z
11
z
12
⋯
z
1
p
z
21
z
22
⋯
z
2
p
⋮
⋮
⋱
⋮
z
n
1
z
n
2
⋯
z
n
p
)
Z=\left(
找出各项指标的最优值和最劣值,建立最优值向量
z
+
z^+
z+和最劣值向量
z
−
z^-
z−
z
+
=
max
n
j
(
z
1
+
,
z
2
+
,
⋯
,
z
p
+
)
z^+=\underset{n\ \ j}{\max}\left( z_1^+,z_2^+,\cdots ,z_p^+ \right)
z+=n jmax(z1+,z2+,⋯,zp+)
z
−
=
min
n
j
(
z
1
−
,
z
2
−
,
⋯
,
z
p
−
)
z^-=\underset{n\ \ j}{\min}\left( z_1^-,z_2^-,\cdots ,z_p^- \right)
z−=n jmin(z1−,z2−,⋯,zp−)
D
i
+
=
∑
j
(
z
i
j
−
z
j
+
)
2
D_i^+=\sqrt{\sum_j^{}{\left( z_{ij}-z_j^+ \right) ^2}}
Di+=j∑(zij−zj+)2
D
i
−
=
∑
j
(
z
i
j
−
z
j
−
)
2
D_i^-=\sqrt{\sum_j^{}{\left( z_{ij}-z_j^- \right) ^2}}
Di−=j∑(zij−zj−)2
C i = D i − D i + + D i − C_i=\frac{D_i^-}{D_i^++D_i^-} Ci=Di++Di−Di−
根据 C i C_i Ci的大小进行排序, C i C_i Ci越大,表明评价对象越接近最优值。
.
可以结合熵值法 和 TOPSIS法各自的特点,进行评价。
假设有n个待评价样本,p项评价指标,形成原始指标数据矩阵:
X
=
(
x
11
.
.
.
x
1
p
⋮
⋱
⋮
x
n
1
⋯
x
n
p
)
X=\left(
其中 X i j X_{ij} Xij 表示第 i 个样本第 j 项评价指标的数值。
p i j = x i j ∑ i = 1 n x i j p_{ij}=\frac{x_{ij}}{\sum_{i=1}^n{x_{ij}}} pij=∑i=1nxijxij
e j = − 1 ln n ∑ i = 1 n p i j ln p i j , e j ∈ [ 0 , 1 ] e_j=-\frac{1}{\ln n}\sum_{i=1}^n{p_{ij}\ln p_{ij}}\ \ \text{,}e_j\in \left[ 0,1 \right] ej=−lnn1i=1∑npijlnpij ,ej∈[0,1]
d j = 1 − e j d_j=1-e_j dj=1−ej
w j = d j ∑ j = 1 p d j w_j=\frac{d_j}{\sum_{j=1}^p{d_j}} wj=∑j=1pdjdj
z i j = x i j ∑ i = 1 n x i j 2 z_{ij}=\frac{x_{ij}}{\sqrt{\sum_{i=1}^n{x_{ij}^2}}} zij=∑i=1nxij2 xij
z i j ∗ = z i j ⋅ w j z_{ij}^*=z_{ij}\cdot w_j zij∗=zij⋅wj
得到加权矩阵
Z
∗
=
[
z
11
⋅
w
1
z
12
⋅
w
2
⋯
z
1
p
⋅
w
p
z
21
⋅
w
1
z
22
⋅
w
2
⋯
z
2
p
⋅
w
p
⋮
⋮
⋱
⋮
z
n
1
⋅
w
1
z
n
2
⋅
w
2
⋯
z
n
p
⋅
w
p
]
Z^*=\left[
{
z
i
j
∗
+
=
max
n
,
p
(
z
1
∗
+
,
z
2
∗
+
,
⋯
,
z
p
∗
+
)
z
i
j
∗
−
=
min
n
,
p
(
z
1
∗
−
,
z
2
∗
−
,
⋯
,
z
p
∗
−
)
\left\{
D
i
+
=
∑
j
(
z
i
j
∗
−
z
j
∗
+
)
2
D_i^+=\sqrt{\sum_j^{}{\left( z_{ij}^*-z_j^{*+} \right) ^2}}
Di+=j∑(zij∗−zj∗+)2
D
i
−
=
∑
j
(
z
i
j
∗
−
z
j
∗
−
)
2
D_i^-=\sqrt{\sum_j^{}{\left( z_{ij}^*-z_j^{*-} \right) ^2}}
Di−=j∑(zij∗−zj∗−)2
C i = D i − D i + + D i − C_i=\frac{D_i^-}{D_i^++D_i^-} Ci=Di++Di−Di−
根据 C i C_i Ci的大小进行排序, C i C_i Ci越大,表明评价对象越接近最优值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。