数学建模学习笔记 : 层次分析法

  • 一、问题引入
  • 二、进一步引入
  • 三、判断矩阵与一致性检验
  • 四、根据判断矩阵得到权重值
    • 1.一致性矩阵
    • 2.非一致矩阵
  • 五、填完总表,计算总分,得出结论
  • 六、层次分析法小结与拓展
    • 1.层次分析法基本流程
    • 2.层次分析法的缺点
    • 3.拓展
  • 补充

最近在同学安利下入手华科老学长清风的数学建模课程,在这里记录下笔记。做笔记的目的主要是将70分钟的视频精简成30分钟能看完的文档,方便日后复习用,也希望能给予后来者一点帮助。

一、问题引入

 小明高考完,准备挑大学。
 他有两个选择:华科,武大。
 他从四个方面评判学校:学习氛围,就业前景,男女比例,校园景色。评判权重分别为0.4,0.3,0.2,0.1。
 对这四个方面,小明分别对两个学校打分(打分也是归一化的,即每一方面分数总和是1)如下:

 指标权重乘以每一项的分数,求和,就得到某个学校的综合评分。
 于是,小明选择了华科。

二、进一步引入

 我们称这类问题为评价类问题,上面使用的方法叫层次分析法。层次分析法的名字怎么来的最后会介绍。

拿到一个评价类问题,我们一般会问三个问题:

  • 目标是什么?
  • 有几种可供选择的方案?
  • 评价准则是什么?

下面再看一道例题,来正式走一遍层次分析法。
例题 小明去旅游,有苏杭、北戴河、桂林三个待选方案。请你确定评价指标形成评价体系来为小明选择最佳方案。

 评价指标可以根据常识来给出,也可以根据背景材料,还可以上网搜集相关资料来确定。 1
 一通操作之后,我们确定了五个评判指标:景色,花费,居住,饮食,交通。
然后填表,

(同一种颜色的格子之和为1)   如果直接填表,由于填表带有较大的主观性,而且选择越多填表越困难、主观偏差越大。因此我们还是先两两比较,看两两之间谁更重要。  

三、判断矩阵与一致性检验

  先填红色格子,即先确定“景色”这一指标下哪个景点更好。(虽然红色格子在文字意义上表示的是“谁更好”而不是权重,但由于数学处理上的统一,以后同一颜色的格子里面的数都称作权重。)
  一次性考虑三个指标之间的关系困难,先两两比较,作出两两比较矩阵(正式名称:判断矩阵/比较矩阵)。

  aija_{ij}aij​表示重要程度i重要程度j\frac{重要程度i}{重要程度j}重要程度j重要程度i​。矩阵的对称位置相乘应该为1,这样的矩阵称为正互反矩阵。只需要比较C52C_{5}^{2}C52​次就能填完。
  但是由于填表带有主观因素,很容易出现矛盾现象,比如

  为了衡量矛盾程度,我们定义了一致矩阵。一致矩阵就是理想的、没有矛盾的矩阵。

  观察可发现一致矩阵有个特点,就是各行/各列之间呈倍数关系。(证明略)
  比如,第二列的每个元素都是第一列的两倍。

引理 (证明略) :对n阶正互反矩阵A,
若A是不一致矩阵,则其最大特征值 λmax > n。
若A是一致矩阵,则其有一个特征值为n,其他特征值全为0;且特征值n对应的特征向量为k[1a11,1a12,...,1a1n]Tk{[\frac{1}{{{a_{11}}}},\frac{1}{{{a_{12}}}},...,\frac{1}{{{a_{1n}}}}]^T}k[a11​1​,a12​1​,...,a1n​1​]T,恰好就是A的第一列。

  因此,我们利用特征值来进行一致性检验。基本思想是,矛盾程度越大,则λmax越大于n。
  一致性检验标准步骤如下,详细证明需学习统计学,此处略。

(其中RI是查表得到的。)

  如果一致性检验未通过,则需要修改判断矩阵,尽可能使其各行各列呈倍数关系。 

四、根据判断矩阵得到权重值

  现在,我们填好了一张表,而且通过了一致性检验,保证我们填的表不会太矛盾。那么,怎么根据填好的判断矩阵(某一方面两两之间的重要性比较)得到权重值(某一方面所有对象间的重要性比较)呢?

1.一致性矩阵

  先从最简单的情况考虑,假如我们的判断矩阵是一致性矩阵,

  由于各行各列成比例,我们可以随便找一行/一列,这一行/一列就说明了三者之间的重要程度比较了。
  比如对于本例,看第一列,如果苏杭的重要程度是1,那么北戴河的重要程度就是0.5,桂林的重要程度就是0.25。于是我们可以得出归一化权重,

2.非一致矩阵

 有三种方法:算术平均法,几何平均法,特征值法。[2]

 下面以算术平均法为例。

  如果矩阵是非一致的,可以对每一列都仿照上述操作,比如苏杭,求出取每一列时苏杭的权重,然后对求出的三个苏杭的权重求平均值即可。

上面的操作用矩阵表示即为(矩阵表示,易于用matlab操作)

用严谨数学语言表示即为(严谨数学语言表述,可写进论文中)

  除了算数平均法,论文中常用的是特征值法。
  我们之前说过,一致矩阵对应特征值n的特征向量是k[1a11,1a12,...,1a1n]Tk{[\frac{1}{{{a_{11}}}},\frac{1}{{{a_{12}}}},...,\frac{1}{{{a_{1n}}}}]^T}k[a11​1​,a12​1​,...,a1n​1​]T,这恰好是一致矩阵的第一列。也就是说,如果矩阵是一致矩阵,对其特征向量进行归一化就可以得到权重了。
  类比到非一致矩阵,求出非一致矩阵对应其最大特征值λmax的特征向量,然后对此特征向量进行归一化,将归一化后的各值作为权重即可。

至此,我们已经根据两两比较的判断矩阵得到了权重值。2

把算出来的权重值填入总表中,

五、填完总表,计算总分,得出结论

 对其他指标也同理操作,填完黄色、绿色、紫色、粉红色。
 对蓝色格子也是一样的操作,填完蓝色。

  最后,算出各方案的加权总分,比较哪个更好即可。可以把表格放进excel里用函数算。

六、层次分析法小结与拓展

1.层次分析法基本流程

第一步:三问三答,建立层次结构

第二步:对于同一层次的各元素关于上一层次中某一准则的重要性进行两两比较,构造两两比较矩阵(判断矩阵).比如第二层(评价准则的权重)。

第三步:一致性检验。

第四步:用判断矩阵计算权重。

第五步:完成填表。计算总分。

2.层次分析法的缺点

(1)n不能太大,即每一层的对象数不能太多,否则主观判断误差很大,且RI查表最多只能查到n=15.

(2)如果各层对象有明确的比较数据(比如说,社会调研已经发现,华科的男女比例和武大的男女比例有明确的数据),就不适合主观因素强的层次分析法了,而应该用其他能利用数据进行客观比较的方法。

3.拓展

(1)上面讲的层次分析法都只有三层。实际上可以有很多层。

(个人疑问:很多层的话,怎么列判断矩阵、总表呢?)

(2)上面讲的层次分析法,上层与下层之间都是全连接。实际上不一定是全连接。

不是全连接的话,对应权重直接设为0就行了。

补充


  1. 小明去旅游那道例题,如何通过上网搜集相关资料来确定评价指标?
    优先级:知网搜索-谷歌搜索-微信搜索-知乎搜索
    搜索关键字:旅游 选择 因素
    能搜到相关论文最好,比如本教程里在知网搜到一篇《大学生周末旅游选择目的地选择影响因素研究》,就很适合。比起引用博客之类的,引用论文显得你更专业。 ↩︎

  2. 以往论文中常用特征值法。但老师建议写论文的时候三种方法都用一遍,把三种方法算出来的权重、进而算出来的综合分数都算出来,然后进行排序、比较,还可以在最后加一段话提高逼格。
    ↩︎

数学建模学习笔记:层次分析法相关推荐

  1. 数学建模学习笔记——层次分析法(评价类,专家打分一般不用)

    层次分析法 (1)评价类问题--打分解决 问法--确认评价指标.形成评价体系         亿图图示  

  2. 学习笔记----层次分析法

    层次分析法(MATLAB实现) 定义 例题 步骤 细节补充 应用实例 定义   层次分析法是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则.约束)的若干 ...

  3. 【数学建模】1层次分析法模型部分

    目录 1 数学建模的任务分配 2 简介 3 模型介绍 3.1 评价类问题 3.2 拿到建模问题 3.3 推荐搜索网站 3.4 确定好指标 3.5 确定指标权重 (1)采用分而治之的思想 (2)分而治之 ...

  4. 《数学建模》之层次分析法

    1.层次分析法与数学建模 在数学建模中,通常解决的问题是:"影响某一问题的几个因素的权重大小"."产生某一问题的主要的因素分析"."权重的大小分析&q ...

  5. 数学建模之AHP层次分析法

    一.定义 层次分析法,简称AHP,是指将与决策总是有关的元素分解成目标.准则.方案等层次,在此基础之上进行定性和定量分析的决策方法.该方法是美国运筹学家匹茨堡大学教授萨蒂于20世纪70年代初,在为美国 ...

  6. 数学建模中的层次分析法

    层次分析法,是数学建模在评价类问题中常用的一种评价方法,其主要思想是通过建议一个层级结构,并对各级关系建立判断矩阵,通过对矩阵进行数据标准化归一化等操作,最终得到一个关于各指标的权重矩阵,根据矩阵判断 ...

  7. MATLAB数学建模必备算法--层次分析法AHP

    其主要用于解决评价类问题(例如:选择哪种方案最好.哪位运动员或者员工表现的更优秀) 一个很典型的层次分析法案例: 确定评价目标: 高考完后小明想要去旅游,有三个目的地供他选择: 苏杭 北戴河 桂林 确 ...

  8. 数模学习笔记-层次分析法(AHP)

    作用:解决评价类问题(即哪种方案最好,哪个人的表现最好.....) 解决评价类问题:首先要想到以下三个问题: ① 我们评价的目标是什么? ② 我们为了达到这个目标有哪几种可选的方案? ③ 评价的准则或 ...

  9. 数学建模常规算法——层次分析法

    层次分析法是将定性问题定量化处理的一种有效手段,根据不同的指标进行比对,得出最优解.层次分析法是一种定性和定量相结合的.系统化的.层次化的分析方法. 层次分析法的基本思路: 1)目标层: 2)准则层( ...

  10. 【数学建模入门】层次分析法

    层次分析法 适用场景 主要用于解决评价类问题(例如:选择哪种方案最好.哪位运动员或者员工表现最好) 基本知识 例题:假如有三个地方分别是苏杭.北戴河.桂林,我们现在要运用层次分析法选出那个地方最值得去 ...

最新文章

  1. 13.Java核心技术—内部类
  2. ERROR in app.js from UglifyJs RangeError: Maximum call stack size exceeded
  3. v4l2 框架下如何设置分辨率_如何在端外投放的场景下实现前端实时CEP框架?
  4. 永久白嫖!发现官方漏洞,希望不要被封杀!
  5. 计算机术语桢什么意思,请问电脑丢帧严重的“丢帧”是啥意思哦?
  6. 卷积神经网络结构_卷积神经网络
  7. tensorflow学习笔记七----------卷积神经网络
  8. C++关联容器,STL关联容器
  9. JS-以鼠标位置为中心的滑轮放大功能demo1
  10. 电脑异常关闭导致dubbo启动错误问题
  11. java web mysql备份,Java Web 实现Mysql 数据库备份与还原
  12. Simulink转化为低版本文件
  13. 多线程编程与资源同步API和示例
  14. 【安全知识分享】2021年安全生产月主题宣讲课件(附下载)
  15. js获取微信号_前端js可以直接获取到微信用户基本信息吗
  16. 计算数的位数c语言 百度作业帮,C语言多位数计算
  17. VMware配置VMnet8网络
  18. 获取中国移动光猫H2-2超管密码
  19. 实现冒泡排序(c语言)
  20. java sql连接字符串_java sql连接字符串与windows替代凭据

热门文章

  1. 数字孪生智慧城市建设解决方案
  2. 如何下载和安装iOS 15公测版【附更新建议】
  3. android 坏点测试软件,烧屏坏点检测软件下载-烧屏坏点检测官方安卓版v1.0-魅卓网...
  4. 桥接模式---汽车导航
  5. ios降级后无法用itunes恢复新版本的备份
  6. vue 动态显示实时时间
  7. 博科300 光纤交换机的配置
  8. abaqus与python后处理_abaqus用Python批量后处理教程!如何从abaqus导出python
  9. python 科比投篮数据可视化及简单分析
  10. Java汽车租赁系统[源码+数据库]