层次分析法

Analytic Hierarchy Process, AHP

小明到底选华科还是武大呢?

小米最关心大学里的这四个方面:

  1. 学习氛围(占比0.4)
  2. 就业前景(占比0.3)
  3. 男女比例(占比0.2)
  4. 校园景色(占比0.1)

括号内数值表示小明认为的重要性程度(权重),和为1

通过分析资料,小明分别给两所学校打了分:

并列好了权重表

指标权重武大华科
学习氛围0.40.70.3
就业前景0.30.50.5
男女比例0.20.30.7
校园景色0.10.250.75

华科最终得分:0.515;

武大最终得分:0.485;

小明最后选择了华科;

去旅游

填好志愿后,小明决定去旅游。查阅网上数据后,他初步选择了苏杭、北戴河、桂林三地作为目标景点。

确定评价指标形成评价体系来为小明选择最佳方案

准备工作

评价类问题,首先想到:

  1. 评价目标(选择目标景点)
  2. 为了达到目标有哪几种可选法案(苏杭、北戴河、桂林)
  3. 评价准则或者指标(根据什么评价东西好坏)

优先在别人的论文中寻找指标,这样显得==专业==,另外别人的研究方法也可以借鉴

卖课的推荐的一个腻害的网站

虫部落-快搜https://search.chongbuluo.com/

↓ 优先级 ↓

  1. 谷歌搜索(进不去就百度呗)
  2. 微信搜索
  3. 知乎搜索

如本题可搜索关键字:旅游选择因素、根据什么选择旅游景点、旅游景点评价指标…

⏩到小明选择好了一下5个指标:

  1. 旅游景色
  2. 花费
  3. 居住环境
  4. 饮食情况
  5. 交通便利程度

在确定影响某因素的诸因子在该因素中所占的比重时,遇到的主要困难是这些比重常常不易定量化。此外,当影响某因素的因子较多时,直接考虑各因子对该因素有多大程度的影响时,常常会因考虑不周全、顾此失彼而使决策者提出与他实际认为的重要性程度不相一致的数据,甚至有可能提出一组隐含矛盾的数据。——选自司守奎[kui]老师的《数学建模算法与应用教材》

叫小明来填权重,可能他自己今天填的和明天填的不一样。

一次性考虑多个指标的关系往往考虑不周,所以应该分而治之,两个两个指标相比较,最终根据两两比较推算出权重

重要程度表

标度含义
1同样重要
3稍微重要
5明显重要
7强烈重要
9极端重要
2,4,6,8相邻判断中间值
倒数A比B为3,B比A就是1/3

重要性改成满意度可能更方便理解

景色花费居住饮食交通
景色1
花费1
居住1
饮食1
交通1

实际情况中这张表得交由专家来填

不过先填了算了

景色花费居住饮食交通
景色11/2433
花费21755
居住1/41/711/21/3
饮食1/31/5211
交通1/31/5311

表中矩阵特点(==判断矩阵==):

  1. a[i] [j]表示与指标j相比i的重要程度
  2. a[i] [i]=1;
  3. a[i] [j] * a[j] [i] = 1;

我们称之为正互反矩阵

景色苏杭北戴河桂林
苏杭125
北戴河1/212
桂林1/51/21
花费苏杭北戴河桂林
苏杭11/31/8
北戴河311/3
桂林831
居住苏杭北戴河桂林
苏杭113
北戴河113
桂林1/31/31
饮食苏杭北戴河桂林
苏杭134
北戴河1/311
桂林1/411
交通苏杭北戴河桂林
苏杭111/4
北戴河111/4
桂林441

但是也有可能会出现矛盾之处(不一致)

景色苏杭北戴河桂林
苏杭121
北戴河1/212
桂林11/21

于是我们发明了==一致矩阵==,一种特殊的正互反矩阵。

a[i] [k] = a[i] [j] * a[j] [k];

特性/性质:各行各列成倍数

注意:在使用判断矩阵求权重前,需要对其进行****

你的判断矩阵不可能是决定一致的,在误差不超过的情况下可以使用。

引理1:

  • A为n阶方阵,r(A)=1;则A有一个特征值tr(A),其余特征值都是0;

  • 因为各行成比例,所以一致矩阵的秩一定为1;

当特征值为 n 时,对应特征向量刚好为 k[, , …, ]

引理2:

  • n阶正互反矩阵A为一致矩阵时当且仅当最大特征值 λ=n

  • 当正互反矩阵非一致时,一定满足 λ>n

判断矩阵越不一致,最大特征值与n相差就越大(代码文件名:PPT_1.m)

一致性检验步骤

1:计算一致性指标CI:

2:查找对应

n123456789101112131415
RI000.520.891.121.261.361.411.461.491.521.541.561,581.59

注:实际应用中,n很少超过10,如超过10,则需考虑二级指标体系

3:计算

若CR < 0.1, 则可认为判断矩阵的一致性可接受;否则需要对其进行修正

RI来自随机的500个样本矩阵,求最大特征根的平均值 ,并定义

, 这是作者通过蒙特卡罗模拟得到的最佳方案

计算权重

权重归一化处理:

3种方法:

1.算数平均值(每个元素除以所在列的和 )

​ 求得的权重向量为:

2.几何平均值

​ 求得的权重向量为:

3.特征值法求权重

​ first. 求出A最大特征值以及其特征向量

​ second. 对求出特征向量归一化即可得到我们的权重

ps:获奖论文一般只留下了特征法的权重

⏩ing

权重苏杭北戴河桂林
景色0.26360.59540.27640.1283
花费0.47580.08190.23630.6817
居住0.05380.42860.46860.1429
饮食0.09810.63370.19190.1744
交通0.10870.16670.16670.6667
计算结果0.29930.245300.45544

局限性

  1. 评价的决策层不能太多,最多为15
  2. 如果决策层中指标已知,那么我们得用到TOPSIS方法

TOPSIS方法

Technique for Order Preference by Similarity of Ideal Solution

逼近理想解排序法,简称优劣解距离法。

其能充分利用原始数据的信息,其结果能精确地反映评价方案之间的差距

小例子:

姓名成绩
张三89
李四60
王五74
赵六99
姓名成绩排名修正排名评分
张三89233/10=0.3
李四60411/10=0.1
王五74322/10=0.2
赵六99144/10=0.4

但是假如李四考了3分,赵六考了90分,评分还是不变。

可以进行如下处理:

最高成绩max:99

最低成绩:60

构造评分公式:

姓名成绩未归一评分归一后评分
张三890.740.35
李四6000
王五740.360.17
赵六9910.48

或者用卷面极值处理:

评分公式:

姓名成绩Beat评分评分
张三890.890.28
李四600.600.19
王五740.740.23
赵六990.990.30

但是此方法其存在一下缺陷:

  1. 很多指标不存在理论上的最大最小值,例如衡量经济增长指标:GDP增速
  2. 比较对象一般远大于2个
  3. 比较指标往往不只是一个方面的,例如成绩、工时数、课外竞赛得分…

综合下来还是前者更优

增加指标

姓名成绩迟到次数
张三892
李四600
王五741
赵六993

成绩越大越好,这样的指标称之为极大型指标(效益性指标)

迟到次数越少越好,这样的指标称之为极小型指标(成本型指标)

将原始矩阵正向化

在建模过程中我们得将极小型指标转换为极大型指标

称为指标正向化,公式为

姓名成绩正向化后迟到次数
张三891
李四603
王五742
赵六990

常见的4种指标:

指标名称指标特点粒子
极大型越大越好GDP增速、成绩
极小型越少越好费用、污染程度
中间型越趋近于某个值越好水PH
区间型落在某个区间最好稳态、

所谓将原始矩阵正向化,就是将指标类型统一为极大型指标

转换方法:

  1. 极小型

  2. 中间型

  3. 区间型

将正向矩阵标准化

为了消去不同量纲的影响,需要对其进行标准化处理

​ 假设有个要评价对象,个评价指标构成的正向化矩阵长这样:

X = \left[ \matrix{ x_{11} & x_{12} & \cdots & x_{1m} \\ x_{21} & x_{22} & \cdots & x_{2m}\\ \dots \\ x_{n1} & x_{n2} & \cdots & x_{nm}} \right]

那么,对其标准化的矩阵记为, 中每个元素

\left[ \matrix{89 & 1 \\ 60 & 3 \\ 74 & 2 \\ 99 & 0} \right] 经过标准化就变成了: \left[ \matrix{0.5438 & 0.2673 \\ 0.3665 & 0.8018 \\ 0.4520 & 0.5345 \\ 0.6408 & 0} \right]

只有一个指标时,评分公式: 相当于

当有个评价对象时,个标准指标的标准化矩阵:

Z = \left[ \matrix{ z_{11} & z_{12} & \cdots & z_{1m} \\ z_{21} & z_{22} & \cdots & z_{2m}\\ \dots \\ z_{n1} & z_{n2} & \cdots & z_{nm}} \right]

计算得分并归一化

定义最大值:

定义最小值:

定义第 个评价对象与最大值距离

定义第 个评价对象与最小值距离

那么我们可以计算出第 个评价对象未归一化得分:

很明显 越大 越小,即越接近最大值

name归一化后得分排名
张三0.53800.32060.18573
李四0.23820.80180.38341
王五0.30780.54130.31702
赵六0.80180.23820.11394

赵六明明考了第一, 为什么评分是倒数呢?

因为分数和迟到次数权重相同,so,我们应该给不同指标分配不同的权重,其满足

重新定义第 个评价对象与最大值距离

重新定义第 个评价对象与最小值距离

练习题