Chap 7:权重生成与评价模型
课程网站
层次分析法¶
分5步:
- 指标选择与层次模型构建.
- 构建比较矩阵:目标层->准则层,准则层->方案层.
- 计算CR值,检验比较矩阵,若不满足还需调整比较矩阵.
- 求出每个矩阵的最大特征值,以及对应的归一化权重向量.
- 根据不同矩阵的归一化权向量,计算出不同方案的得分并进行比较.
指标是在经过大量文献考证或社会调查后、发放调查问卷或者使用德尔菲法征求专家意见等方法得到的. 指标按照一定的层级结构组织起来就构成了一个指标体系.

相邻的层次之间需要构建成对比较矩阵,以上图举例,目标层到准则层之间的比较矩阵是\(4\times 4\)的,且对角线全为1,而且规定了
其中a_{ij}用于描述当i比j重要的时候,重要的程度大小,取值方法如下:

方案层的比较矩阵构建有不同之处,假如是\(m\)个准则\(n\)个样本,则需要构建的矩阵数量是\(m\),矩阵大小是\(n\times n\). 人工对比较矩阵赋值完成后,进行特征值分解并求出最大的特征值\(\lambda_{max}\),从而计算出
除了这个,还有一个RI值(随机一致性指标),在不同的\(n\)取值下RI值也不同,只需要进行查表来获得:

于是CR值就可以这样计算出来:
一般\(CR > 0.1\)时可以认为矩阵构建不合理,需要修改/调整,反之则进入下一步:归一化.
归一化的方法很简单,是将特征向量除以其所有元素之和:
举一个python处理上的例子:
import numpy as np
A=np.array([[1,1/5,1/3,1],
[5,1,3,5],
[3,1/3,1,3],
[1,1/5,1/3,1]])
m=len(A)
n=len(A[0])
RI=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45,1.49,1.51]
V,D=np.linalg.eig(A) #求判断矩阵的特征值和特征向量,V为特征值,D为特征向量
list1=list(V)
B=np.max(list1) #求矩阵的最大特征值
index=list1.index(B)
C=D[:,index]
剩下一个例子很长就不照抄了.
熵权分析法¶
这是一种客观赋权方法,基于信息论的理论基础,利用信息上计算并修正得到各指标的熵权.
有时候指标并非全都是越大越好或者越小越好,所以需要进行正向化.
-
对于极大型指标:不需要正向化,只需要\(min-max\)或者\(Z-score\)规约.
-
对于极小型指标:取相反数或者倒数
-
对于区间型指标:
\[ x_{\text{new}} = \begin{cases} 1-\dfrac{a-x}{M}, & x < a \\ 1, & a \le x \le b \\ 1-\dfrac{x-b}{M}, & x > b \end{cases} \] -
对于中值型指标:
\[ x_{\text{new}} = 1-\dfrac{|x-x_{\text{best}}|} {\max{|x-x_{\text{best}}|}} \]
在进行指标正向化以后,所有的指标全部被变换为越大越好. 为了进一步消除量纲这些的影响,需要进一步进行\(min-max\)规约化或\(Z-score\)规约化消除量纲差异.
主要计算步骤:
-
构建\(m\)个事物\(n\)个评价指标的判断矩阵\(X(i=1,2,3,…,n;j=1,2,…,m)\).
-
将判断矩阵进行归一化处理,得到新的归一化判断矩阵\(B\)
\[ B=\dfrac{{X-\min(X)}}{{\max(X)-\min(X)}} \] -
熵权法可利用信息熵计算出各指标的权重,从而为多指标评价提供依据.根据信息论中对熵的定义,熵值\(e\)的计算如下:
\[ e_j = \dfrac{\sum\limits_{i=1}^{n} p_{ij}\ln p_{ij}}{\ln n} \]其中\(p\)为离散属性中每个类取值的占比. 通过熵值\(e\)可以评价不同指标的离散程度,一般情况下,信息熵越小,离散程度越大,因子对综合评价的权重就越大.
-
计算权重系数,式子(5.9)中代表对于某一个属性\(j\),第\(i\)类占样本的比例. \(n\)为属性\(j\)的取值数量. 所以,权重系数\(w\)定义为
\[ \omega_j = \dfrac{1-e_j}{\sum\limits_{i=1}^{m} ( 1-e_j) } \]