掌握决策之道:层次分析法(AHP)的步骤、应用与局限性

目录

一、层次分析法简介

举一个小例子: 

评价类问题可用打分解决,比如:小华高考结束后,在华科和武大两所学校之间做抉择。

评价类问题可用打分解决 

二、层次分析法的步骤

(一)一道引出层次分析法的例题

 (二)建立层次分析法的步骤

(1)第一步、建立层次结构模型

(2) 第二步、构造判断矩阵

 (3)第三步、 求权重并做一致性检验

​​①计算最大特征值方法1:算术平均法

②计算最大特征值方法2:几何平均法

③计算最大特征值方法3:特征值法 

三种方法结果综合分析: 

(4)第四步、根据权重矩阵计算得分,并进行排序

三、总结 

判断矩阵不满足一致性检验,CR>0.1,如何修正? 

层次分析法的优点:

 层次分析法的一些局限性:

层次分析法的适用情况:


一、层次分析法简介

层次分析法是建模比赛中最基础的模型之一,其主要用于解决评价问题

例如:选择哪种方案最好、哪位运动员或者员工表现的更优秀

举一个小例子: 

评价类问题可用打分解决,比如:小华高考结束后,在华科和武大两所学校之间做抉择。

评价类问题可用打分解决 

最终建议小华选择得分最高的一个学校:华科。 

二、层次分析法的步骤

(一)一道引出层次分析法的例题

小华同学想出去旅游。在查阅了网上的攻略后,他初步选择了苏杭、北戴河和桂林三地之一作为目标景点。

你确定评价指标、形成评价体系来为小华同学选择最佳的方案。

 解决评价类问题,首先要想到以下个问题:

我们评价的目标是什么?

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

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

 解决评价类问题,大家首先要想到以下三个问题:

① 我们评价的目标是什么?

  答:为小华同学选择最佳的旅游景点。

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

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

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

  答:题目没给相关数据支撑,需要我们查阅相关的资料。

一般而言,前两个问题的答案是显而易见的,第三个问题的答案 需要我们根据题目中的背景材料、常识以及网上搜集到的参考资料进行结合,从中筛选出最合适的指标

脑洞:假如现在小华就在我们面前,我们要对他提哪些问题才能帮他合理地做决定?  

问题: 一次性考虑这五个指标之间的关系,往往考虑不周。

解决方法: 两个两个指标进行比较,最终根据两两比较的结果来推算出权重。

目的:求权重!!!!!!

有同学可能会想,直接叫小华填好这张表不就完事啦~

  这样往往比较片面和不周全  (隔一天问他答案可能就变)

在确定影响某因素的诸因子在该因素中所占的比重时,遇到的主要困难 是这些比重常常不易定量化。此外,当影响某因素的因子较多时,直接考虑各因子对该因素有多大程度的影响时,常常会因考虑不周全、顾此 失彼而使决策者提出与他实际认为的重要性程度不相一致的数据,甚至 有可能提出一组隐含矛盾的数据。

                       ——选自司守奎[kuí]老师的数学建模算法与应用

 (二)建立层次分析法的步骤

(1)第一步、建立层次结构模型

解决评价类问题,大家首先要想到以下三个问题:

① 我们评价的目标是什么?

  答:为小华同学选择最佳的旅游景点。

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

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

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

  答:题目没给相关数据支撑,需要我们查阅相关的资料。

注意:如果你用到了层次分析法,那么这个层次结构图要放在你的建模论文中。  

(2) 第二步、构造判断矩阵

根据五个指标,分别构造出来的判断矩阵,如下: 

 (3)第三步、 求权重并做一致性检验

在使用判断矩阵求权重之前,必须对其进行一致性检验。

一致性检验的目的:为了检验各元素重要度之间的协调性,避免出现AB重要,BC重要,而C又比A重要这样的矛盾情况出现。

引理:n阶判断矩阵A为一致矩阵时,当且仅当最大特征值=n

           n阶判断矩阵A非一致时,一定满足最大特征值>n

判断矩阵越不一致时,最大特征值与n相差就越大

三种方法计算最大特征值:

①算术平均法(和积法)

②几何平均法(方根法)

③特征值法

​​①计算最大特征值方法1:算术平均法

第一步:将判断矩阵按照列归一化 (每一个元素除以其所在列的和)

第二步:将归一化的各列按行求和

第二步:将相加后得到的向量中的每个元素除以n即可得到权重向量

 结果如下:

②计算最大特征值方法2:几何平均法

③计算最大特征值方法3:特征值法 

三种方法结果综合分析: 

(4)第四步、根据权重矩阵计算得分,并进行排序

三、总结 

判断矩阵不满足一致性检验CR>0.1,如何修正? 

1. 重新构建判断矩阵:请专家重新评估要素之间的相对重要程度,确保判断矩阵满足一致性要求。

2. 调整判断矩阵中的数据:对判断矩阵中不满足一致性的元素进行微调,以达到一致性。可以使用辅助软件(如 YaahpAHP-Online 等)提供的功能进行检查和处理

3.降低判断矩阵阶数:如果判断矩阵的阶数过高,可以考虑降低其阶数,从而简化模型。这可以通过合并一些相关性较高的指标或子目标来实现。但要注意,降低阶数可能会影响分析结果的准确性。

往一致矩阵上调整    使一致矩阵各行成倍数关系

层次分析法的优点:

系统性:将对象视作系统,按照分解、比较、判断、综合的思维方式进行决策。成为继机理分析、统计分析之后发展起来的系统分析的重要工具

实用性定性与定量相结合,能处理许多用传统的最优化技术无法着手的实际问题,应用范围很广,同时,这种方法使得决策者与决策分析者能够相互沟通,决策者甚至可以直接应用它,这就增加了决策的有效性

简洁性:计算简便,结果明确,具有中等文化程度的人即可以了解层次分析法的基本原理并掌握该法的基本步骤,容易被决策者了解和掌握。便于决策者直接了解和掌握。

 层次分析法的一些局限性:

层次分析法的适用情况:

它适合用于以下几种情况:

1. 当决策问题涉及多个因素且这些因素之间存在层次关系时,可以使用层次分析法来理清各因素之间的关系,并确定各个层次的权重。

2. 当决策问题涉及到一些难以量化的因素时,层次分析法可以帮助我们将这些因素转化为可以比较的量化指标,从而进行决策。

3. 当决策问题需要考虑多方面的观点和意见时,层次分析法可以帮助我们综合各方的观点,形成统一的决策。

4. 当决策问题需要平衡多种目标和利益时,层次分析法可以帮助我们确定各个目标和利益的权重,以便找到最佳的平衡点。

总之,层次分析法适合于那些涉及多个因素、难以量化、需要考虑多方面观点和需要平衡多种目标和利益的决策问题。

  • 19
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
决策树和AHP层次分析法是两种不同的决策方法,我可以为你介绍它们的代码实现。 首先是决策树的代码实现。决策树是一种基于树结构的分类和回归算法,常用于解决分类和回归问题。以下是一个简单的决策树分类的Python代码示例: ```python from sklearn import datasets from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # 加载数据集 iris = datasets.load_iris() X = iris.data y = iris.target # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建决策树分类器 clf = DecisionTreeClassifier() # 训练模型 clf.fit(X_train, y_train) # 预测 y_pred = clf.predict(X_test) # 计算准确率 accuracy = accuracy_score(y_test, y_pred) print("准确率:", accuracy) ``` 接下来是AHP层次分析法的代码实现。AHP层次分析法是一种用于多准则决策的方法,它将问题分解为多个层次,通过对比不同层次的准则权重来进行决策。以下是一个简单的AHP层次分析法的Python代码示例: ```python import numpy as np # 构建判断矩阵 judgment_matrix = np.array([[1, 3, 5], [1/3, 1, 2], [1/5, 1/2, 1]]) # 计算权重 eigenvalues, eigenvectors = np.linalg.eig(judgment_matrix) weights = eigenvectors[:, np.argmax(eigenvalues)] # 归一化权重 weights /= np.sum(weights) # 输出权重 for i, weight in enumerate(weights): print("准则{}的权重:{}".format(i+1, weight)) ``` 以上是决策树和AHP层次分析法的简单代码实现示例。如果你有更具体的问题或者需要更复杂的实现,可以提供更多详细的要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值