小话层次分析法(AHP)

2023-11-08 04:20
文章标签 层次 分析法 ahp 小话

本文主要是介绍小话层次分析法(AHP),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在目标决策领域,有的决策数据信息是量化的,如一个项目的未来收益、消耗成本等,通过对各种信息进行计算可以做出较好的决策;但有的决策数据信息并不全是数字化的,如项目信息为“这个收益更好”、“这个成本更高”这样的非数字形式,计算就变得困难。而本文涉及到的层次分析法就是一种解决类似多目标决策的方法。层次分析法力求将定性信息和定量信息结合,依据决策者经验、知识等主观元素构建决策矩阵来量化出各目标权重关系的方法。

一、首先对层次分析法有个大概的了解:层次分析法是什么?能做什么?

层次分析法(Analytic Hierarchy Process,AHP)将信息构建为一个三层框架(名字源来),即目标层(决策想要实现目标)、准则层(影响目标的各种因素)、方案层(提供的多个方案),用量化的方式实现人的判断过程来解决决策问题。

其核心就是把人的主观判断量化计算,通过计算结果来做决策。这种主观判断需要在一定领域内,即某次的判断是在各种条件、标准既定下的,当有新方案、条件加入时,需重新做出判断。

二、掌握基本概念:

  1. 标度:态度、喜好等主观因素量化的形式。层次分析法中较多使用1-9标度,通过对两两因素进行比较获得相对重要程度的关系(重要程度也可解释为偏好、可能性等),这种重要程度用数字1-9及其倒数表示为相互间的倍数。表1为1-9标度法,其用法为当元素a比元素b强烈重要时标记为7。

表1 1-9标度法
2.一致性:决策、数据中的逻辑是否合理。当A比B重要,B比C重要,自然A比C重要我们认为合理,是一致的,但A不比C重要,这里是不一致的。在使用层次分析法时会要求我们进行一致性检验,通过检验的决策可信度更高(值得注意的是这种不一致的情况是合理存在的)。
表1 1-9标度法

三、方法框架:

  1. 将所有信息划分为目标、准则、方案三个层次(准则层下有时会有子准则),构建一个树形决策框架
  2. 通过问卷、专家对准则、方案的评价构建判断比较矩阵
  3. 通过矩阵计算出准则、方案在既有情况下的相对重要性
  4. 一致性检验

四、实操演示:

  1. 搭建框架
    假设我们现在想要评价两家公司A、B的未来潜力,根据专家建议,我们应该从盈利市场、行业三个准则来比较,基于以上条件我们构建如下的决策框架图(图1)。
    图1 决策框架图

图1 决策框架图
2. 构建矩阵
分别对需要计算的准则层和方案层构建判断矩阵,矩阵中的值通过专家或问卷调研,然后使用1-9标度法两两对比获得,如图3中专家认为盈利比市场稍重要、比行业强烈重要,通过计算矩阵我们得到各准则的在目标中的权重(数据皆为为拟定)。
在这里插入图片描述
图2 目标-准则层
在这里插入图片描述

图3 准则-方案层
3.计算权重
这里插播一条矩阵计算权重的方法。在计算矩阵时首先独单计算每层因素对于上层因素的权重,称为层次单排序;在单排序后,想要计算某层因素(通常为底层)对顶层因素的权重,称为层次总排序。
判断矩阵常用的计算方法有方根法与和法。假设目标层为T={t1},准则层m个准则,方案层n个方案。
1.方根法计算目标-准则层
(1)计算每行乘积的m次方,得到一个m维向量
在这里插入图片描述

第一行乘积开3次方:2.758,第二行乘积开3次方:1.185,第三行乘积开3次方:0.357
(2)将将向量标准化即为权重向量,即得到权重
在这里插入图片描述

求和得2.758+1.185+0.357=4.221,计算占比进行标准化。
2.和法计算准则-方案层
(1)先将矩阵的每列进行归一化
上述矩阵归一化后结果
0.75 0.75
0.25 0.25
(2)将归一化后的各元素按行求和,参照方法1的(1)
求和结果 (1.5, 0.5)
(3)将求和结果进行归一化,参照方法1的(2)
归一化结果 (0.75,0.25)
4.一致性检验
完成第一阶段的计算后,需要对结果进行一致性检验,当一致性检验未通过时,代表决策存在问题,需对决策数据进行纠正
首先计算出每个判断矩阵得最大特征根λ,A为判断矩阵
在这里插入图片描述

CI为一致性判断指标,λ为特征根,CI越接近0越具有一致性
在这里插入图片描述

但通常使用CR作为判断标准,CR为一致性比例,RI为随即一致性指标(通过查表获得),CR>0.1时一致性检验不通过。
在这里插入图片描述

层次总排序
上面四个步骤完成了整个方法初始的计算,在权重计算步骤中介绍的两种计算为单排序计算方法,当计算完每层权重后,计算方案层对目标层的总排序权重即层次总排序,就可以通过权重结果直接做出决策了。
单排序中:
目标-准则层计算出权重向量C
C = [0.65, 0.28, 0.07]
准则-方案层计算出权重向量si
盈利-方案 s1 = [0.75, 0.25]
市场-方案 s2 = [0.8, 0.2]
行业-方案 s3 = [0.3, 0.7]
S = [s1,s2,s3]
总排序:为C
S=[0.7325, 0.2675]
本文中,我们通过AHP方法,在专家建议下以盈利、市场和行业为准则,比较得出公司A的潜力高于公司B。

以上就是本文全部内容,欢迎交流探讨(Wechat:wen15978992718)。

*参考文献:
[1] Saaty T L . 网络层次分析法原理及其应用[M]. 北京理工大学出版社, 2015.
[2]孙铭忆.层次分析法(AHP)与网络层次分析法(ANP)的比较[J].中外企业家,2014(10):67-68.

这篇关于小话层次分析法(AHP)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/367826

相关文章

MATLAB层次聚类分析法

转自:http://blog.163.com/lxg_1123@126/blog/static/74841406201022774051963/ 层次聚类是基于距离的聚类方法,MATLAB中通过pdist、linkage、dendrogram、cluster等函数来完成。层次聚类的过程可以分这么几步: (1) 确定对象(实际上就是数据集中的每个数据点)之间的相似性,实际上就是定义一个表征

二叉树的层次遍历(10道)

(写给未来遗忘的自己) 102.二叉数的层序遍历(从上到下) 题目: 代码: class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>> result; queue<TreeNode*> node; if (root == nullptr) {

【ML--13】聚类--层次聚类

一、基本概念 层次聚类不需要指定聚类的数目,首先它是将数据中的每个实例看作一个类,然后将最相似的两个类合并,该过程迭代计算只到剩下一个类为止,类由两个子类构成,每个子类又由更小的两个子类构成。 层次聚类方法对给定的数据集进行层次的分解,直到某种条件满足或者达到最大迭代次数。具体又可分为: 凝聚的层次聚类(AGNES算法):一种自底向上的策略,首先将每个对象作为一个簇,然后合并这些原子簇为越来

【mysql 递归查询】Mysql中的递归层次查询(父子查询)

最近遇到了一个问题,在mysql中如何完成节点下的所有节点或节点上的所有父节点的查询? SELECT id,name,parent_id from b_company 数据长这样子,id是父节点,parent_id 是子节点 id name parent_id1 草根总公司 24 浙江金爱农网络科技有限公司 125 衢州分公司 2426 江山直营点

某PO手机市场竞争分析,巧用波特五力分析法找出核心竞争力!

某PO手机主要从事手机的生产与销售,最近推出了新款 Reno 系列 5G 手机。当前,苹果占据了高端市场,华为占据了中高端市场,而某 PO 手机则在剩余市场中与某 VO 和某米竞争。近年来,某 PO手机凭借中端 R 系列逐步取得市场份额。在这样的背景下,我们运用波特五力模型来分析某 PO 手机的外部环境。 1、波特五力模型案例分析:某PO手机 1.1 新进入者的威胁 由于电子产品市场竞争激烈

综合评价 | 基于层次-熵权-博弈组合法的综合评价模型(Matlab)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 AHP层次分析法是一种解决多目标复杂问题的定性和定量相结合进行计算决策权重的研究方法。该方法将定量分析与定性分析结合起来,用决策者的经验判断各衡量目标之间能否实现的标准之间的相对重要程度,并合理地给出每个决策方案的每个标准的权数,利用权数求出各方案的优劣次序,比较有效地应用于那些难以用定量方法解决的课题

二叉树层次遍历算法

在下面的层次遍历算法中,二叉树以二叉链表存放,一位数组queue[max]用以实现队列,变量front和rear分别表示队首和队尾指针,记录当前队首元素和队尾元素在数组中的位置。 void levelorder(bitree bt) { bitree queue[max]; int front,rear; if(bt==NULL) return; front=-

测试用例设计方法-边界值分析法和错误推测法

测试用例设计方法-边界值分析法   边界值分析法就是对输入或输出对边界值进行测试对一种黑盒测试方法。(一般和等价类一起用) 一、考虑   测试工作经验告诉我们,大量对错误是发生在输入或输出范围对边界上,而不是发生在输入输出范围对内部(从开发角度可以发现)。因此针对各种边界情况设计测试用例,可以查出更多对错误。   使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界

按层次顺序(同一层自左至右)遍历二叉树的算法

编写按层次顺序(同一层自左至右)遍历二叉树的算法。 二叉链表类型定义: typedef char TElemType; // 设二叉树的元素为char类型typedef struct BiTNode {TElemType data;BiTNode *lchild, *rchild;} BiTNode, *BiTree;可用队列类型Queue的相关定义: typed

运用PCA(主成分分析法)进行人脸识别的MATLAB 代码实现

PCA(主成分分析算法)出现的比较早。 PCA算法依赖于一个基本假设:一类图像具有某些相似的特征(如人脸),在整个图像空间中呈现出聚类性,因而形成一个子空间,即所谓特征子空间,PCA变换是最佳正交变换,利用变换基的线性组合可以描述、表达和逼近这一类图像,因此可以进行图像识别,PCA包含训练和识别两个阶段。 训练阶段: 1)计算平均脸 2)计算差值脸 3)构建协方差矩阵 4)计算矩阵的特