评价模型:层次分析法

news2024/10/5 19:17:38

1. 模型建立

1.1 建立层次结构模型

  在深入分析实际问题的基础上,将有关的各个因素按照不同属性自上而下地分解成若干层次,同一层的诸因素从属于上一层的因素或对上层因素有影响,同时又支配下一层的因素或受到下层因素的作用。最上层为目标层,通常只有1个因素,最下层通常为方案或对象层,中间可以有一个或几个层次,通常为准则或指标层,当准则过多时(一般为9个时)应进一步分解出子准则层。
  利用层次分析法,对大学生毕业后的选择进行排序:
层次结构图

1.2 构造判断矩阵

  层次结构反映了因素之间的关系,但准则层中的各准则在目标衡量中所占的比重 并不一定相同。设 x i x_i xi y i y_i yi z z z的影响之比为 a i j a_{ij} aij,则 x i x_i xi y i y_i yi z z z的影响之比 a j i = 1 / a i j a_{ji}=1/a_{ij} aji=1/aij
若矩阵 A = ( a i j ) m × n A=\left(a_{i j}\right)_{m\times n} A=(aij)m×n满足
( 1 )   a i j > 0 , ( 2 )   a j i = 1 a i j (1)\ a_{i j}>0, \quad (2)\ a_{j i}=\frac{1}{a_{i j}} (1) aij>0,(2) aji=aij1
则称之为正互反矩阵
若矩阵A还满足
a i j a j k = a i k , ∀ i , j , k = 1 , 2 , ⋯   , n a_{i j} a_{j k}=a_{i k}, \forall i, j, k=1,2, \cdots, n aijajk=aik,i,j,k=1,2,,n
则称之为一致矩阵。
n阶正互反矩阵A为一致矩阵当且仅当其最大特征根 λ max ⁡ = n \lambda_{\max }=n λmax=n ,且当正互反矩阵A非一致时,必有 λ max ⁡ > n \lambda_{\max }>n λmax>n
关于如何确定 a i j a_{ij} aij的值,建议引用数字 1-9 及其倒数作为标度。下表列出了 1-9 标度的含义。
在这里插入图片描述
现构造准则层的判断矩阵如下:

表 2 准则层的判断矩阵
AB1B2B3B4B5
B1121/215
B21/211/41/22
B324123
B4121/214
B51/51/21/31/41

接着构造方案层的判断矩阵如下:

表 3 方案层的判断矩阵

在这里插入图片描述

1.3 判断矩阵的一致性检验

对判断矩阵的一致性检验的步骤如下:
(1)计算一致性指标CI。
C I = λ max ⁡ − n n − 1 C I=\frac{\lambda_{\max }-n}{n-1} CI=n1λmaxn
(2) 查找相应的平均随机一致性指标 RI,对于 n = 1 , 2 , ⋯   , 9 n=1,2, \cdots, 9 n=1,2,,9,对应的RI值如下
在这里插入图片描述
(3) 计算一致性比例CR。
C R = C I R I C R=\frac{C I}{R I} CR=RICI
当CR < 0.10 时,认为判断矩阵的一致性是可以接受的,否则应对判断矩阵作适当修正。

1.4 层次总排序及一致性检验

  首先确定准则层对于目标层的权向量 ω 0 \omega_{0} ω0,由于目标层的数量是一个,所以准则层对于目标层的权向量也是一个。先找到准则层的判断矩阵的最大特征值对应的特征向量,然后将此特征向量标准化,使其中的值分布在0和1之间,得到的结果就是准则层对于目标层的权向量;然后确定方案层对于准则层的权向量 ω 1 \omega_{1} ω1,由于准则层有5个指标,所以方案层对于准则层的权向量也是5个,使用同样的方法即可确定方案层对于准则层的5个权向量 ω 11 , ω 12 , ω 13 , ω 14 , ω 15 \omega_{11}, \omega_{12}, \omega_{13}, \omega_{14}, \omega_{15} ω11,ω12,ω13,ω14,ω15,即 ω 1 = [ ω 11 , ω 12 , ω 13 , ω 14 , ω 15 ] \omega_{1}=[\omega_{11}, \omega_{12}, \omega_{13}, \omega_{14}, \omega_{15}] ω1=[ω11,ω12,ω13,ω14,ω15];最后使用方案层对于准则层的权向量 与准则层对于目标层的权向量 加权平均,即可得到方案层4个方案的得分。
  对层次总排序也需作一致性检验,总排序随机一致性比例为
C R = ∑ j = 1 m C I ( j ) ω 0 ( j ) ∑ j = 1 m R I ( j ) ω 0 ( j ) , j = 1 , ⋯ m C R=\frac{\sum_{j=1}^{m} C I(j) \omega_{0}(j)}{\sum_{j=1}^{m} R I(j) \omega_{0}(j)}, j=1, \cdots m CR=j=1mRI(j)ω0(j)j=1mCI(j)ω0(j),j=1,m
  其中m为准则层的个数。

2. 模型求解

利用Matlab编程求解得到准则层对于目标层的权向量 ω 0 \omega_{0} ω0

0.2320,0.1094,0.3721,0.2189,0.0675

方案层对于准则层的权向量 ω 1 \omega_{1} ω1

w1 = 4×5

0.4379    0.2437    0.3890    0.4385    0.3452

0.2437    0.2190    0.3609    0.1096    0.1850

0.0994    0.4379    0.1323    0.2652    0.0997

0.2190    0.0994    0.1177    0.1866    0.3701

准则层各指标的一致性检验结果为
cr1 = 1×5

0.0076    0.0076    0.0727    0.0225    0.0038

均小于0.1,认为判断矩阵的一致性是可以接受的。
  层次总排序得分为0.3923,0.2513,0.1850,0.1850,总排序一致性检验结果为0.0349<0.1,认为层次总排序结果具有较满意的一致性并接受该分析结果。
  Matlab程序如下:

clc,clear 
fid=fopen('ahp.txt','r'); 
n1=5;n2=4; 
a=[]; 
for i=1:n1 
 tmp=str2num(fgetl(fid));
 a=[a;tmp]; %读准则层判断矩阵
end 
for i=1:n1 
 str1=char(['b',int2str(i),'=[];']);
 str2=char(['b',int2str(i),'=[b',int2str(i),';tmp];']);
 eval(str1);
 for j=1:n2 
 tmp=str2num(fgetl(fid));
 eval(str2); %读方案层的判断矩阵
 end
 end 
ri=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45]; %一致性指标
[x,y]=eig(a) %求特征值
lamda=max(diag(y))
num=find(diag(y)==lamda)
w0=x(:,num)/sum(x(:,num))
cr0=(lamda-n1)/(n1-1)/ri(n1); 
for i=1:n1 
 [x,y]=eig(eval(char(['b',int2str(i)]))); 
 lamda=max(diag(y)); 
 num=find(diag(y)==lamda); %最大特征值
 w1(:,i)=x(:,num)/sum(x(:,num))%准则层权值 
 cr1(i)=(lamda-n2)/(n2-1)/ri(n2); %准则层一致性比例
end 
cr1, ts=w1*w0, cr=cr1*w0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1012013.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day10常用API

1.API 1.1API概述 什么是API ​ API (Application Programming Interface) &#xff1a;应用程序编程接口 java中的API ​ 指的就是 JDK 中提供的各种功能的 Java类&#xff0c;这些类将底层的实现封装了起来&#xff0c;我们不需要关心这些类是如何实现的&#xff0c;只需要…

奶牛个体识别 奶牛身份识别

融合YOLOv5s与通道剪枝算法的奶牛轻量化个体识别方法 Light-weight recognition network for dairy cows based on the fusion of YOLOv5s and channel pruning algorithm 论文链接 知网链接 DOI链接 该文章讨论了奶牛花斑、光照条件、不同剪枝方法、不同剪枝率对准确率的影响…

【C语言】指针查漏补缺

【C语言】指针查漏补缺 预备知识一维整数数组字符数组字符常量数组字符串常量二维数组 预备知识 sizeof 是计算对象或者类型创建的对象所占内存空间的大小&#xff0c;单位是字节 sizeof 是操作符&#xff0c;不是函数 strlen 求字符串长度的&#xff0c;计算的是字符串中\0之…

向量的概念、向量组的概念

目录 向量的概念、向量组的概念 向量的基本运算 线性表出、线性相关、线性无关 向量的概念、向量组的概念 向量&#xff08;Vector&#xff09;是一个有次序的数所组成的数组&#xff0c;通常用来表示一个物理量或者一个对象在空间中的移动。向量可以表示位置、速度、力等物…

竞赛 基于机器视觉的手势检测和识别算法

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的手势检测与识别算法 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng…

蓝牙核心规范(V5.4)12.2-深入详解之加密广播数据(Encrypted Advertising Data)

蓝牙篇之蓝牙核心规范(V5.4)深入详解汇总 1.知识回顾 1.1 带响应的周期广播 在上一节已经讲了。 1.2 广播结构体 蓝牙核心规范定义了广播数据(AD)结构。它是一个用于包含在蓝牙LE广告和扫描响应数据包中以及在蓝牙BR/EDR扩展查询响应(EIR)数据包中的一般容器。包含在A…

nvm 一个nodejs版本管理工具

nvm 一个nodejs版本管理工具 NVM是什么 nvm全英文也叫node.js version management&#xff0c;是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具&#xff0c;为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js NVM下载 可在点此在…

长城靶场溯源第四题

先统计访问的ip 直到第一个包过滤到202.1.1.2 很明显的一句话木马&#xff0c;就是他了&#xff0c;202.1.1.2 卡描述&#xff1a;2.服务器1.99的web服务器使用的CMS及其版本号&#xff08;请直接复制&#xff09; 继续查看同一个数据包&#xff0c;发现个奇奇怪怪的phpinf…

python flask框架接受axios发送的图片文件

文章目录 前端部分axios配置请求部分代码页面代码 后端代码结果 前端部分 axios配置 主要是一些基础的配置&#xff0c;这里可看可不看&#xff0c;主要的不是这里 import axios from axios; let baseURL /demo// 创建axios实例 const service axios.create({// axios中请…

山洪灾害预警方案(山洪预警解决方案的组成)

​ 随着气候变化的不断加剧&#xff0c;山洪灾害在许多地区成为了极具威胁性的自然灾害之一。为了帮助地方政府和居民更好地预防和应对山洪灾害&#xff0c;我们设计了一套基于星创易联的SR600工业路由器和DTU200的山洪灾害预警方案&#xff0c;并成功在某地区进行了部署。 案…

【Linux从入门到精通】线程 | 线程介绍线程控制

本篇文章主要对线程的概念和线程的控制进行了讲解。其中我们再次对进程概念理解。同时对比了进程和线程的区别。希望本篇文章会对你有所帮助。 文章目录 一、线程概念 1、1 什么是线程 1、2 再次理解进程概念 1、3 轻量级进程 二、进程控制 2、1 创建线程 pthread_create 2、2…

代码随想录算法训练营第49天|121. 买卖股票的最佳时机,买卖股票的最佳时机II

链接: 121. 买卖股票的最佳时机 链接: 122.买卖股票的最佳时机II 121. 买卖股票的最佳时机 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出…

代码托管的力量:构建协作、追踪和持续交付的软件开发生态系统

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 引言 在现代软件开发中…

浅析-vue.js

学习目标 会创建Vue实例&#xff0c;知道Vue的常见属性会使用Vue的生命周期的钩子函数会使用vue常见指令会使用vue计算属性和watch监控会编写Vue组件掌握组件间通信了解vue-router使用了解webpack使用会使用vue-cli搭建项目 0.前言 前几天我们已经对后端的技术栈有了初步的了…

Spark_Spark内存模型管理

工作中经常用到Spark内存调参&#xff0c;之前还没对这块记录&#xff0c;这次记录一下。 环境参数 spark 内存模型中会涉及到多个配置&#xff0c;这些配置由一些环境参数及其配置值有关&#xff0c;为防止后面理解混乱&#xff0c;现在这里列举出来&#xff0c;如果忘记了&a…

冠达管理:庄家最怕的8个方法?

在股票商场上&#xff0c;庄家总是短时刻内操控价格&#xff0c;并在一定的时刻内进出股市&#xff0c;以赚取巨额赢利。 假如想在股票商场上盈余&#xff0c;那么就必须站在庄家的对立面&#xff0c;把握一些防护和反击的办法。这里就来介绍一些庄家最怕的办法。 一、技能剖析…

恒运资本:沪指震荡涨0.28%,医药板块强势拉升,金融等板块上扬

15日早盘&#xff0c;沪指盘中震荡上扬&#xff0c;科创50指数表现强势&#xff1b;北向资金小幅净流入。 到午间收盘&#xff0c;沪指涨0.28%报3135.31点&#xff0c;深成指、创业板指涨均0.11%&#xff0c;科创50指数涨1.04%&#xff1b;两市合计成交4357亿元&#xff0c;北…

Java基础语法之数组

&#x1f495;十年生死两茫茫&#xff0c;不思量&#xff0c;自难忘&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;Java学习之--数组 一.数组的基本概念 1.定义 数组是相同数据类型的集合&#xff01;使用数组来存放多个相同类型的数据&#xff01; 2.Jav…

亚马逊云科技打造SAP核心业务系统上云最佳实践,加快业务转型和价值实现

数字化转型步入深水区&#xff0c;企业竞争日益激烈&#xff0c;乘云而上、快速进行现代化转型和创新&#xff0c;才能不断紧跟趋势变化&#xff0c;实现「高质量发展」。作为亚马逊云科技全球战略合作伙伴&#xff0c;SAP和亚马逊云科技的联合创新已超过15年&#xff0c;双方共…

持续深耕金融科技领域,神策数据正式加入证券基金行业信创联盟

近日&#xff0c;神策数据正式加入证券基金行业信息技术应用创新联盟&#xff08;简称“信创联盟”&#xff09;&#xff0c;携手更多行业力量&#xff0c;促进证券基金行业信创关键技术研究、应用和服务。 证券基金信创联盟由上交所联合行业券商倡议发起成立&#xff0c;由证监…