用Excel计算层次分析法的矩阵权重分析

时间:2022-04-13 12:42:25 

层次分析法(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 这点非常重要!

标签:数组,特征值,相乘,矩阵,Excel教程
0
投稿

猜你喜欢

  • excel表格如何制作汇总表

    2022-05-16 20:04:31
  • word如何设置垂直居中

    2023-05-04 05:37:44
  • 如何在word里,添加可以让用户打勾的方框

    2023-08-03 03:07:39
  • 如何让Win7不再弹出升级Win10的提醒窗口?

    2023-10-01 20:47:19
  • Excel超链接显示“无法打开指定的文件”怎么办

    2022-08-15 05:46:07
  • win10任务栏变成白色怎么办?win10任务栏变成白色怎么恢复?

    2023-08-26 22:11:35
  • iOS 16新增的开发者模式有什么用?如何开启开发者模式?

    2023-08-02 01:14:14
  • 如何在Word中调整超过页面宽度表格

    2023-11-24 10:13:57
  • Win10鼠标右键没有压缩文件选项怎么解决?

    2023-11-24 00:46:00
  • iOS 14.6耗电快可以降级吗?iOS 14.5.1 已关闭验证

    2023-09-12 02:08:01
  • win10分屏操作怎么用?win10分屏操作使用小技巧?

    2023-09-13 21:03:28
  • Win10如何关闭杜比音效?Win10关闭杜比音效的方法

    2023-06-05 17:06:58
  • excel表格怎么快速计算各快递件的邮费?

    2023-07-27 20:31:43
  • Excel单元格中怎么添加和删除批注

    2023-06-13 15:40:35
  • 打印前预览工作表页面

    2023-04-09 17:32:25
  • Win10鼠标滚轮如何设置?

    2023-12-01 08:22:31
  • 利用xls对数据进行批量添加字符的方法

    2022-03-31 09:07:45
  • wps论文目录省略号怎么打

    2023-10-09 07:28:38
  • Word多篇排版通用技巧

    2023-12-05 03:53:58
  • VBA怎么编写激活单元格的代码?

    2023-06-11 14:26:51
  • asp之家 电脑教程 m.aspxhome.com