找回密码
 会员注册
查看: 31|回复: 0

数学建模--评价类模型

[复制链接]

2万

主题

0

回帖

6万

积分

超级版主

积分
64454
发表于 2024-9-12 11:59:18 | 显示全部楼层 |阅读模式
目录一、主观评价1、层次分析法(AHP)①应用场景②步骤③模型实现④代码实现⑤优缺点评价2、模糊综合评价法(FCE)①应用场景②步骤③模型实现3、灰色关联分析法(GRA)①应用场景②步骤③模型实现二、客观评价1、主成分分析(PCA)2、因子分析(FA)①应用场景②步骤③模型分析 ④代码实现3、Topsis算法①应用场景②步骤③模型分析④代码实现4、BP神经网络综合评价法①应用场景②优缺点分析③代码实现一、主观评价 1、层次分析法(AHP)①应用场景1、最佳方案选取2、评价类问题3、指标体系的优选②步骤1、将问题条理化、层次化,构造出一个有层次的结构模型。层次分为三层:目标层、准则层、方案层。2、比较同一层次元素对上一层次同一目标的影响,从而确定它们在目标中所占的比重。采用两两比较的方法,求出他们对于同一个目标的重要性的比例标度,标度等级为1,2,...,9,1/2,1/3,...1/9。得到两两比较判断矩阵。1--9标度的含义:1--两个元素同等重要     3--前者稍重要5--前者明显重要        7--前者强烈重要9--前者极端重要2,4,6,8为上述判断的中间值3、在单一准则下计算元素相对排序权重,以及判断矩阵一致性检验。4、计算方案层中各元素对于目标层的总排序权重,从而确定首选方案。③模型实现题目:对2017年各省生态环境与经济交互状况进行合理的评价应用层次分析法解决问题时,首先要将问题条理化、层次化,构造出一个有层次的结构模型。这些层次可分为三类:最高层:经济对环境的影响。中间层:GDP、人口、地方财政支出、地方财政收入以及居民收支情况。最底层:严重、轻度、基本无影响。 结构图如果所示建立准则层判断矩阵 建立方案层判断矩阵对判断矩阵的一致性检验。(i)计算一致性指标CI (ii)查找相应的平均随机一致性指标RI。用随机方法构造500个样本矩阵:随机地从1~9及其倒数中抽取数字构造正互反矩阵,求得最大特征根的平均值maxλ',并定义(ⅲ)计算一致性比例CR 当CRpi=i+1;x(:,i)=A*y(:,i-1);m(i)=max(x(:,i));y(:,i)=x(:,i)/m(i);k=abs(m(i)-m(i-1));enda=sum(y(:,i));w=y(:,i)/a;t=m(i);disp(w);disp(t);%以下是一致性检验CI=(t-n)/(n-1);RI=[000.520.891.121.261.361.411.461.491.521.541.561.581.59];CR=CI/RI(n);ifCR类似与因变量Y子序列(又称比较数列,子指标):影响系统行为的因素组成的数据序列——>类似与自变量X2、对变量进行预处理(去量纲,缩小变量范围,简化计算),先求出每个指标列的均值,再用该指标列的每一个元素都除以该指标列的均值3、用子序列中每一个元素减去对应母序列中同一行的那个元素,并取绝对值,由此得到一个新矩阵new_X。4、记a为矩阵中的最小元素,b为矩阵中的最大元素,分辨系数ro通常为0.5,那么每一个元素对应母序列的关联系数为a+ro*b./(new_X+ro*b)5、然后,我们再对得到的关联系数矩阵求每一列均值,得到的最后结果gamma就是每一个指标对于母序列的灰色关联度③模型实现应用一:分析产业对GDP的影响程度%%应用一:分析产业对GDP的影响程度clear;clc;loaddata.mat;r=size(data,1);c=size(data,2);%第一步,对变量进行预处理,消除量纲的影响(大家在使用时需要注意自己的数据量纲是否相同)%avg=repmat(mean(data),r,1);%data=data./avg;%定义母序列和子序列Y=data(:,1);%母序列X=data(:,2:c);%子序列Y2=repmat(Y,1,c-1);%把母序列向右复制到c-1列absXi_Y=abs(X-Y2)a=min(min(absXi_Y))%全局最小值b=max(max(absXi_Y))%全局最大值ro=0.5;%分辨系数取0.5gamma=(a+ro*b)./(absXi_Y+ro*b)%计算子序列中各个指标与母序列的关联系数disp("子序列中各个指标的灰色关联度分别为:");ans=mean(gamma)子序列中各个指标的灰色关联度分别为:ans=0.73190.89830.8518应用二:灰色关联分析评价河流情况%应用二:灰色关联分析评价河流情况clear;clc;loadX.mat;%获取行数列数r=size(X,1);c=size(X,2);%首先,把我们的原始指标矩阵正向化%第二列中间型--->极大型middle=input("请输入最佳的中间值:");M=max(abs(X(:,2)-middle));fori=1:rX(i,2)=1-abs(X(i,2)-middle)/M;end%第三列极小型--->极大型max_value=max(X(:,3));X(:,3)=abs(X(:,3)-max_value);%第四列区间型--->极大型a=input("请输入区间的下界:");b=input("请输入区间的下界:");M=max(a-min(X(:,4)),max(X(:,4))-b);fori=1:rif(X(i,4)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-28 06:58 , Processed in 1.191964 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表