AHP----层次分析法
层次分析法
我们用一个例子来介绍这个建模方法:
“填好志愿后,小明同学想出去旅游。在查阅了网上的攻略后,他初步选择 了苏杭、北戴河和桂林三地之一作为目标景点。“
”请你确定评价指标、形成评价体系来为小明同学选择最佳的方案。”
对于解决这种评价类问题,我们需要考虑以下三个问题:
- 我们的评价目标是什么?
- 我们为了达到这个目标有哪几种可选的方案?
- 评价的准则或者说指标是什么?(我们根据什么东西来评价好坏)
对于我们的例子,我们的回答:
- 为小明同学选择最佳的旅游景点。
- 三种,分别是去苏杭、去北戴河和去桂林。
题目没给相关数据支撑,需要我们查阅相关的资料。
一般而言,前两个问题的答案是显而易见的,第三个问题的答案 需要我们根据题目中的背景材料、常识以及网上搜集到的参考资料进行结合,从中筛选出最合适的指标。
在这里,我们假设5个指标:景点;花费;居住;饮食;交通。
然后我们构建一张权重表:

要注意,
我们首先来思考一下5个指标之间的权重:
一次性考虑五个之间的关系比较繁杂,我们可以两两进行比较,最终通过两两比较的结果来推算权重。
我们使用1~9表示两两指标之间的重要程度(这里的重要程度也可以理解为满意度),具体数字的含义,见下表:

其中,重点要注意一下最后一行那个倒数的含义。
好,我们将根据这个标度,来进行权重的计算:
1. 构建判断矩阵

首先,对于指标权重,我们会构建一个判断矩阵,再计算权重。如上图,记为
,对应的元素为 。该矩阵有如下特点: 表示的意思是:与指标 相比, 的重要程度。 - 当
时,两个指标相同,因此同等重要,这就解释了主对角线元素为1。 且满足 $ a_{ij}a_{ji}=1 $(我们称满足这一条件的矩阵为*正互反矩阵)。
但是,在实际建模的过程中,没有“小明”帮助我们填表,层次分析的这张表是交给“专家”填写的,但在比赛过程中往往很难找找到专家标准,一般只能自己填了,但是在论文中就别说出来了。
其次,对于三个地点在五个把不同标度分别的得分也是重复上面的操作,例如:
计算在景色方面苏杭,北戴河,桂林所占的得分,我们也是先构建一个判断矩阵,然后再计算权重:


但是,要注意一个问题:
苏杭=A 北戴河=B 桂林=C
苏杭的景色比北戴河好:A>B
苏杭和桂林景色一样好: A = C
北戴河比桂林景色好一点:B > C
这个时候,就会出现问题:如果A = C而A > B,那么C>B与第三条冲突,判断矩阵出现问题

判断矩阵出现了矛盾之处,我们称之为不一致现象。
何为一致矩阵?简单理解一下就是各行(列)之间成倍数关系,例:

若矩阵中每个元素
在正互反矩阵满足$a_{ij}a_{jk}=a_{ik}$,则我们称其为*一致矩阵。
注意:在使用判断矩阵求权重之前,必须对其进行一致性检验。




2. 根据判断矩阵计算权重
方法一:算数平均法求权重
- 第一步: 将判断矩阵按照列进行归一化(每一个元素除以其所在列的和);
- 第二步: 将归一化的各列相加(按行求和);
- 第三步: 将相加得到的向量中每个元素除以
即可得到权重向量。

例:

方法二:几何平均法求权重
- 第一步: 将A的元素按照行相乘得到一个新的列向量;
- 第二步: 将新的向量的每个分量开n次方;
- 第三步:对该列向量进行归一化即可得到权重向量。

方法三:特征值法求权重
假如我们的判断矩阵一致性可以接受,那么我们可以仿照一致矩阵权重的求法。
- 第一步:求出矩阵A的最大特征值以及其对应的特征向量;
- 第二步:对求出的特征向量进行归一化即可得到我们的权重。

三种方法说实话感觉没什么区别,写论文的时候选一种就好了,但是最好点明三种方法都算过了,然后在附录里面展现出最后的结果。
3. 计算得分
根据上节的三种方法,我们可以选择一种方法分别计算每个区块的得分,然后填入表中

(每一种颜色就代表了一个判断矩阵)
然后根据指标权重和每个地区在5个指标上的权重进行打分,例:

这样,我们就可以得到三个地区,在五个指标上的得分,进而来选择小明想要去的地方。
4. 总结







