当前位置: 首页 > news >正文

数学建模评价类模型—层次分析法(无数据情况下)

目录

前言

一、评价类问题概述

二、AHP建模流程

1、过程描述

2、层次分析法—Matlab代码

三、权重计算

1、算术平均法

2、几何平均法

3、特征值法


目录

文章目录

前言

一、评价类问题概述

二、AHP建模流程

1、过程描述

2、层次分析法—Matlab代码

三、权重计算

算术平均法



前言

本文将讲解解决评价类问题的第一种模型层次分析法(AHP法),首先我们会具体讲解评价类问题解答的具体流程再对AHP方法进行讲解


一、评价类问题概述

评价指标本身的数学量化,评价指标之间的数学综合

基本流程明确主体—>指标明确—>权重计算—>方案评价

明确主体:明确哪里可以用到评价,比如:2012对《葡萄酒的评价》这里葡萄球的等级就是可以用到评价的地方

指标确定:可以通过一个思维导图的方式来画出这个指标系统。先确定方向(通过查找文献和头脑风暴),然后再向下细化

权重计算:使用主观权重法和客观权重法,每个指标都要进行归一化

方案评价:得到权重后,再对结果进行进一步分析

二、AHP建模流程

1、过程描述

1、建立层次结构模型:

目标层(决策的目标,如:选出微博之星)

准测层C={C1,C2,···,Cn}(考虑的因素,实质上就是评价指标

方案层P={P1,P2,···Pm}(决策对象,如:微博之星又A,B,C三个人可选择)

2、构造判断矩阵

对于准则层中的每个元素Ci(i=1,2,···,n),构造一个关于方案层P中各个元素两两比较的判断矩阵Ai(mxm),其中元素aij表示因素Pj相对于因素Pi的重要性程度。通常使用1-9的比例标度来表示这种重要性程度。易得aij*aji=1,所以在写判断矩阵时可以只写一边矩阵再对应填另一边

注意:这个地方常常会出现嵌套分层,也就是说可能每个Ci可能会单独对应某些Pi,这个时候要再构造一次判断矩阵,本质上就是先聚类(将单个指标因素按照关联度和相似度分为互不影响的几大类)再使用层次分析法

例如:下面我们将问题分成了三层,其中,我们将指标首先分为互不影响的三大类:通行能力,安全性,便捷度,首先对这三类构造判断矩阵,进行一致性检验,算出这三大类的权重;然后又讨论影响这三大类的因素,在每一大类中,对其中的影响因素再构造相应的判断矩阵,并且检验其一致性,再算出每个因素的权重,最后再计算出每个具体因素的总权重,进行评价分析。 

7756049e84c9445497adb85c7c5133be.png

efaa1fa5282d46e7916c3467562224ab.png

c7717e2fc8b04cea8ae4cc1cf1a0e241.png

3层次单排序及一致性检验

  • 对于每个判断矩阵Ai,计算其最大特征根λmax和对应的特征向量Wi对特征向量Wi进行归一化处理(其实就是特征向量/n
  • 得到准则层Ci下各因素的权重向量wi = (wi1, wi2, ..., wim)。
  • 计算一致性指标CI 和随机一致性指标RI(可在网上查到),进而计算一致性比例CR = CI / RI。
  • 551a5c0d2c0247d1b8c3e99688fecaf1.png
  • 如果CR < 0.1,(这里只有CI越小CR才能越小,故当λmax—>n时,我们认为矩阵Ai越接近一致矩阵) 则认为判断矩阵Ai具有满意的一致性
224b85bcee00430e93fd1b157fc0649f.png,CI通过上述公式求出,同时Xmax即为最大特征根,n为评价指标个数
整个过程可概括为下面的流程图
7c33b155db914c0f885a8bedd3d9e22f.png

2、层次分析法—Matlab代码

%层次分析法-一致性检验
A = input('判断矩阵A=');%输入判断矩阵
[n,n]=size(A); %获取A的行和列%求出最大特征值以及对应的特征向量
[V,D]=eig(A); %V是特征向量 D是特征值构成的对角矩阵
Max_eig = max(max(D)); %先求出每一行的最大值,再求出最大值中的最大值,即为最大特征值CI = (Max_eig - n)/(n-1);%求出一致性检验指标%网上查表可得
RI=[0,0.0001,0.52,0.89,1.12,1.26,1.36,1.41,1.46,1.49,1.52,1.54,1.56,1.58,1.59];%注意RI最多支持n=15
CR=CI/RI(n);
disp('一致性指标CI=');disp(CI);
disp('一致性比例CR=');disp(CR);if CR<0.1disp('因为CR<0.01,所以该判断矩阵A的一致性可以接受!');
elsedisp('注意:CR>=0.10,因此该判断举证A要进行修改!');
end

三、权重计算

1、算术平均法

%1.算术平均法计算权重
%输入样例,将前面的判断矩阵输入即可,此处省略
Asum=sum(A,1);%将A的每列求和赋值到Asum中
Ar = repmat(Asum,n,1);%复制Asum n行1列为Ar矩阵,使得Ar又变回了n行n列的矩阵
stand_A=A./Ar;%归一化处理,./表示对应的元素相除
ASumr = sum(stand_A,2);%再对归一化处理后的矩阵的每列加到同一行
disp(ASumr/n);%相加后的每个元素/n得到权重向量(nx1)

2、几何平均法

A = input('判断矩阵A='); %输入判断矩阵
[n,n] = size(A); %获取A的行和列
prod_A = prod(A,2); %将A中每一行元素相乘得到
一列向量
prod_n_A = prod_A.^(1/n); %将新的向量的每个分量开n
次方等价求1/n次方
re_prod_A = prod_n_A./sum(prod_n_A);%归一化处理
disp(re_prod_A); %展示权重结果

3、特征值法

A = input('判断矩阵A='); %输入判断矩阵
[n,n] = size(A); %获取A的行和列
%求出最大特征值以及对应的特征向量
[V,D] = eig(A); %V是特征向量 D是特征值构
成的对角矩阵
Max_eig = max(max(D)); %先求出每一列的最大值,
再求最大值中的最大值
[r,c] = find(Max_eig == D,1);%使用find()函数找出最大
特征值对应的特征向量的位置(索引)
%对特征向量进行归一化得到所需权重
disp(V(:,c)./sum(V(:,c)));

相关文章:

数学建模评价类模型—层次分析法(无数据情况下)

目录 前言 一、评价类问题概述 二、AHP建模流程 1、过程描述 2、层次分析法—Matlab代码 三、权重计算 1、算术平均法 2、几何平均法 3、特征值法 目录 文章目录 前言 一、评价类问题概述 二、AHP建模流程 1、过程描述 2、层次分析法—Matlab代码 三、权重计算 算术平均法 前言…...

模拟实现strcat(字符串追加)

1.我们要知道stcat的作用是什么&#xff0c;字符串追加。 2.我们进行模仿&#xff0c;我们先将arr1不断&#xff0c;直到“\0”,我们加在后面。 //模拟实现strcat(字符串追加) char* my_strcat(char* arr1, const char* arr2) {assert(arr1 && arr2);char ret arr1;…...

HTTP简单概述

一. HTTP HTTP&#xff08;HyperText Transfer Protocol&#xff09;是用于在客户端和服务器之间传输超文本数据&#xff08;如HTML&#xff09;的应用层协议。它是万维网的基础协议&#xff0c;定义了浏览器和服务器之间如何请求和传输文档。HTTP有多个版本&#xff0c;每个版…...

掌握PyCharm代码片段管理器:提升编码效率的秘诀

掌握PyCharm代码片段管理器&#xff1a;提升编码效率的秘诀 PyCharm作为业界领先的集成开发环境&#xff08;IDE&#xff09;&#xff0c;提供了许多便利的功能来提升开发者的编码效率&#xff0c;其中之一就是代码片段管理器。代码片段管理器允许开发者保存、管理和重用代码模…...

MyBatis动态代理和映射器

目录 1、映射器简介 &#xff08;1&#xff09;什么是mapper动态代理&#xff1f; &#xff08;2&#xff09;动态代理的规范 &#xff08;3&#xff09;如何使用动态代理 &#xff08;4&#xff09;为什么学映射器 &#xff08;5&#xff09;映射器与接口 &#xff08;…...

ShardingSphere中的ShardingJDBC常见分片算法的实现

文章目录 ShardingJDBC快速入门修改雪花算法和分表策略核心概念分片算法简单INLINE分片算法STANDARD标准分片算法COMPLEX_INLINE复杂分片算法CLASS_BASED自定义分片算法HINT_INLINE强制分片算法 注意事项 ShardingJDBC Git地址 快速入门 现在我存在两个数据库&#xff0c;并…...

SpringBoot整合Flink CDC实时同步postgresql变更数据,基于WAL日志

SpringBoot整合Flink CDC实时同步postgresql变更数据&#xff0c;基于WAL日志 一、前言二、技术介绍&#xff08;Flink CDC&#xff09;1、Flink CDC2、Postgres CDC 三、准备工作四、代码示例五、总结 一、前言 在工作中经常会遇到要实时获取数据库&#xff08;postgresql、m…...

ThinkPHP事件的使用

技术说明 1.ThinkPHP版本&#xff1a;支持6.0、8.0 2.使用场景&#xff1a;用户登陆后日志记录、通知消息发送等主流程、次流程分离等场景 3.说明&#xff1a;网上很多帖子说的不明不白的&#xff0c;建议大家自己手动尝试总结一下 4.事件手动绑定的时候&#xff0c;一定要…...

【Nuxt】服务端渲染 SSR

SSR 概述 服务器端渲染全称是&#xff1a;Server Side Render&#xff0c;在服务器端渲染页面&#xff0c;并将渲染好HTML返回给浏览器呈现。 SSR应用的页面是在服务端渲染的&#xff0c;用户每请求一个SSR页面都会先在服务端进行渲染&#xff0c;然后将渲染好的页面&#xf…...

Spring Boot整合WebSocket

说明&#xff1a;本文介绍如何在Spirng Boot中整合WebSocket&#xff0c;WebSocket介绍&#xff0c;参考下面这篇文章&#xff1a; WebSocket 原始方式 原始方式&#xff0c;指的是使用Spring Boot自己整合的方式&#xff0c;导入的是下面这个依赖 <dependency><g…...

《LeetCode热题100》---<5.③普通数组篇五道>

本篇博客讲解LeetCode热题100道普通数组篇中的五道题 第五道&#xff1a;缺失的第一个正数&#xff08;困难&#xff09; 第五道&#xff1a;缺失的第一个正数&#xff08;困难&#xff09; 方法一&#xff1a;将数组视为哈希表 class Solution {public int firstMissingPosi…...

Cocos Creator文档学习记录

Cocos Creator文档学习记录 一、什么是Cocos Creator 官方文档链接&#xff1a;Hello World | Cocos Creator 百度百科&#xff1a;Cocos Creator_百度百科 Cocos Creator包括开发和调试、商业化 SDK 的集成、多平台发布、测试、上线这一整套工作流程&#xff0c;可多次的迭…...

插入数据优化 ---大批量数据插入建议使用load

一.insert优化 1.批量插入 2.手动提交事务 3.主键顺序插入 二.大批量插入数据 如果一次性需要插入大批量数据,使用insert语句插入性能较低,此时可以使用MySQL数据库提供的load指令进行插入。操作如下 1.客户端连接服务端时,加入参数 --local-infine mysql --local-infine…...

【Linux】一篇总结!什么是重定向?输出重定向的作用是什么?什么又是追加重定向?

欢迎来到 CILMY23 的博客 &#x1f3c6;本篇主题为&#xff1a;一篇总结&#xff01;什么是重定向&#xff1f;输出重定向的作用是什么&#xff1f;什么又是追加重定向&#xff1f; &#x1f3c6;个人主页&#xff1a;CILMY23-CSDN博客 &#x1f3c6;系列专栏&#xff1a;Py…...

svn软件总成全内容

SVN软件总成 概述&#xff1a;本文为经验型文档 目录 D:\安装包\svn软件总成 的目录D:\安装包\svn软件总成\svn-base添加 的目录D:\安装包\svn软件总成\tools 的目录D:\安装包\svn软件总成\tools\sqlite-tools-win32-x86-3360000 的目录D:\安装包\svn软件总成\安装包-----bt lo…...

[激光原理与应用-118]:电源系统的接地详解:小信号的噪声干扰优化,从良好外壳接地开始

目录 一、电路的基本原理&#xff1a;电流回路 1、电流回路的基本概念 2、电流回路的特性 3、电流回路的类型 4、电流回路的应用 五、电流回路的注意事项 二、交流设备的接地 1.1 概述 1、交流工作接地的定义 2、交流工作接地的作用 3、交流工作接地的规范要求 4、…...

回测本身就是一种过度拟合?

这也许是一个絮絮叨叨的专题&#xff0c;跟大伙儿唠一唠量化相关的小问题&#xff0c;有感而发写到哪算哪&#xff0c;这是第一期&#xff0c;先唠个10块钱的~ 前段时间在某乎上看到这样一个问题『您怎么理解回测本身就是一种过度拟合&#xff1f;』 个人看来&#xff0c;回测本…...

什么是Arduino?

Arduino是一款便捷灵活、方便上手的开源电子原型平台&#xff0c;由欧洲的一个开发团队于2005年冬季开发。以下是关于Arduino的详细介绍&#xff1a; 一、基本概述 定义&#xff1a;Arduino是一个基于开放源代码的软硬件平台&#xff0c;它让电子设计更加简单快捷。通过Arduin…...

【机器学习基础】Scikit-learn主要用法

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈Python机器学习 ⌋ ⌋ ⌋ 机器学习是一门人工智能的分支学科&#xff0c;通过算法和模型让计算机从数据中学习&#xff0c;进行模型训练和优化&#xff0c;做出预测、分类和决策支持。Python成为机器学习的首选语言&#xff0c;…...

python-素数回文数的个数(赛氪OJ)

[题目描述] 求 11 到 n 之间&#xff08;包括 n&#xff09;&#xff0c;既是素数又是回文数的整数有多少个。输入&#xff1a; 一个大于 11 小于 10000 的整数 n。输出&#xff1a; 11 到 n 之间的素数回文数个数。样例输入1 23 样例输出1 1 提示&#xff1a; 回文数指左右对…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

02.运算符

目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&&#xff1a;逻辑与 ||&#xff1a;逻辑或 &#xff01;&#xff1a;逻辑非 短路求值 位运算符 按位与&&#xff1a; 按位或 | 按位取反~ …...

解析“道作为序位生成器”的核心原理

解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制&#xff0c;重点解析"道作为序位生成器"的核心原理与实现框架&#xff1a; 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...