用人话讲明白AHP层次分析法(非常详细原理)

用人话讲明白AHP层1次分析法(非常详细原理)

1、前言与算法简述

今天应粉丝要求,梳理一下层次分析法。

层 次 分 析 法, 即Analytic Hierarchy Process(AHP) , 是美国运筹学家 Saaty 于 20 世纪 70 年代初 期提出的一种主观赋值评价方法。 层次分析法将与决策有关的元素分解成目标、 准则、方案等多个层次, 并在此基础上进行定性和定量分析, 是一种系统、简便、灵活有效的决策方法。

这个算法是一个多指标综合评价算法,由于这个算法简单、实用,因此在经管类或者实际生活中应用的非常多,其一般有两个用途

  • 指标定权

给指标制定权重,打个比方,例如选择旅游地这个决策,可能一般我们由以下5个因素组成,但是每个人(主观)对因素的重视程度不一,ahp可以实现在无需搜集数据的情况下,给这些指标制定权重。

  • 量化方案选择

同样是选择旅游地这个决策,可能我们有一些方案,例如苏杭、北戴河、桂林这三个方案,层次分析法可以综合以上5个因素,给这些方案计算得出一个量化得分,例如苏杭0.3分、北戴河0.35分、桂林0.45分,这样根据分值大小,我们就可以选择得到内心或者经验上最心怡的方案了。

通过上面讲解层次分析法的作用,在生活、工作中其实我们可以应用这个模型的渠道是非常广的,特别是那些需要主观决策的、或者需要用经验判断的决策方案,例如:

  • 买房子(主观决策)

  • 选择旅游地(主观决策)

  • 给员工进行绩效评估(经验判断)

  • 选择开店地址(经验判断)

2、AHP层次分析法过程

层次分析法的原理,是在分析一个现象或问题之前,首先将现象或问题根据它们的性质分解为有关因素,并根据它们之间的关系分类而形成一个多层次的结构模型。然后通过经验或专家,来判断和衡量低层因素对高层因素的相对重要性,并根据重要性的程度得出权重排序,进而可以量化分析比较。层次分 析法的核心是将影响因素层次化和数据化,它把一个抽象的现象或问题由难到 易地予以分解,易于对复杂问题进行直观地判断,并作出决策。层次分析法具有将复杂问题简单化且计算简单等优点,应用十分广泛,诸如在人员素质评估、 多方案比较、科技成果评比和工作成效评价等多领域多方面都有运用。

简单地说,层次分析法就是将一个决策事件分解为目标层(例如选择旅游地),准则层(影响决策的因素,例如景色、交通、费用等)以及方案层(指的是方案,例如去广州、桂林等地旅游)。

层次分析法应用过程中,大体步骤主要包括四个。第一步是层次结构模型的构建。第二步构造判断矩阵,第三步为层次单排序及其一致性检验,这步即为对指标定权,第四步为层次总排序及其一致性检验,这布如果没有决策层的话,通常可以省略。

PS:一致性检验的含义用于确定构建的判断矩阵是否存在逻辑问题,例如以A、B、C构建判断矩阵,若判定A相当于B为3(A比B稍微重要),A相当于C为1/3(C比A稍微重要),在判断B相当于C时,根据上述的逻辑,理应C比B重要,若我们在构建判断矩阵时,错误填写为B相当于C为3(B比C稍微重要),那么就犯了逻辑错误。

2.1 构建层次评价模型

顾名思义,在这个层次评价模型里面,我们需要确认整个决策事件的目标层、准则层、方案层

其中,

目标层:最优旅游地选择

准则层:景色、费用、居住、饮食、旅途

方案层:西安、云南、西藏、青海

需要注意的时,准则层如果有多层,例如下图所示,依次类推就行了。

2.2 构造判断矩阵

构造判断矩阵就是通过各要素之间相互两两比较,并确定各准则层对目标层的权重。

简单地说,就是把准则层的指标进行两两判断,通常我们使用Santy的1-9标度方法给出。

对于准则层A,我们可以构建一个

其中A 中的元素满足:

简单说,例如对于准则层:景色、费用、居住、饮食、旅途,我们可以构建这样一个5*5的判断矩阵:

其中对角线为各个指标自己的判断,例如对于【景色】与【景色】,其重要性为1,因为肯定是指标自身对比自身肯定是1:1。对于第二行第一列,也就是【费用】与【景色】对比,可能我认为【费用】比【景色】明显重要,那么就可以标值为5

那么判断矩阵就会变为:

以此类推,直到构建完成一个完整的判断矩阵。

2.3 层次单排序与一致性检验

这里列出一般在文献中的说明:

step1:层次单排序

层次单排序是指针对上一层某元素将本层中所有元素两两评比,并开展层次排序, 进行重要顺序的排列,具体计算可依据判断矩阵 A 进行,计算中确保其能够符合 AW=𝜆𝑚𝑎𝑥𝑊的特征根和特征向量条件。在此,A 的最大特征根为λmax,对应λmax的正规化的特征向量为 W,𝑤𝑖为 W 的分量,其指的是权值,与其相应元素单排序对应。 利用判断矩阵计算各因素𝑎𝑖𝑗对目标层的权重(权系数)。

权重向量(W)与最大特征(λmax)的计算步骤(方根法或者和法)如下表所示:

step2:求解最大特征根与CI值

设 n 阶判断矩阵为 B,则可用以下方法求出其最大的特征根𝜆𝑚𝑎𝑥:

BW=λW

其中,W 是 B 的特征向量。 在层次分析法中, 我们用以下的一致性指标 CI 来检验判断的一致性指标 (Consistency Index):

C.I.=0 表示判断矩阵完全一致,C.I.越大,判断矩阵的不一致性程度越严重。

step3:根据CI、RI值求解CR值,判断其一致性是否通过

Satty 模拟 1000 次得到的随机一致性指标 R.I.取值表(如下表 所示):

当 C.R.<0.1 时,表明判断矩阵 A 的一致性程度被认为在容许的范围内,此时可 用 A 的特征向量开展权向量计算;若 C.R.≥0.1, 则应考虑对判断矩阵 A 进行修正。

下面我用人话说一下:

2.3.1 层次单排序

简单地说,层次单排序就是根据我们构成的判断矩阵,求解各个指标的权重。

例如我们现在在2.2构建完成了准则层的判断矩阵A如下:

那么我们可以计算其权重(权重向量),有两种方式,一种是方根法,一种是和法。

其中方根法计算权重如下:

  1. 计算每行乘积的m次方,得到一个m维向量

即:

(2)将将向量标准化即为权重向量,即得到权重

即:

而和法计算权重如下:

step1:先将矩阵的每列进行标准化

step2:将标准化后的各元素按行求和

step3:将求和结果进行标准化

例如这张图所示:

2.3.2 求解最大特征根与CI值

以上,求得权重矩阵后,可以计算最大特征根,其公式为:

其中n为维度数,例如构建的判断矩阵为:景色、费用、居住、饮食、旅途时,n=5;

AW为:判断矩阵*标准化后的权重,然后按按行的累加值。

即判断矩阵A为:

指标

景色

费用

居住

饮食

旅途

景色

1

5

5

0.3333

8

费用

0.2

1

0.25

0.1667

2

居住

0.2

4

1

0.2

3

饮食

3

6

5

1

6

旅途

0.125

0.5

0.3333

0.1667

1

标准化后权重W为:

景色

费用

居住

饮食

旅途

0.3104

0.0591

0.1157

0.4716

0.0432

其中A*W为:

指标

景色

费用

居住

饮食

旅途

景色

0.3104

0.2955

0.5785

0.15718428

0.3456

费用

0.06208

0.0591

0.028925

0.07861572

0.0864

居住

0.06208

0.2364

0.1157

0.09432

0.1296

饮食

0.9312

0.3546

0.5785

0.4716

0.2592

旅途

0.0388

0.02955

0.03856281

0.07861572

0.0432

AW:

λmax:

AW1/W1+AW2/W2+AW3/W3+···+AWn/Wn=x

最大特征值λmax=x/矩阵阶数=5.416

最大特征值λmax求解出来后,C.I值就好算多了,

根据C.I值公式,λmax=5.416,n=5,代入可得C.I值=0.1042

2.3.3 根据CI、RI值求解CR值,判断其一致性是否通过。

一致性检验的含义用于确定构建的判断矩阵是否存在逻辑问题,例如以A、B、C构建判断矩阵,若判定A相当于B为3(A比B稍微重要),A相当于C为1/3(C比A稍微重要),在判断B相当于C时,根据上述的逻辑,理应C比B重要,若我们在构建判断矩阵时,错误填写为B相当于C为3(B比C稍微重要),那么就犯了逻辑错误;

RI值通过查表可以得知,这个是Satty 模拟 1000 次得到的随机一致性指标 R.I.取值表(如下表 所示):

而我们的矩阵是5阶(准则层因子个数),矩阵阶数为5时对应的RI值为1.12,代入公式:

可以得到C.R.值为0.1042/1.12=0.093。

所以 C.R.=0.093<0.1 时,表明判断矩阵 A 的一致性程度被认为在容许的范围内,此时可 用 A 的特征向量开展权向量计算;若 C.R.≥0.1, 说明我们在构建判断矩阵时出现了逻辑错误,

例如B矩阵,我们假设在两两对比第三行第二列时,填入了1/5,这个时候就无法通过一致性检验,因为其犯了逻辑错误,我们根据第二行第一列,可以知道上海的地位比广州稍微重要,根据第三行第一列,可以知道北京的地位比广州强烈重要,所以根据逻辑:上海>广州,北京》广州,那么北京应该是>上海,但是我们填入了1/5,也就是北京比上海相当不重要,所以就出现了逻辑错误,这个时候,我们需要对判断矩阵 A 进行修正,修正为北京>上海。

至此,我们便完成了层次单排序与一致性检验,通过我们在使用层次分析法只使用到这里,用于对指标进行定权,假如我们有方案层,便需要做层次总排序与其一致性检验。

2.4 层次总排序与一致性检验

这里列出一般在文献中的说明:

计算某一层次所有因素对于最高层(目标层)相对重要性的权值,称为层次总排 序。该过程是从最高层次向最低层次依次进行:

设 B 层𝐵1 ,𝐵2 ⋯ ,𝐵𝑛对上层(A 层)中因素𝐴𝑗(𝑗 = 1,2, ⋯ ,𝑚)的层次排序 一致性指标为𝐶𝐼𝑗,随机一致性指标为𝑅𝐼𝑗 ,则层次总排序的一致性比率为:

当𝐶𝑅 < 0.1时,认为层次总排序通过一致性检验,否则就需要重新调整判断矩阵 的元素取值。到此,根据最下层(决策层)的层次总排序做出最后的决策。

下面我用人话说一下:

层次总排序,其实就是通过类型层次单排序的方法来给方案打分。

打个比方,我们根据2.3的层次单排序,现在确定A1~A5的权重为

景色

费用

居住

饮食

旅途

0.3104

0.0591

0.1157

0.4716

0.0432

现在我想要计算方案B1:苏杭的得分,但是我们并不知道苏杭的景色得分为多少,那该怎么办呢?

类似2.3的层次单排序,对于景色这个因素,我们可以构建一个3*3的矩阵,如下所示:

通过层次单排序两两对比各个方案在景色的比较,我们可以得到苏杭、北戴河、桂林的权重,那么这个权重就可以作为苏杭、北戴河、桂林在景色上的得分。

依次类推,我们构造得到苏杭、北戴河、桂林在景色上的得分矩阵A1,在费用上的得分矩阵A2,在居住上的得分矩阵A3,在饮食上的得分矩阵A4,在旅途上的得分矩阵A5:

计算得到其得分为:

PS:以上全部的判断矩阵都需要做一致性检验。

那么对于方案B1(苏杭),它的总得分为:

苏杭在景色上的得分*景色的权重+苏杭在费用上的得分*费用的权重+苏杭在居住上的得分*居住的权重+苏杭在饮食上的得分*饮食的权重+苏杭在旅途上的得分*旅途的权重=0.5954*0.3104+0.819*0.0591+0.4286*0.1157+0.6337*0.4716+0.1667*0.0432=0.5889

以此类推,可以计算得到方案B2(北戴河)为

0.2764*0.3104+0.2363*0.0591+0.4286*0.1157+0.1919*0.4716+0.1667*0.0432=0.2471

方案B3(桂林):

0.1283*0.3104+0.6817*0.0591+0.1429*0.1157+0.1744*0.4716+0.6667*0.0432=0.2077

因此苏杭得分最高,选择去苏杭。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值