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

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

文章目录

  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结


前言

本文将讲解解决评价类问题的第一种模型层次分析法(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,这个时候要再构造一次判断矩阵,本质上就是先聚类再使用层次分析法(在后面例子我们会讲到)

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

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

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.算术平均法计算权重
%输入样例,将前面的判断矩阵输入即可,此处省略
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)

通过权重向量就能得到各个指标的重要程度

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 解决VideoReader出现Thread worker: Error sending packet报错
  • Harmony-(2)-ArkTs
  • 精通Python爬虫中的XPath:从安装到实战演示
  • spring security和核心流程
  • KVM+GFS分布式存储系统构建KVM高可用
  • 【Python-MySQL】Python 代码用pool管理MySQL连接,并实现增删改查
  • Pip换源
  • 【zabbix6自定义监控带参数】
  • IIS解析漏洞
  • C++ bind复杂回调逻辑分析
  • LeetCode高频
  • Charles怎么修改参数
  • 擅于辩论的人可以将黑的说成白的,但是存在无法解决的矛盾
  • 【已解决】ERROR: No matching distribution found for torch.安装torch一次性解决方法
  • 【Python】正色表达式 - 验证罗马数字
  • Javascript编码规范
  • Shell编程
  • webpack入门学习手记(二)
  • 创建一种深思熟虑的文化
  • 规范化安全开发 KOA 手脚架
  • 判断客户端类型,Android,iOS,PC
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 小程序button引导用户授权
  • 小而合理的前端理论:rscss和rsjs
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​io --- 处理流的核心工具​
  • ​学习一下,什么是预包装食品?​
  • #if 1...#endif
  • #NOIP 2014# day.2 T2 寻找道路
  • (145)光线追踪距离场柔和阴影
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (七)c52学习之旅-中断
  • (图文详解)小程序AppID申请以及在Hbuilderx中运行
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (五)IO流之ByteArrayInput/OutputStream
  • *上位机的定义
  • .form文件_一篇文章学会文件上传
  • .htaccess 强制https 单独排除某个目录
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .net 获取url的方法
  • .Net 执行Linux下多行shell命令方法
  • .NET/C# 的字符串暂存池
  • .NET学习全景图
  • .NET中GET与SET的用法
  • .pop ----remove 删除
  • @Bean, @Component, @Configuration简析
  • @Transaction注解失效的几种场景(附有示例代码)
  • [000-01-022].第03节:RabbitMQ环境搭建
  • [ACL2022] Text Smoothing: 一种在文本分类任务上的数据增强方法
  • [AutoSar]状态管理(五)Dcm与BswM、EcuM的复位实现