解决什么问题
层次分析法(AHP)是一种层次权重决策分析方法。主要是利用较少的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构特性的复杂决策问题提供简便的决策方法。主要解决评价/决策类问题
解决问题前需要思考
以小明想去旅游作为例子讲解层次分析法的步骤。小明初步选择苏杭、北戴河和桂林三地之一作为目标景点。 请确定评价指标、形成评价体系来为小明同学选择最合适的方案。
注意:评价的准则/标准/指标需要我们根据题目中的背景材料、常识以及网上搜集到的参考资料进行结合,从中筛选出最合适的指标。优先选择知网(或者万方、百度学术、谷歌学术等平台)搜索相关的文献。
首先,进行评价指标的权重比较
使用Standy的1-9标度方法两两比较
标度 | 含义 |
---|---|
1 | 表示两个因素相比,具有同样重要性 |
3 | 表示两个因素相比,一个因素比另一个因素稍微重要 |
5 | 表示两个因素相比,一个因素比另一个因素明显重要 |
7 | 表示两个因素相比,一个因素比另一个因素强烈重要 |
9 | 表示两个因素相比,一个因素比另一个因素极端重要 |
2,4,6,8 | 上述两相邻判断的中值 |
倒数 | A和B相比如果标度为3,那么B和A相比就是1/3 |
Q1: 根据Standy的1-9标度,请你在选择旅游目的地时,比较景色和花费的重要程度。
A1: 我认为花费比景色略微重要(介于同等重要1和稍微重要3之间吧) 1/2
Q2: 根据Standy的1-9标度,请你在选择旅游目的地时,比较景色和居住的重要程度。
A2: 我认为景色比居住要重要一点(介于稍微重要3和明显重要5之间吧)
小明回答10次( C 5 2 C_5^2 C52)后即可得到下表。
A = 1 1 2 4 3 3 2 1 7 5 5 1 4 1 7 1 1 2 1 3 1 3 1 5 2 1 1 1 3 1 5 3 1 1 A=\begin{matrix} 1&\frac 12&4&3&3\\ 2&1&7&5&5\\ \frac 14&\frac 17&1&\frac 12&\frac 13\\ \frac 13&\frac 15&2&1&1\\ \frac 13&\frac 15&3&1&1\\ \end{matrix} A=1241313121171515147123352111353111
该矩阵即为判断矩阵,有以下特点:
j
相比,i
的重要程度i=j
时,两个指标相同,因此同等重要记为1,这就解释了主对角线元素为1其次,两两比较方案的权重
Q1:你觉得苏杭的风景和北戴河相比如何?
A1:稍微好一点点吧(介于1‐3之间)
Q2:你觉得苏杭的风景和桂林相比如何?
A2:要明显的好哦(5)
Q3:你觉得北戴河的风景和桂林相比如何?
A3:稍微好一点点吧(介于1‐3之间
注意:判断矩阵中的元素只能是1至9和它们的倒数,有些文章中填入了其他的数(例如3/2、5/4),这是不可以的。
填表有可能出现不一致的情况,如下图
假设苏杭为A,北戴河为B,桂林为C。按上表可知,苏杭比北戴河景色好一点,即A > B;苏杭和桂林景色一样好,即A = C;北戴河比桂林景色好一点,即B > C。出现了矛盾/不一致现象。
一致矩阵不需要一致性检验,只有非一致矩阵的判断矩阵才需要一致性检验
a i j = i 的 重 要 程 度 j 的 重 要 程 度 , a j k = j 的 重 要 程 度 k 的 重 要 程 度 \large a_{ij}=\frac {i的重要程度}{j的重要程度},a_{jk}=\frac {j的重要程度}{k的重要程度} aij=j的重要程度i的重要程度,ajk=k的重要程度j的重要程度
a i k = i 的 重 要 程 度 k 的 重 要 程 度 = a i j ∗ a j k \large a_{ik}=\frac {i的重要程度}{k的重要程度}=a_{ij}*a_{jk} aik=k的重要程度i的重要程度=aij∗ajk
例如
a 桂 林 − 苏 杭 = 桂 林 相 对 苏 杭 的 重 要 程 度 苏 杭 相 对 苏 杭 的 重 要 程 度 = 4 1 = 4 \large a_{桂林-苏杭}=\frac {桂林相对苏杭的重要程度}{苏杭相对苏杭的重要程度}=\frac {4}{1}=4 a桂林−苏杭=苏杭相对苏杭的重要程度桂林相对苏杭的重要程度=14=4
a 苏 杭 − 北 戴 河 = 苏 杭 相 对 北 戴 河 的 重 要 程 度 北 戴 河 相 对 北 戴 河 的 重 要 程 度 = 1 2 1 = 1 2 \large a_{苏杭-北戴河}=\frac {苏杭相对北戴河的重要程度}{北戴河相对北戴河的重要程度}=\frac {\frac 12}{1}=\frac 12 a苏杭−北戴河=北戴河相对北戴河的重要程度苏杭相对北戴河的重要程度=121=21
a 桂 林 − 北 戴 河 = 桂 林 相 对 北 戴 河 的 重 要 程 度 北 戴 河 相 对 北 戴 河 的 重 要 程 度 = 2 1 = 2 = 4 ∗ 1 2 \large a_{桂林-北戴河}=\frac {桂林相对北戴河的重要程度}{北戴河相对北戴河的重要程度}=\frac 21=2=4*\frac 12 a桂林−北戴河=北戴河相对北戴河的重要程度桂林相对北戴河的重要程度=12=2=4∗21
一致矩阵特点:各行(各列)之间成倍数关系
注意:基于第一点原因,我们在使用判断矩阵求权重之前,必须对其进行一致性检验。来检验我们构造的判断矩阵和一致矩阵是否有太大的差别(在一定范围内就可以)
C I = λ m a x − n n − 1 CI=\frac {\lambda_{max}-n}{n-1} CI=n−1λmax−n
λ m a x \lambda_{max} λmax为n阶正互反矩阵A的最大特征值
n阶正互反矩阵A为一致矩阵时当且仅当最大特征值 λ m a x = n \lambda_{max}=n λmax=n
当正互反矩阵A非一致时,一定满足 λ m a x > n \lambda_{max}>n λmax>n
判断矩阵越不一致时,最大特征值与n相差就越大
特征值可用matlab软件进行计算。
如果特征值中有虚数,则比较的是特征值的模长。
查表即可
C R = C I R I CR=\frac {CI}{RI} CR=RICI
如果 C R < 0.1 CR<0.1 CR<0.1, 则可认为判断矩阵的一致性可以接受;否则需要对判断矩阵进行修正。
修改判断矩阵A,往一致矩阵上修改即可
苏 杭 = 1 ( 1 + 1 2 + 1 5 ) = 0.5882 苏杭=\frac {1}{(1+\frac 12+\frac 15)}=0.5882 苏杭=(1+21+51)1=0.5882
北 戴 河 = 1 2 ( 1 + 1 2 + 1 5 ) = 0.2941 北戴河=\frac {\frac 12}{(1+\frac 12+\frac 15)}=0.2941 北戴河=(1+21+51)21=0.2941
桂 林 = 1 5 ( 1 + 1 2 + 1 5 ) = 0.1177 桂林=\frac {\frac 15}{(1+\frac 12+\frac 15)}=0.1177 桂林=(1+21+51)51=0.1177
苏 杭 = 2 ( 2 + 1 + 1 2 ) = 0.5714 苏杭=\frac {2}{(2+1+\frac 12)}=0.5714 苏杭=(2+1+21)2=0.5714
北 戴 河 = 1 ( 2 + 1 + 1 2 ) = 0.2857 北戴河=\frac {1}{(2+1+\frac 12)}=0.2857 北戴河=(2+1+21)1=0.2857
桂 林 = 1 2 ( 2 + 1 + 1 2 ) = 0.1429 桂林=\frac {\frac 12}{(2+1+\frac 12)}=0.1429 桂林=(2+1+21)21=0.1429
苏 杭 = 5 ( 5 + 2 + 1 ) = 0.625 苏杭=\frac {5}{(5+2+1)}=0.625 苏杭=(5+2+1)5=0.625
北 戴 河 = 2 ( 5 + 2 + 1 ) = 0.25 北戴河=\frac {2}{(5+2+1)}=0.25 北戴河=(5+2+1)2=0.25
桂 林 = 1 ( 5 + 2 + 1 ) = 0.125 桂林=\frac {1}{(5+2+1)}=0.125 桂林=(5+2+1)1=0.125
苏 杭 = ( 0.5882 + 0.5714 + 0.625 ) 3 = 0.5949 苏杭=\frac {(0.5882+0.5714+0.625)}{3}=0.5949 苏杭=3(0.5882+0.5714+0.625)=0.5949
北 戴 河 = ( 0.2941 + 0.2857 + 0.25 ) 3 = 0.2766 北戴河=\frac {(0.2941+0.2857+0.25)}{3}=0.2766 北戴河=3(0.2941+0.2857+0.25)=0.2766
桂 林 = ( 0.1177 + 0.1429 + 0.125 ) 3 = 0.1285 桂林=\frac {(0.1177+0.1429+0.125)}{3}=0.1285 桂林=3(0.1177+0.1429+0.125)=0.1285
一致矩阵有一个特征向量n,其余特征值为0。
另外,我们很容易得到,特征值为n时,对应的特征向量为 k [ 1 a 11 , 1 a 12 , … , 1 a 1 n ] T ( k ≠ 0 ) k[\frac {1}{a_{11}},\frac {1}{a_{12}},…,\frac {1}{a_{1n}}]^T(k≠0) k[a111,a121,…,a1n1]T(k=0)
这一特征向量刚好就是一致矩阵的第一列
最后进行归一化(即 − 0.8902 − 0.8902 + ( − 0.4132 ) + ( − 0.1918 ) = 0.5954 \frac {-0.8902}{-0.8902+(-0.4132)+(-0.1918)}=0.5954 −0.8902+(−0.4132)+(−0.1918)−0.8902=0.5954)
最后汇总结果得到权重矩阵
苏 杭 = 0.2636 ∗ 0.5954 + 0.4758 ∗ 0.0819 + 0.0538 ∗ 0.4286 + 0.0981 ∗ 0.6337 ∗ 0.1087 ∗ 0.1667 = 0.299 苏杭=0.2636*0.5954+0.4758*0.0819+0.0538*0.4286+0.0981*0.6337*0.1087*0.1667=0.299 苏杭=0.2636∗0.5954+0.4758∗0.0819+0.0538∗0.4286+0.0981∗0.6337∗0.1087∗0.1667=0.299
北 戴 河 = 0.2636 ∗ 0.2764 + 0.4758 ∗ 0.2363 + 0.0538 ∗ 0.4286 + 0.0981 ∗ 0.1919 ∗ 0.1087 ∗ 0.1667 = 0.245 北戴河=0.2636*0.2764+0.4758*0.2363+0.0538*0.4286+0.0981*0.1919*0.1087*0.1667=0.245 北戴河=0.2636∗0.2764+0.4758∗0.2363+0.0538∗0.4286+0.0981∗0.1919∗0.1087∗0.1667=0.245
桂 林 = 0.2636 ∗ 0.1283 + 0.4758 ∗ 0.6817 + 0.0538 ∗ 0.1429 + 0.0981 ∗ 0.1744 ∗ 0.1087 ∗ 0.6667 = 0.455 桂林=0.2636*0.1283+0.4758*0.6817+0.0538*0.1429+0.0981*0.1744*0.1087*0.6667=0.455 桂林=0.2636∗0.1283+0.4758∗0.6817+0.0538∗0.1429+0.0981∗0.1744∗0.1087∗0.6667=0.455
所以最佳旅游地点为桂林