清风数学建模——层次分析法

层次分析法

哈希表 你真的懂吗 (1)

文章目录

  • 层次分析法
    • 评价类问题可以用打分来解决
      • 1.通过查阅资料选定指标
      • 2.画出权重表格并填写
      • 2.1.判断矩阵
      • 一致矩阵
      • 2.3一致性检验的步骤
        • 先算一致性指标CI
        • 根据表格查找n对应的RI(平均随机一致性指标),表格一般会在题目中给出
        • 计算一致性比例CR
        • 若得出CR<0.1,判断说明判断矩阵的一致性可以接受;若CR>=0.1,判断说明矩阵的一致性不能接受,需要对判断矩阵进行纠正。
      • 3.计算判断矩阵权重
      • 3.1算数平均法计算权重
        • 权重进行归一化处理
        • 若判断矩阵是一致矩阵,任选一列计算权重
        • 若判断矩阵不是一致矩阵,对不同列分别计算权重,最后计算平均权重
      • 3.2几何平均法求权重
      • 3.3特征值法求权重
        • 若判断矩阵为一致矩阵,其特征值为n,其余特征值为0
      • 3.4最后将计算结果填入权重表格
      • 4.汇总结果得到权重矩阵
      • 5. 计算各方案的得分
      • 层次分析法在论文中体现的步骤
      • 层次分析法的局限性
      • 算数平均法计算权重代码
      • 几何平均法求权重代码
      • 特征值法求权重代码
      • 计算一致性检验代码
      • 计算一致性检验代码

提示:资料可以从知网,万方,百度学术,谷歌学术等平台上搜索

image-20230723163927046

评价类问题可以用打分来解决

评价类问题应该从这三个方面中切入

  1. 我们评价的目标是什么?
  2. 我们为了达到目标有哪些选择方案?
  3. 评价的指标是什么?
  • 前两个问题可以在题目中得出,第三个问题要通过提炼题目或者搜索得出
  • 总结一下:通过题目得出我们评价的目标是什么,然后推断出几种选择方案,再通过评价的指标給选择方案打分,最终选择出最优方案。

通过查找资料对比得出权重

image-20230722235144824

  • 计算得出指标对应权重,指标权重加起来为1;然后根据对象查找指标定义权重得分,根据不同对象的横向对比得出不同对象的同一指标权重得分,其中同一个指标的得分相加为1;最后用对对象的得分*指标权重加总求和,选出最大总和的对象

接下来通过分析题目推导层次分析法的步骤

  • 小明同学想去旅游,在网上查阅攻略后,选定了苏杭,北戴河,桂林三处名胜作为旅游景点,请通过确定评价指标、形成评价体系来为小明同学选择最佳的方案。

1.通过查阅资料选定指标

image-20230728191902723

现在我们来回答一下评价类问题的三个切入问题

  1. 我们评价的目标是什么?

为小明同学选择最佳的旅游景点

  1. 我们为了达到这个目标有哪几种可选的方案?

三种,分别是去苏杭、去北戴河和去桂林

  1. 评价的准则或者说指标是什么?(我们根据什么东西来评价好坏)

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

2.画出权重表格并填写

  • 先做出该表格然后一一分析填空

image-20230728192113829

  • 因为这里关系到三个景点和五种指标,若一起进行分析的话会非常困难,因此在这里我们只需要两两指标比较,根据比较结果推算出权重。也因此有了下面这个两两比较表示重要程度的表格

image-20230723164241487

2.1.判断矩阵

  • 根据两两指标比较得出的结果可以作出一个表格,该表格被称为判断矩阵。

image-20230723164708236

  • 根据所得资料将两两对象的指标相互比较,得出对应的元素aij(指标i与指标j相比i的重要程度),然后作出该矩阵

  • 该矩阵若满足:

    1. i==j时即两指标相同因此aij相同记为1
    2. aij>0且aijxaji=1

    那么将这样的矩阵称为正互反矩阵,这个矩阵在层次分析法中作为判断矩阵(如a13就可以表示为景色的重要程度比居住要介于稍微重要和明显重要之间。)

    此时小明根据两两指标对比得出结果,依次填到判断矩阵中。但实际上我们参加比赛的时候不会有小明帮我们填,需要我们通过查找资料,计算,推断得出结果。

    另外判断矩阵满足某些条件后是一致矩阵,一致矩阵是判断矩阵的一种形式。

一致矩阵

image-20230723173919106

  • 能由以下两个公式
    a i j = i 的重要程度 / j 的重要程度, a j i = j 的重要程度 / i 的重要程度 a_{ij}=i的重要程度/j的重要程度,a_{ji}=j的重要程度/i的重要程度 aij=i的重要程度/j的重要程度,aji=j的重要程度/i的重要程度

得出下面的公式
a i k = i 的重要程度 / k 的重要程度 = a i j ∗ a j k a_{ik}=i的重要程度/k的重要程度=a_{ij}*a_{jk} aik=i的重要程度/k的重要程度=aijajk

即在判断矩阵的基础上,满足aijxajk=aik则该矩阵为一致矩阵。根据该公式还能得出该矩阵满足行之间成倍数关系、列之间成倍数关系

image-20230728195344984

  • 当判断矩阵是一致矩阵时,特征值=一致矩阵主对角线的加总即为n
  • 特征值为n时,对应的特征向量为矩阵的第一行
  • 当矩阵不是一致矩阵时,令判断矩阵为行列式,并且主对角线同时减同一个数,令该行列式为0,解出来该数就是该判断矩阵的特征值,特征值可能会有多个解

image-20230729103800625

另外可能会有人会把这里提到的正互反矩阵和线性代数中的正交矩阵混淆,这里我说明一下:

正交矩阵和正互反矩阵是两个不同的概念。正交矩阵是一个方阵,其列向量两两正交且长度为1。它的转置矩阵与它本身相乘等于单位矩阵。正交矩阵表示的是线性变换中的旋转和镜像操作,保持向量的长度和间角不变。正互反矩阵是一个对称矩阵,其所有特征值都大于零。它满足对于任意非零向量x,aij>0,其中A为正互反矩阵。正互反矩阵表达的是二次型的正定性,用于描述优化问题中的约束条件或二次型优化的性质。虽然正交矩阵和正互反矩阵在某些特殊情况下可能有一些重叠,但它们的定义和应用领域是不同的。

image-20230724191627085

  • 当判断矩阵满足aijxajk=aik即判断矩阵是一致矩阵时,最大特征值为n;当判断矩阵不算一致矩阵时,一定满足最大特征值大于n,且矩阵越不一致,最大特征值与n相差越大
  • 特征值的计算:令判断矩阵为方阵A,λ
  • 以上图为例,当a=4时,此时特征值为3,即是特征值随a变化而变化的最小值

总结一下:

  1. 两两指标对比画图表得出判断矩阵,判断矩阵的必须满足i==j时即两指标相同既为1aij>0且aijxaji=1
  2. 判断矩阵的基础上,矩阵若满足各行(各列)之间成倍数关系,则该矩阵为一致矩阵
  3. 一致矩阵的特征值为n,当矩阵不是一致矩阵时,,一定满足最大特征值大于n,且矩阵越不一致,最大特征值与n相差越大

image-20230723183545504

可以看到上图不满足aijxajk=aik所以不算一致矩阵,而图二满足是一致矩阵,那么在使用判断矩阵求权重之前必须对其进行一致性检查。

2.3一致性检验的步骤

image-20230724192347989

  1. 先算一致性指标CI

公式如下:
C I = λ m a x − n / n − 1 CI=\lambda_{max}-n/n-1 CI=λmaxn/n1

即为特征值的最大值-矩阵对角线元素的个数除以矩阵对角线元素的个数-1

  1. 根据表格查找n对应的RI(平均随机一致性指标),表格一般会在题目中给出

  2. 计算一致性比例CR

公式如下:
C R = C I / R I CR=CI/RI CR=CI/RI

  1. 若得出CR<0.1,判断说明判断矩阵的一致性可以接受;若CR>=0.1,判断说明矩阵的一致性不能接受,需要对判断矩阵进行纠正。

  2. 当CR>=0.1时,说明矩阵的一致性不能接受,这时候需要将矩阵往一致矩阵的上调整,既使得矩阵满足各行各列成倍数关系

对判断矩阵进行完一致性检验后,就要对判断矩阵计算权重了

3.计算判断矩阵权重

3.1算数平均法计算权重

  1. 权重进行归一化处理

image-20230725110309294

若判断矩阵是一致矩阵,任选一列计算权重

  • 若判断矩阵是一致矩阵, 说明行之间成倍数关系,列之间也成倍数关系,所以归一化时选任意一列算出来的结果都是一样的。归一化是指计算某个元素在整个总体的占比。在这里是计算元素在列中的占比

image-20230725110659494

若判断矩阵不是一致矩阵,对不同列分别计算权重,最后计算平均权重

  • 若矩阵不是一致矩阵,说明列之间不是成倍数关系,那么每列计算出来的权重并不一样,这时候就需要对全部列分别计算权重,最后求平均权重

image-20230725111326239

image-20230725111339173

总结得出以下步骤和公式:

image-20230725115527848

image-20230725121625913

3.2几何平均法求权重

image-20230725124604289

( ∏ j = 1 n a i j ) / ∑ k = 1 n ( ∏ k = 1 n a k j ) 1 / n (\prod^n_{j=1}a_{ij})/\sum^n_{k=1}(\prod^n_{k=1}a_{kj})^{1/n} (j=1naij)/k=1n(k=1nakj)1/n

3.3特征值法求权重

image-20230729112026661

若判断矩阵为一致矩阵,其特征值为n,其余特征值为0

对应的特征向量为一致矩阵的第一列

  • 权重归一化:

特征值 / 特征向量 = n / 第一列总和 特征值/特征向量 =n/第一列总和 特征值/特征向量=n/第一列总和

  • 另外,若比赛时间足够充裕,建议以上三种计算方法都用上,用上后可以加上一句:为了保证结果的 稳健性,本文采用了三种方法分别求出了权重后计算平均值,再根据得到的权重矩阵计算各方案的得分,并进行排序和综合分析,这样避免了采用单一方法所产生的偏差,得出的结论将更全面、更有效

3.4最后将计算结果填入权重表格

image-20230729112209399

4.汇总结果得到权重矩阵

image-20230729112451968

5. 计算各方案的得分

image-20230729112549760

  • 根据得分选择分数最高的对象

层次分析法在论文中体现的步骤

总体来说,在论文中体现分为以下几步:

  1. 分析系统中各因素之间的关系,建立系统的递阶层次结构

image-20230729112955390

  • 该图可以用PPT的smartArt生成,也可以用亿图图示,ProcessOn

具体步骤可以参考如下

image-20230729113208599

  1. 对于同一层次的各元素关于上一层次中某一准则的重要性进行两两比较,构造两两比较矩阵(判断矩阵)

image-20230729113229887

  1. 根据判断矩阵两两比较计算得出结果,汇总结果得出权重矩阵

image-20230729113412007

  1. 根据权重矩阵计算得出最高分数的对象,选择该最高分对象作为最终目标

层次分析法的局限性

  • 评价的决策层不能太多,太多的话n会很大,判断矩阵和一致矩阵差异 可能会很大,平均随机一致性指标RI的表格中n的个数最多是15
  • 若决策层中指标的数据是已知的,那么我们如何利用这些数据来使得评价的更加准确呢?我们使用层次分析法是通过查找数据计算推导决策层和目标层,然而当决策层中的指标数据是已知的,层次分析法的价值就不再体现,这时候用其他算法会更好

算数平均法计算权重代码

image-20230801000658710

  • 先假定矩阵A为判断矩阵,输入matlab中。其中matlab默认显示是小数

image-20230801000805618

  • 将矩阵A进行按列求和然后赋值給col_A矩阵

sum(A):对矩阵A进行求和,默认是列向量求和;sum(A,2)表示对行向量求和

image-20230801001002997

  • 根据size函数求得矩阵的行数x和列数y,因为这里矩阵A是方阵,因此x=y

size(A):查看矩阵A的行数和列数

image-20230801001205637

  • 将求和矩阵col_A的行数设置为A矩阵的行数,即为后续归一化提供分母

image-20230801001706046

  • 将原先的判断矩阵A的各个元素作为分子,把总和矩阵sum_A的各个元素作为分母,进行归一化

image-20230801002234280

  • 将归一化的矩阵nor_A按行求和

image-20230801002901880

  • 最后求出平均权重

几何平均法求权重代码

image-20230801132957945

  • 按行将各个元素相乘,得到一个列矩阵row_A

sum(A):对矩阵A进行求积,默认是列向量求积;sum(A,2)表示对行向量求积

image-20230801133126643

  • 求出判断矩阵A的列数n,因为这里的矩阵A是方阵,所以列数=行数=5

image-20230801133237284

  • 将列向量row_A的每个元素都开1/n次方得到新的列矩阵den_A

image-20230801133902985

  • 将列矩阵den_A的每个元素除以矩阵den_A的总和

特征值法求权重代码

image-20230801140238090

  • 求A矩阵的特征向量V和特征值D

E=eig(A),E为特征值;[V,E]=eig(A),V是特征向量,E是特征值,且特征值对应所在的列的特征向量,且E是以对角矩阵的方式呈现

image-20230801140848533

  • 求出最大特征值

max(A):对矩阵A求最大:每一列中取最大,返回一个行矩阵。max(max(A)):每列最大中取最大数值

image-20230801141210424

  • 求出最大特征值对应的行标r和列标c,即能够根据最大特征值的位置找到对应的特征向量

D == max_eig表示为在矩阵内找到与max_eig相等的元素,找到返回1没找到返回0。[r,c] = find(D == Max_eig , 1)表示:find函数的参数一的返回值与find的参数二1相比较,若相等返回参数一对应结果的行标和列标。

image-20230801143345469

  • 找到最大特征值所在的列,该列即为对应的特征向量,然后进行归一化

计算一致性检验代码

C I = λ m a x − n / n − 1 CI=\lambda_{max}-n/n-1 CI=λmaxn/n1

image-20230801144312330

  • Max_eig是最大特征值,由于判断矩阵A是方阵,因此n是矩阵A的行数也是列数

image-20230801144437634

  • 根据题目输入一致性指标RI

image-20230801144521344

  • 计算一致性比例CR

  • 若得出CR<0.1,判断说明判断矩阵的一致性可以接受;若CR>=0.1,判断说明矩阵的一致性不能接受,需要对判断矩阵进行纠正。
    对应的特征向量,然后进行归一化

计算一致性检验代码

C I = λ m a x − n / n − 1 CI=\lambda_{max}-n/n-1 CI=λmaxn/n1

[外链图片转存中…(img-Wu6k78Gr-1690872654596)]

  • Max_eig是最大特征值,由于判断矩阵A是方阵,因此n是矩阵A的行数也是列数

[外链图片转存中…(img-OkTUQOkZ-1690872654596)]

  • 根据题目输入一致性指标RI

[外链图片转存中…(img-RlICO43U-1690872654596)]

  • 计算一致性比例CR

  • 若得出CR<0.1,判断说明判断矩阵的一致性可以接受;若CR>=0.1,判断说明矩阵的一致性不能接受,需要对判断矩阵进行纠正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/17146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【iOS】—— UIKit相关问题

文章目录 UIKit常用的UIKit组件懒加载的优势 CALayer和UIView区别关系 UITableViewUITableView遵循的两个delegate以及必须实现的方法上述四个必须实现方法执行顺序其他方法的执行顺序&#xff1a; UICollectionView和UITableView的区别UICollectionViewFlowLayout和UICollecti…

uniapp scroll-view显示滚动条

在style中添加样式&#xff1a; ::v-deep ::-webkit-scrollbar {/* 滚动条整体样式 */display: block;width: 10rpx !important;height: 10rpx !important;-webkit-appearance: auto !important;background: transparent;overflow: auto !important;}::v-deep ::-webkit-scroll…

大数据Flink(五十一):Flink的引入和Flink的简介

文章目录 Flink的引入和Flink的简介 一、Flink的引入 1、第1代——Hadoop MapReduce

RK809 电源管理芯片配置3-RK3568

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言RK809 芯片概述认识DCDC和LDORK809的引脚RK809 的功能电源管理的概念配置内核驱动电源域IO 电源域配置方法前言 前面提到编译的时候需要正确配置电源,RK3568的电源管理芯片是RK809,下面就来…

精选算法题(4)——字符串比较

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 题目描述&#xff1a; 好久没做题目了&#xff0c;近期刷抖音碰到一个题目&#xff0c;乍一看不是很难&#xff0c;但是手生了&a…

HTTP——HTTP报文内的HTTP信息

HTTP 通信过程包括从客户端发往服务器端的请求及从服务器端返回客户端的响应。本章就让我们来了解一下请求和响应是怎样运作的。 HTTP 一、HTTP报文二、请求报文及响应报文的结构三、编码提升传输速率1、报文主体和实体主题的差异2、压缩传输的内容编码3、分割发送的分块传输编…

HCIP——前期综合实验

前期综合实验 一、实验拓扑二、实验要求三、实验思路四、实验步骤1、配置接口IP地址2、交换机配置划分vlan10以及vlan203、总部分部&#xff0c;骨干网配置OSPF分部总部骨干网 4、配置BGP建立邻居关系总部骨干网分部 5、发布用户网段6、将下一跳改为本地7、允许AS重复8、重发布…

【Linux】 UDP网络套接字编程

&#x1f34e;作者&#xff1a;阿润菜菜 &#x1f4d6;专栏&#xff1a;Linux系统网络编程 文章目录 一、网络通信的本质&#xff08;port标识的进程间通信&#xff09;二、传输层协议UDP/TCP认识传输层协议UDP/TCP网络字节序问题&#xff08;规定大端&#xff09; 三、socket编…

第十三章 利用PCA简化数据

文章目录 第十三章 利用PCA简化数据13.1降维技术13.2PCA13.2.1移动坐标轴 13.2.2在NumPy中实现PCA13.3利用PCA对半导体制造数据降维 第十三章 利用PCA简化数据 PCA&#xff08;Principal Component Analysis&#xff0c;主成分分析&#xff09;是一种常用的降维技术&#xff0…

剑指offer41.数据流中的中位数

我一开始的想法是既然要找中位数&#xff0c;那肯定要排序&#xff0c;而且这个数据结构肯定要能动态的添加数据的&#xff0c;肯定不能用数组&#xff0c;于是我想到了用优先队列&#xff0c;它自己会排序都不用我写&#xff0c;所以addNum方法直接调用就可以&#xff0c;但是…

MAC电脑设置charles,连接手机的步骤说明(个人实际操作)

目录 一、charles web端设置 1. 安装charles之后&#xff0c;先安装证书 2. 设置 Proxy-Proxy Settings 3. 设置 SSL Proxying 二、手机的设置 1. 安卓 2. ios 资料获取方法 一、charles web端设置 1. 安装charles之后&#xff0c;先安装证书 Help-SSL Proxying-Inst…

优化基于tcp,socket的ftp文件传输程序

原始程序&#xff1a; template_ftp_server_old.py&#xff1a; import socket import json import struct import os import time import pymysql.cursorssoc socket.socket(socket.AF_INET, socket.SOCK_STREAM) HOST 192.168.31.111 PORT 4101 soc.bind((HOST,PORT)) p…

是面试官放水,还是公司实在是太缺人?这都没挂,华为原来这么容易进...

华为是大企业&#xff0c;是不是很难进去啊&#xff1f;” “在华为做软件测试&#xff0c;能得到很好的发展吗&#xff1f; 一进去就有9.5K&#xff0c;其实也没有想的那么难” 直到现在&#xff0c;心情都还是无比激动&#xff01; 本人211非科班&#xff0c;之前在字节和腾讯…

iphone卡在恢复模式怎么办?修复办法分享!

iPhone 卡在恢复屏幕问题是 iPhone 用户在软件更新或恢复期间的常见问题。如果你也遇到此问题&#xff0c;不要着急&#xff0c;接下来我们将探讨 iPhone 卡在恢复屏幕上的主要原因&#xff0c;以及如何轻松修复它。 iPhone卡在恢复屏幕问题上没有一个特别的原因&#xff0c;但…

数字资产管理是做什么的?

显然&#xff0c;单纯依靠人力来管理和盘点固定资产已经不能满足公司日益增长的需求。合理使用固定资产管理系统来帮助管理实物资产已经成为一种趋势。  有鉴于此&#xff0c;依靠信息技术的支持&#xff0c;选择RFID固定资产管理系统可以有效解决资产管理盘点等难题&#xf…

Maven右侧依赖Dependencies消失

项目右侧的Maven依赖Dependencies突然消失&#xff0c;项目中的注解都出现报错&#xff0c;出现这种情况应该是因为IDEA版本早于maven版本&#xff0c;重新检查项目中的Maven路径&#xff0c;选择File->Settings->搜索Maven&#xff0c;检查Maven home directory&#xf…

可以写进简历的kafka优化-----吞吐量提升一倍的方法

冲突 在看到项目工程里kafka 生产端配置的batch.size为500&#xff0c;而实际业务数据平均有1K大小的时候&#xff1b;我有点懵了。是的&#xff0c;这里矛盾了&#xff1b;莫非之前的作者认为这个batch.size是发送的条数&#xff0c;而不是kafka生产端内存缓存记录的大小&…

HackSudo2靶机 通关详解

环境配置 发现vmWare的kali扫不到virtualbox的靶机 网上找了挺久资料都没解决 索性全桥接上物理机了 信息收集 漏洞发现 扫个目录 都看了一眼 没什么有用的 然后回到file.php 感觉之前做过类似的靶场,猜测存在文件包含 随便传个file试试 确实有 考虑日志文件包含 之前看…

《2023中国开发者调查报告》探索2023中国开发者的技术创新与挑战:AIoT、云原生、国产数据库等领域的发展与前景

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

【AI之路】使用huggingface_hub优雅解决huggingface大模型下载问题

文章目录 前言一、Hugging face是什么&#xff1f;二、准备工作三、下载整个仓库或单个大模型文件1. 下载整个仓库2. 下载单个大模型文件 总结附录 前言 Hugging face 资源很不错&#xff0c;可是国内下载速度很慢&#xff0c;动则GB的大模型&#xff0c;下载很容易超时&#…