评价类模型——层次分析法,一致性检验

评价类模型——层次分析法,一致性检验

    以下内容整理来自B站UP主:数学建模学习交流

    层次分析法(The Analytic Hierarchy Process即 AHP)是由美国运筹学家、 匹兹堡大学教授T . L. Saaty于20世纪70年代创立的一种系统分析与决策的综合 评价方法,是在充分研究了人类思维过程的基础上提出来的,它较合理地解决了定性问题定量化的处理过程。

    AHP的主要特点是通过建立递阶层次结构,把人类的判断转化到若干因素两两之间重要度的比较上,从而把难于量化的定性判断转化为可操作的重要度的比较上面。在许多情况下,决策者可以直接使用AHP进行决策,极大地提高了决策的有效性、可靠性和可行性,但其本质是一种思维方式,它把复杂问题分解成多个组成因素,又将这些因素按支配关系分别形成递阶层次结构,通过两两比较的方法确定决策方案相对重要度的总排序。整个过程体 现了人类决策思维的基本特征,即分解、判断、综合,克服了其他方法回避决策者主观判断的缺点。

层次分析法:建模比赛中最基础的模型之一,其主要用于解决 评价类问题(例如:选择哪种方案最好、哪位运

动员或者员工表现的更优秀)

评价类问题可用打分方法解决:

例题1:华中科技大学和武汉大学哪所学校好,考虑学习氛围、就业前景、男女比例、校园景色等因素。每个因素所占比例以及待比较的内容所占比例分配假设如下,则两所学校的评分计算方式为
<span>评价类模型——层次分析法,一致性检验</span>

使用打分法解决评价问题,只需要我们补充完成下面这张表格即可:
<span>评价类模型——层次分析法,一致性检验</span>

 

 
例题2:小明同学想出去旅游,他选择苏杭、北戴河和桂林三地之一作为目标景点。请确定评价指标、形成评价体系为其选择最合适的方案。
第一步:
<span>评价类模型——层次分析法,一致性检验</span>

 

 
第二步:构建权重表格

 根据第一步的分析内容构建如下的权重表格,其中同色的之和为1,
<span>评价类模型——层次分析法,一致性检验</span>

 

 
 如何填写上面的某种颜色的各项内容呢?例如蓝色对应的指标权重?

问题:

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

解决方法:

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

已知重要度表如下:
<span>评价类模型——层次分析法,一致性检验</span>
1、假设构建的指标权重的重要度比较矩阵如下:
 <span>评价类模型——层次分析法,一致性检验</span>

 

假设苏杭、北戴河、桂林在景色、花费、居住、饮食、交通方面的判断矩阵分别为:
<span>评价类模型——层次分析法,一致性检验</span>

 

 
2、计算判断矩阵权重

总共三种方法计算权重:算数平均法、几何平均法、特征值法

1)、用算数平均法解决指标景色上的判断矩阵
<span>评价类模型——层次分析法,一致性检验</span>

 

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

第二步:将归一化的各列相加(按行求和)

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

公式描述如下:
<span>评价类模型——层次分析法,一致性检验</span>

 

 
求解过程如下:
<span>评价类模型——层次分析法,一致性检验</span>

 

 
2)、用几何平均法解决指标景色上的判断矩阵

几何平均法求权重也有三步:

第一步:将A的元素按照行相乘得到一个新的列向量

第二步:将新的向量的每个分量开n次方

第三步:对该列向量进行归一化即可得到权重向量
<span>评价类模型——层次分析法,一致性检验</span>

 

 
3)、用特征值法解决指标景色上的判断矩阵
<span>评价类模型——层次分析法,一致性检验</span>

 

三种方法计算出来的结果差别较小,在此选用特征值法得到的结果填入对应的判断矩阵中
<span>评价类模型——层次分析法,一致性检验</span>

 

 
按照上述方法同理计算出其他色块对应的权重,得到使用特征值法求得的权重矩阵如下,根据此矩阵, 计算出每个旅游景点的得分。
<span>评价类模型——层次分析法,一致性检验</span>

 

 
第三步:计算每个方案得分
<span>评价类模型——层次分析法,一致性检验</span>

 

 
类似的,我们可以得到北戴河得分为0.245, 桂林得分为0.455. 因此最佳的旅游景点是桂林。

    注意的问题:在第二步构造判断矩阵后要对其进行一致性检验,检验构造的矩阵是否与一致性矩阵有太大差别,接下来介绍一致性矩阵

 一致性检验

1.一致矩阵
<span>评价类模型——层次分析法,一致性检验</span>

 

 
 下图中左侧是构造的判断矩阵,右侧是其对应的一致矩阵,如果构造的判断矩阵与一致矩阵差别太大的话则不可以使用,要重新构建判断矩阵,直至通过一致性检验为止
<span>评价类模型——层次分析法,一致性检验</span>

 

 
2.一致性检验的步骤

1)、计算判断矩阵最大特征值<span>评价类模型——层次分析法,一致性检验</span>、一致性指标CI

<span>评价类模型——层次分析法,一致性检验</span>

n是矩阵的维数,一致矩阵的最大特征值为n,当判断矩阵的最大特征值为n时,此判断矩阵为一致矩阵。

2)、根据n的大小,按照下表查找平均随机一致性指标RI
<span>评价类模型——层次分析法,一致性检验</span>

 

 
3)、计算一致性比例CR
<span>评价类模型——层次分析法,一致性检验</span>

 

 
如果CR < 0.1, 则可认为判断矩阵的一致性可以接受;否则需要对判断矩阵进行修正。修正的方法是往一致矩阵上调整,(一致矩阵各行成倍数关系)

原文链接:https://blog.csdn.net/qq_36384657/article/details/97694443

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119540.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • veriloghdl与vhdl_verilog基本语法

    veriloghdl与vhdl_verilog基本语法 硬件描述语言HDL(HardwareDescribeLanguage)     HDL概述     随着EDA技术的发展,使用硬件语言设计PLD/FPGA成为一种趋势。目前最主要的硬件描述语言是VHDL和VerilogHDL。VHDL发展的显纾锓ㄑ细瘢鳹erilogHDL是在C语言的基础上发展起来的一种硬件描述语言,语法较自由。VHDL和VerilogHDL两者相比

    2022年9月21日
    0
  • 数据不平衡之SMOTE算法

    数据不平衡之SMOTE算法在企业的数据分析中,很少会遇到正负样本数据比例平衡的状况。通常情况是,绝大多数为正样本,而只有极少数(几个或者十几个)负样本。在这种情况下,不论是用LR,SVM或者基于提升方法的随机森林,直接用该数据集进行学习的效果都不会太好,原因是这些方法的学习结果都会偏向于样本较多的一类。另一个方面,对学习结果进行评估时,假如正样本占95%,负样本仅占5%,这样甚至不需要学习,直接把所有新样本预测为正,准确率

    2022年6月22日
    87
  • ALSA的pulse插件_pulseaudio启动

    ALSA的pulse插件_pulseaudio启动此博文为记录我初次进行树莓派开发语音唤醒时遇到的问题以及解决方法,如果有更好的方法,欢迎讨论。问题一描述:我在进行snowboy的安装过程中,所有的程序能够正常运行,也能正常录音以及音频输出,但是树莓派重启后,我运行之前设置好的程序,程序依然能够运行,但不能进行正常的唤醒。我查了/.asoundrc没有问题,录音设备和音频输出设备也是正常的状态,在系统中也能列出。问题一解决:经过多次重装系统(因为我的树莓派不只是只有做语音唤醒,我一开始也不知道是哪里的问题)的排除,发现是树莓派重启之后pulseau

    2022年10月16日
    0
  • js判断字符串数组是否包含某个字符串_java数组排序函数

    js判断字符串数组是否包含某个字符串_java数组排序函数在C#语法中判断集合是否包含某个元素可以使用Contains方法,但是类似的问题在javascript中要怎么处理呢,js中没有Contains方法。我们可以利用js的原型扩展来封装一个我们自己的Contains方法。js代码:        $(function(){           Array.prototype.contains=functio

    2022年10月9日
    0
  • DAO层,Service层,Controller层、View层

    DAO层,Service层,Controller层、View层DAO 层 DAO 层主要是做数据持久层的工作 负责与数据库进行联络的一些任务都封装在此 DAO 层的设计首先是设计 DAO 的接口 然后在 Spring 的配置文件中定义此接口的实现类 然后就可在模块中调用此接口来进行数据业务的处理 而不用关心此接口的具体实现类是哪个类 显得结构非常清晰 DAO 层的数据源配置 以及有关数据库连接的参数都在 Spring 的配置文件中进行配置 nbsp nbsp nbsp nbsp Service 层 Service 层主要负责业务模块的逻辑应用设计 同样是首先设计接口 再设计其实现的类 接着再 Spring 的配置文件中配

    2025年6月9日
    0
  • SVM解释:五、SMO算法

    SVM解释:五、SMO算法SMO算法是JohnC.Platt在1998年提出的。论文的题目是”SequentialMinimalOptimization:AFastAlgorithmforTrainingSupportVectorMachines”。它很快便成为最快的二次规划优化算法,特别是在针对线性SVM和数据稀疏时性能更优。当然了,SMO优越性能的背后是其相当复杂的数学推导,所以,我也把这块最…

    2022年6月24日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号