层次分析法(AnalytioHieacrrhyProcess,AHP),是一种定性与定量相结合的多目标决策方法,在许多工程领域都有应用。利用层次分析法进行风险识别的基本思路是:把复杂的风险问题分解为各个组成因素,将这些因素按支配关系分组形成有序的递阶层次结构,通过两两比较判断的方式确定每一层次中各因素相对于上一层或最高层总目标的相对重要性,并加以排序,从而判断出系统主要风险模式和风险因素。AHP体现了人们的决策思维的基本特征,即分解、判断、综合。

对于AHP的进一步定义、优缺点就不多说了,网上有很多的介绍。今天主要探讨一下如何用Excel来进行层次分析法的核心步骤——判断矩阵特征值与特征向量的计算。

首先,来看一下计算方法。这种计算方法来自同济大学巩春领博士的学位论文《大跨度斜拉桥施工风险分析与对策研究》。

数据分析你最喜欢的软件是哪个?可以说我最喜欢的是是Excel么~好多事情都可以用这个随处可以找到的方便快捷的工具完成,还可以与更多的人分享源文件,简直是人生一大快事。

AHP有很多计算工具,比如matlab(这个我也做了,稍后完善一下也分享出来),还有其他各种小软件。不喜欢黑箱软件,不能调整算法,还是先研究一下excel的实现吧。上面的系列公式,正好适合用excel做。

第一步,输入判断矩阵,拉出列和

继续地,根据上面的公式,先后按次序作出归一化后的矩阵、求行和、求归一化后的权重、计算矩阵乘积、矩阵对应元素与权重向量元素求商,最后得到最大特征值——话说这也是普通矩阵得到最大特征值的一种方式。

这里要介绍一个Excel命令:MMULT:求矩阵相乘

矩阵相乘,矩阵A乘以矩阵B=矩阵C,需要用命令指定两个矩阵,和一个结果矩阵的位置。

MMULT(array1,array2)函数介绍:

返回两个数组的矩阵乘积。结果矩阵的行数与数组array1 的行数相同,矩阵的列数与数组array2 的列数相同。

语法

MMULT(array1,array2)

Array1, array2 是要进行矩阵乘法运算的两个数组。

说明

Array1 的列数必须与 array2 的行数相同,而且两个数组中都只能包含数值。

Array1 和 array2 可以是单元格区域、数组常量或引用。

在以下情况下,MMULT 返回错误值 #VALUE!:

任意单元格为空或包含文字。

array1 的列数与 array2 的行数不相等。

为什么说还要指定结果矩阵的位置呢?

很多人在使用这个命令的时候,有个误区,在一个单元格内,输入=MMULT(array1,array2),回车,发现两个矩阵相乘,怎么只有一个数字呢?没错,因为你只是指定了一个单元格,自然就会返回结果矩阵的第一个元素了。

正确的做法是:

选择一个符合结果矩阵维数的单元格区域,比如A是3X3,B是3X1,那么就选中一个3X1的范围;

输入MMULT公式

Shift+Ctrl+Enter 这点非常重要!

更多相关阅读

用matlab计算矩阵的权重,用Excel计算层次分析法的矩阵权重分析相关推荐

  1. 层次分析法——确定指标权重、解决评价类问题

    "评价类问题可以用打分解决." 譬如我们想对A.B.C三个景点进行评分,若题目没给数据可查阅文献(显得专业)得到关于景点评分的几个指标,显然,不同指标对景点的评价高低影响程度不同, ...

  2. 产品需求分析与市场分析方法汇总(SWOT+PDCA+波士顿矩阵BCG+5W2H分析法+STAR关键事件分析法+目标管理SMART+时间管理紧急重要矩阵+WBS任务分解法)

    产品需求分析与市场分析方法汇总(SWOT+PDCA+波士顿矩阵BCG+5W2H分析法+STAR关键事件分析法+目标管理SMART+时间管理紧急重要矩阵+WBS任务分解法) 产品需求分析与市场分析方法汇 ...

  3. matlab层次分析法迅速求权重

    层次分析法是一种用处非常广的决策算法 虽然内容等于拍脑袋,不过有时候我们就是需要为拍脑袋找到合适的说法. 虽然它往往用于解决多目标选择的问题,但我们也可对其因素进行分析,来得到一个因素权重. 当然对于 ...

  4. MATLAB实现层次分析法AHP及案例分析

    层次分析法(Analytic Hierarchy Process, AHP) 1 模型背景 美国运筹学家匹兹堡大学教授Saaty在20世纪70年代初提出的一种层次权重决策分析方法. 层次分析法(Ana ...

  5. 评价方法-层次分析法确定指标权重

    Pros: 依据专家经验判断,相对偏主观,方便业务基于不同阶段的需求进行调整 code: class AHP:def __init__(self, arr):self.RI = (0, 0, 0.58 ...

  6. 怎么用计算机计算年月份,如何使用Excel计算两个日期之间的月数?

    一.这可以通过DATEDIF函数完成. 二. DATEDIF函数的定义 DATEDIF函数是Excel中的隐藏函数,而不是帮助和插入公式中的隐藏函数.返回两个日期之间的年\月\日间隔的数量. DATE ...

  7. java计算筛子概率_使用excel计算骰子输赢概率

    如何得到使用3个骰子掷赢4个骰子的概率(每个骰子的点数为1-6,点数一样算输) 分为3步解决: 第一步.计算n个骰子得到m点数的分布 1个骰子能得到1.2.3.4.5.6点数,每个点数出现的方式只有1 ...

  8. 怎么用计算机计算e的n次方,Excel 计算e的n次幂:EXP函数

    EXP函数的功能是计算e的n次幂.EXP函数的语法如下: EXP(number) 其中,number参数为应用于底数e的指数.常数e等于2.71828182845904,是自然对数的底数.下面通过实例 ...

  9. 层次分析法代码—一致性检验权重计算

    以下内容是听课笔记 课程内容来自B站up主:数学建模学习交流

  10. 时域分析瞬时自相关算法、频域分析复倒频分析法、调制域分析过零检测算法以及时频分析小波换算法matlab仿真

    目录 一.理论基础 1.1时域分析法 1.2 频域分析法 1.3 调制域分析法 1.4 时频分析法

最新文章

  1. 在拦截器中获取请求参数,[Ljava.lang.String; cannot be cast to java.lang.String报错
  2. Linux实现免密码登录
  3. java字符串数字统计_对字符串进行简单的字符数字统计 探索java中的List功能
  4. 考研数学一之高数上册学习计划
  5. paip.python错误解决8
  6. 电信版本-中兴B860AV1.1-T-S905M-B NAND闪存 线刷救砖固件
  7. 三种1:4传输线变压器巴伦的分析
  8. 【layoutit!】基于 bootstrap 实现可视化布局工具
  9. 用户增长——AARRR模型
  10. 网上图书订阅系统的WBS图,和WBS字典
  11. C++ | 通讯录管理系统
  12. 香槟分校计算机研究生专业,伊利诺伊大学香槟分校计算机专业排名好不好?
  13. 推荐电影 迪士尼经典动画片大全 1937-2008
  14. Ubuntu配置GPU版本pytorch环境(含NVIDIA驱动+Cuda+Cudnn)
  15. ps制作图标时的尺寸
  16. 高中信息技术合格考试Python编程知识点全整理【连载....】
  17. SQLite 免费查看工具
  18. 现代软件工程讨论第一章-第四章
  19. 淘宝卖家店铺订单API接口同步方案
  20. 华为matebook13进入Bios,重装系统,切换启动顺序,选择U盘启动

热门文章

  1. 2018.2 IDEAIU版激活说明
  2. ideaIU-2018.3.5版本安装
  3. SQL Express
  4. php开发bt种子,[原创作品][PHP]BT种子打包推送小神器~~
  5. 基于MATLAB的柱状图画法及特殊柱状图画法总结
  6. React脚手架开发
  7. winform打开PDF,显示在窗口
  8. 计算机视觉教程1-1:透视空间与透视变换
  9. 灰度思维,黑白决策(上)
  10. Visio2019异步消息箭头线使用问题