数学建模:层次分析法

🔆 文章首发于我的个人博客:欢迎大佬们来逛逛

层次分析法

步骤描述

  1. 将问题条理化,层次化,构建出一个有层次的结构模型。层次分为三类:目标层,准则(指标)层,方案层
  2. 比较指标层中不同指标之间的相对重要程度,并且构建一个成对比较矩阵
    1. 自行判断两个不同指标的相对重要程度。
    2. 如果指标1重要程度大于指标2,并且赋予一个重要程度为3,因此得到其指标1的值为3,
    3. 同理指标2的重要程度小于指标1(不能存在矛盾),因此相对的指标2的值为 1 3 \frac{1}{3} 31
    4. 因此任意两个指标重要度之间存在的关系为: a i j > 0 , a i j = 1 a j i , i , j ∈ ( 1 , 2 , 3 , . . . n ) a_{ij}>0,a_{ij} = \frac{1}{a_{ji}},i,j\in(1,2,3,...n) aij>0aij=aji1i,j(1,2,3,...n)
    5. 接着构建出所有两个指标的这种关系,就可以得到一个关于所有指标两两之间的成对比较矩阵 A n n A_{nn} Ann,其中 n n n 为指标的数量。
  3. 在单一准则下计算指标相对排序的权重,以及进行判断矩阵(成对比较矩阵)的一致性检验
  4. 计算方案层中对于目标层的总排序权重,从而得到评价后的结果。

算法流程

  1. 通过分层与条理化后,我们得到了两两指标之间的成对比较矩阵(判断矩阵):

∣ 1 3 1 1 / 3 1 / 3 1 1 / 2 1 / 5 1 2 1 1 / 3 3 5 5 1 ∣ \left|\begin{array}{cccc}1 & 3 & 1 & 1 / 3 \\1 / 3 & 1 & 1 / 2 & 1 / 5 \\1 & 2 & 1 & 1 / 3 \\3 & 5 & 5 & 1\end{array}\right| 11/313312511/2151/31/51/31

  1. 首先得到判断矩阵的最大特征值对应的特征向量T:

T = [ t 1 t 2 ⋯ t n ] T=\begin{bmatrix}t_1&t_2&\cdots&t_n\end{bmatrix} T=[t1t2tn]

  1. 得到权重向量W:

W = [ w 1 w 2 ⋯ w n ] w i = t i ∑ i = 1 n t i \begin{gathered}W=\begin{bmatrix}w_1&w_2&\cdots&w_n\end{bmatrix}\\\\w_i=\frac{t_i}{\sum_{i=1}^nt_i}\end{gathered} W=[w1w2wn]wi=i=1ntiti

  1. 计算一致性指标 C I CI CI

C I = λ max ⁡ − n n − 1 C I=\frac{\lambda_{\max }-n}{n-1} CI=n1λmaxn

  1. 查找相应的随机平均一致性指标 R I RI RI:如果 n = 5 n = 5 n=5 则表示有五个指标,则 R I = R I ( 1 , 5 ) = 1.12 RI = RI(1,5) = 1.12 RI=RI(1,5)=1.12

请添加图片描述

  1. 计算**一致性比例CR:**当 C R < 0.10 CR<0.10 CR<0.10 时,一致性接受,否则改矩阵应该适当修改参数。

C R = C I R I CR = \frac{CI}{RI} CR=RICI

  1. 计算评价对象的得分:其中 P P P 为归一化后的原始数据, W W W为权重向量

S c o r e = P ⋅ W Score = P \cdot W Score=PW


完整代码

function [Score,W] = mfunc_levelAnalysis(A,data)% 层次分析法:求解每个评价对象的综合得分与对应权重% paramts: %      A: 两两指标之间的自定义的成对对角矩阵 Shape: (n,n)%      data: 原始数据矩阵,(m,n) m为评价对象,n为评价指标% returns:%      Score:每个评价对象的综合得分%      W: 所有指标的权重% 成对对角矩阵:A判别矩阵% A=[1,3,1,1/3;%     1/3,1,1/2,1/5;%     1,2,1,1/3;%     3,5,3,1];[n,~]=size(data);%Z=zscore(X);Z = data ./ repmat(sum(data.*data) .^ 0.5, n, 1); %矩阵归一化[n,~]=size(A);%求特征值特征向量,找到最大特征值对应的特征向量[V,D]=eig(A);tzz=max(max(D));     %找到最大的特征值c1=find(D(1,:)==tzz);%找到最大的特征值位置T=V(:,c1);%最大特征值对应的特征向量%赋权重W=zeros(n,1);for i=1:nW(i,1)=T(i,1)/sum(T);end%一致性检验CI=(tzz-n)/(n-1);RI=[0,0,0.58,0.9,1.12,1.24,1.32,1.41,1.45,1.49,1.52,1.54,1.56,1.58,1.59];%判断是否通过一致性检验CR=CI/RI(1,n);if CR>=0.1fprintf('没有通过一致性检验\n');elsefprintf('通过一致性检验\n');endscore=Z*W;Score=100*score/max(score);
end

有关成对比较矩阵两两指标之间的的相关重要性的程度参考:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Fooocus:一个简单且功能强大的Stable Diffusion webUI

Stable Diffusion是一个强大的图像生成AI模型&#xff0c;但它通常需要大量调整和提示工程。Fooocus的目标是改变这种状况。 Fooocus的创始人Lvmin Zhang&#xff08;也是 ControlNet论文的作者&#xff09;将这个项目描述为对“Stable Diffusion”和“ Midjourney”设计的重新…

SAP_ABAP_BDC录屏案例

SAP ABAP顾问能力模型梳理_企业数字化建设者的博客-CSDN博客SAP Abap顾问能力模型https://blog.csdn.net/java_zhong1990/article/details/132469977 一、实施步骤 1.1 SHDB --> 新建记录-->输入录制的tcode :BP,-->执行录屏操作-->录制结果封装成函数 1.2 SHDB …

机器学习的测试和验证(Machine Learning 研习之五)

关于 Machine Learning 研习之三、四&#xff0c;可到秋码记录上浏览。 测试和验证 了解模型对新案例的推广效果的唯一方法是在新案例上进行实际尝试。 一种方法是将模型投入生产并监控其性能。 这很有效&#xff0c;但如果你的模型非常糟糕&#xff0c;你的用户会抱怨——这…

PMP®证书增持 CSPM-2证书,含金量高,快来办理

2023年6月起&#xff0c;持有PMP证书的朋友可以直接增持一个同等级证书CSPM-2&#xff0c;不用重新考试&#xff0c;不用重新学习&#xff0c;原PMP证书不影响正常使用&#xff0c;相当于多了一个国标项目管理证书。 第一步准备资料 1、填写能力评价表 2、提供2张2寸蓝底彩照&…

胡歌深夜发文:我对不起好多人

胡歌的微博又上了热搜。 8月29日01:18分&#xff0c;胡歌微博发文称&#xff1a;“我尽量保持冷静&#xff0c;我对不起好多人&#xff0c;我希望对得起这短暂的一生”&#xff0c;并配了一张自己胡子拉碴的图&#xff0c;右眼的伤疤清晰可见。 不少网友留言称“哥你又喝多了吗…

共享数据-vue3

vuex方案 安装vuex4.x 两个重要变动&#xff1a; 去掉了构造函数Vuex&#xff0c;而使用createStore创建仓库 为了配合composition api&#xff0c;新增useStore函数获得仓库对象&#xff1b;获取路由对象使用useRouter global state 由于vue3的响应式系统本身可以脱离…

Python学习 -- 异常捕获技巧

在编写Python代码时&#xff0c;异常处理是确保程序稳定性的关键。Python提供了灵活的异常捕获机制&#xff0c;包括try...except语句、try...except...else语句和try...except...finally语句。本文将详细介绍这些异常处理技巧&#xff0c;并为每种情况提供代码案例。 一、try…

支付宝小程序商城源码开源运营版+模块化DIY+多套模板 一键创建小程序

分享一款支付宝小程序商城源码&#xff0c;源码开源可二开&#xff0c;已测试完美运营版&#xff0c;帮你一键搭建支付宝商城小程序&#xff0c;含多套模板、自由DIY功能和完整的搭建部署教程。程序支持除支付宝小程序商城制作外&#xff0c;还支持一键同步微信、抖音、百度、今…

uni-app开发小程序,radio单选按钮,点击可以选中,再次点击可以取消

一、实现效果&#xff1a; 二、代码实现&#xff1a; 不适用官方的change方法&#xff0c;自己定义点击方法。 动态判断定义的值是否等于遍历的值进行回显&#xff0c;如果和上一次点击的值一样&#xff0c;就把定义的值改为null <template><view><radio-group&…

springboot第37集:kafka,mqtt,Netty,nginx,CentOS,Webpack

image.png binzookeeper-server-start.shconfigzookeeper.properties.png image.png image.png 消费 image.png image.png image.png image.png image.png image.png image.png image.png image.png Netty的优点有很多&#xff1a; API使用简单&#xff0c;学习成本低。功能强大…

IoT DC3 是一个基于 Spring Cloud 的开源的、分布式的物联网(IoT)平台本地部署步骤

dc3 windows 本地搭建步骤&#xff1a; ​​ 必要软件环境 进入原网页# 务必保证至少需要给 docker 分配&#xff1a;1 核 CPU 以及 4G 以上的运行内存&#xff01; JDK : 推荐使用 Oracle JDK 1.8 或者 OpenJDK8&#xff0c;理论来说其他版本也行&#xff1b; Maven : 推荐…

opencv 案例05-基于二值图像分析(简单缺陷检测)

缺陷检测&#xff0c;分为两个部分&#xff0c;一个部分是提取指定的轮廓&#xff0c;第二个部分通过对比实现划痕检测与缺角检测。本次主要搞定第一部分&#xff0c;学会观察图像与提取图像ROI对象轮廓外接矩形与轮廓。 下面是基于二值图像分析的大致流程 读取图像将图像转换…

Ctenos7安装mysql-8.1.0/tomcat-9.0.80/LNMT部署

目录 一、实验拓扑 二、部署mysql 三、部署Tomcat 四、配置NGINX 五、 配置NGINX的双机热备提高可用性 一、实验拓扑 二、部署mysql 官网下载地址https://dev.mysql.com/downloads/mysql/ 1、移除mariadb&#xff0c;安装所需应用 mysql-8.1.0 社区版 安装说明官网下载地址…

【算法系列篇】位运算

文章目录 前言什么是位运算算法1.判断字符是否唯一1.1 题目要求1.2 做题思路1.3 Java代码实现 2. 丢失的数字2.1 题目要求2.2 做题思路2.3 Java代码实现 3. 两数之和3.1 题目要求3.2 做题思路3.3 Java代码实现 4. 只出现一次的数字4.1 题目要求4.2 做题思路4.3 Java代码实现 5.…

[ 云计算 | AWS ] Java 应用中使用 Amazon S3 进行存储桶和对象操作完全指南

文章目录 一、前言二、所需 Maven 依赖三、先决必要的几个条件信息四、创建客户端连接五、Amazon S3 存储桶操作5.1. 创建桶5.2. 列出桶 六、Amazon S3 对象操作6.1. 上传对象6.2. 列出对象6.3. 下载对象6.4. 复制、重命名和移动对象6.5. 删除对象6.6. 删除多个对象 七、文末总…

学习pytorch6 torchvision中的数据集使用

torchvision中的数据集使用 1. torchvision中的数据集使用官网文档注意点1 totensor实例化不要忘记加括号注意点2 download可以一直保持为True代码执行结果 2. DataLoader的使用 1. torchvision中的数据集使用 官网文档 注意左上角的版本 https://pytorch.org/vision/0.9/ 注…

深度学习10:Attention 机制

目录 Attention 的本质是什么 Attention 的3大优点 Attention 的原理 Attention 的 N 种类型 Attention 的本质是什么 Attention&#xff08;注意力&#xff09;机制如果浅层的理解&#xff0c;跟他的名字非常匹配。他的核心逻辑就是「从关注全部到关注重点」。 Attention…

冠达管理:火爆!拼多多飙涨15%,中概股沸腾!这些外资巨头唱多中国资产

当地时间8月29日&#xff0c;美国三大股指团体收涨&#xff0c;道指涨0.85%&#xff0c;标普500指数涨1.45%&#xff0c;纳指涨1.74%。科技股大涨&#xff0c;特斯拉涨7.69%&#xff0c;英伟达涨4.16%。纳斯达克我国金龙指数收涨3.7%&#xff0c;拼多多涨超15%。 广东研山私募…

解析经典面试题:for 循环中的 let var

更多文章可以看看我的博客&#xff1a;https://icheng.github.io/ 题目 for循环中&#xff0c;使用 var 或 let 声明 i 变量&#xff0c;会得到不同的结果 var arr []; for (var i 0; i < 2; i) {arr[i] function () {console.log(i);} } arr[0](); arr[1]();输出&…

6.Redis-hash

hash 哈希类型中的映射关系通常称为field-value&#xff0c;⽤于区分 Redis 整体的键值对&#xff08;key-value&#xff09;&#xff0c;注意这⾥的value是指field对应的值&#xff0c;不是键&#xff08;key&#xff09;对应的值&#xff0c;请注意 value 在不同上下⽂的作⽤…