数学建模------综合评价模型之灰色关联分析

article/2025/5/18 21:19:53

前言

提起综合评价模型,大家可能会比较熟悉层次分析法,但是层次分型法的主观性太强,有时构造的矩阵并不能通过一致性检验,所以了解一些其他的综合评价模型也是十分重要的。比较常用的综合评价模型有TOPSIS法,熵值法,灰色关联分析法等,本文主要介绍一些灰色关联分析法的主要内容。

灰色关联分析法

灰色关联分析法最基本的应用其实并不是进行综合评价,而是进行系统分析。例如在一个系统中可能会有很多的因素对这个系统的发展产生影响,灰色关联分析就是确定各个因素对系统影响的重要程度。灰色关联度分析法的基本思想是根据曲线的相似程度,判断因素之间的关联性,例如:
在这里插入图片描述
我们可以根据以上的数据判断哪一种产业对GDP的影响比较大。几何图形如下图所示:
在这里插入图片描述

上面是用python画的图,代码如下:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from matplotlib import style
matplotlib.rcParams['text.usetex']=True
plt.figure(figsize=(10,10),dpi=70)
X=[1,2,3,4,5,6]
Y=[386,408,422,482,511,561]
Z=[839,846,960,1258,1577,1893]
S=[763,808,953,1010,1268,1352]
T=[1988,2062,2335,2750,3356,3806]
plt.plot(X,Y)
plt.plot(X,Z)
plt.plot(X,S)
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from matplotlib import style
matplotlib.rcParams['text.usetex']=True
plt.figure(figsize=(10,10),dpi=70)
X=[1,2,3,4,5,6]
Y=[386,408,422,482,511,561]
Z=[839,846,960,1258,1577,1893]
S=[763,808,953,1010,1268,1352]
plt.plot(X,Y)
plt.plot(X,Z)
plt.plot(X,S)
plt.plot(X,T)
红色曲线代表GDP,我们的目标是研究三大产业对GDP的影响程度,从图中可以看出橙色曲线与红色曲线的集合形状最为相似,橙色代表第一产业,所以可知第一产业对GDP的影响比较大。

综合评价模型

上面的例子只是简单的介绍了一下灰色关联分析的具体用途,下面我们介绍一下灰色关联分析作为综合评价模型的具体步骤,如下图所示:

在这里插入图片描述
在灰色关联分析用作评价模型的时候,需要对数据进行预处理。
首先,对于不同类型的数据,处理起来的具体操作就不同,比如一个工厂生产的残次品肯定是越少越好,像这样的数据就称为极小型数据,学生考的分数当然是越高越好,这种叫做极大型数据。
其次,在评价模型中各个指标的单位可能不一样,我们需要对指标中的数据进行无量纲化处理,常用的方法有有该元素的的值去除以该元素对应的指标的平均值,z_ij=x_ij/((x_1j+x_2j+…+x_nj)/n)。
第三,利用灰色关联度公式,求解各个指标与母序列的灰色关联度r_1,…,r_m,

在这里插入图片描述

在这里插入图片描述

第四,计算各个指标的权重,w_i=r_i/(r1+…,r_m);

最终,求出每个评价对象的最终得分,s_ik=z_k1w1+z_k2w2+…+zkm*wm.

总结

时间紧,任务重,实在没时间写代码了 哈哈 有问题欢迎交流。


http://chatgpt.dhexx.cn/article/gYrnOuZK.shtml

相关文章

灰色关联分析及MATLAB实现

目录 一、灰色关联分析概述 灰色关联分析的基本思想: 二、灰色关联分析应用实例 举例一: 1. 确定分析数列 2. 对变量进行预处理 3. 计算子序列中各个指标与母序列的关联系数 三、 MATLAB实现 一、灰色关联分析概述 当一个系统是由多种因素共同作用时…

【数学建模】灰色关联分析 + Matlab代码实现

文章目录 一、学习内容:二、学习时间:三、学习产出:3.1 灰色关联分析基本思想3.2 运用灰色关联分析的基本步骤3.3 灰色关联分析代码实现(Matlab)3.3.1 应用一:分析产业对GDP的影响程度3.3.2 应用二:灰色关联分析评价河…

【数模】灰色关联分析与预测模型

文章目录 前言一、灰色预测(法)1.定义2.如何预测3.灰色预测的四种常见类型 二、灰色关联度分析灰色关联度 三、灰色生成数列四、灰色模型GM(1,1)五、灰色预测步骤 前言 灰色系统的应用 一、灰色预测(法) 1.定义 灰色预测法&a…

数学建模学习:灰色关联分析

一、灰色关联分析 1.概述 一般的抽象系统,如社会系统、经济系统、农业系统、生态系统、教育系统等都包含有许多种因素,多种因素共同作用的结果决定了该系统的发展态势。在众多的因素中,哪些是主要因素,哪些是次要因素&#xff1…

灰色关联分析笔记

什么时候用灰色关联分析? 灰色关联分析 是根据因素之间发展趋势的相似或相异程度,亦即“灰色关联度”,作为衡量因素间关联程度的一种方法 【若两个因素变化的趋势具有一致性,即同步变化程度较高,即可谓二者关联程度较…

MATLAB学习笔记_Day03灰色关联分析和灰色预测模型

学习视频:【零基础教程】老哥:数学建模算法、编程、写作和获奖指南全流程培训! 文章目录 1. 灰色关联分析与预测模型适用范围:1.1 灰色预测的概念1.2 灰色关联度与优势分析1.3 灰色预测模型1.4 灰色模型GM(1,1)1.5 灰色预测步骤 1…

灰色系统理论与灰色关联分析模型

灰色系统理论与灰色关联分析模型 Author:丸子 Written on: 220211 Notes:包括灰色系统知识和灰色关联分析模型两部分 笔记课程来自b站网课老哥带你学数模书本为《数学建模算法与应用(第3版)》,司守奎编著第424页 文章目录 灰色系统理论与灰色…

Python 灰色关联度 灰色预测模型

灰色关联度 灰色关联度常用于分析影响因子与被影响因子的关联,是水论文的好东西 如果数据的量纲不统一的话,需要先进行归一化处理 import numpy as npdef gray_correlation(refer, data, rho0.5): refer: 参照数列 (列向量)data: 比较数列 (以列为单位…

备战数学建模15-灰色关联分析与灰色预测模型

目录 一、灰色系统理论与灰色关联分析 1-灰色预测的概念 2-灰色关联度与优势分析 3-灰色关联分析案例分析 4-灰色生成数列 二、灰色预测模型 1-灰色模型GM 2-灰色模型GM的建模步骤 3-灰色预测经典案例1 4-灰色预测模型经典案例2 一、灰色系统理论与灰色关联分析 1-灰…

C语言:关键字----switch、case、default(开关语句)

C语言:基础开发----目录 C语言:关键字—32个(分类说明) 有32个关键字详细说明,还有跳转链接! 一、开关语句----介绍 开关语句,包括以下四种关键字: switch:开关语句case: 开关语句…

C语言关键字auto,case,default,switch应该如何使用

前言:本文章主要用于个人复习,追求简洁,感谢大家的参考、交流和搬运,后续可能会继续修改和完善。 因为是个人复习,会有部分压缩和省略。 一、auto 1.c语言中,关键字auto用于声明一个变量为自动变量&#x…

C语言-switch-case语句与多分支结构

一、switch-case语句 1. switch语句中的每个语句段中都使用break语句 switch-case语句的一般形式为: switch (表达式){case 常量表达式1: 语句段1;break;case 常量表达式2:语句段2;break;...case 常量表达式n:语句段n;break;default:语句段n1;break;}这是switch-c…

C语言——switch case 语句判断学生成绩

C语言——switch case 语句判断学生成绩 switch case 讲解: switch(),在括号里输入所定义的变量,接着在()后面输入一个{}大括号,把每一个分支语句放在大括号中。 switch()写法: int main()…

C语言--switch case 语句,case 后没有语句

背景:在看 wireshark 的解析协议部分的源码时,发现很多的 switch case 语句,case 后没有语句 的情况,随处可见的这种情况,产生疑惑,报文解析就是很好的例子。 例如:wireshark-3.2.17/epan/diss…

补充switch语句的内容和逗号运算符(C语言case后没有break的switch语句,会继续执行后面的语句再退出)

补充switch语句的内容和逗号运算符 C语言case后没有break的switch语句,会继续执行后面的语句再退出补充逗号运算符 C语言case后没有break的switch语句,会继续执行后面的语句再退出 对于switch语句,我们在使用的时候都会注意使用的规范&#…

c语言 case break,C语言中switch...case语句中break的重要性

在C语言中switch...case语句是经常用到的,下面我介绍一下在使用该语句时候需要注意的一个细节问题。话不多说,直接举例子: 例子1: switch(fruit) { case 1:printf("apple"); break; case 2:printf("banana");…

C语言CASE语句嵌套,C语言中switch case语句的嵌套

给一个含有嵌套的switch case的一段完整代码: #include int main() { int n1; int m2; switch(n) { case 1: m; case 2: n; case 3: switch(n) { case 1: n; case 2: m; n; break; } case 4: m; break; default: break; } printf("%d %d",m,n); return 0…

c语言 switch案例,c语言switch case语句使用例子

c语言switch case语句使用例子 发布时间:2020-04-23 11:48:53 来源:亿速云 阅读:421 作者:小新 这篇文章主要为大家详细介绍了c语言switch case语句使用例子,文中示例代码介绍的非常详细,具有一定的参考价值…

c语言的case语句怎么用,c语言的switchcase语句用法

凡是使用过的人都会有同2113样的感觉—5261—C语言的使用灵活这个特点既是优点又是4102缺点, 因为对1653精通C语言的用户来讲, 灵活就意味着编程可以无拘无束, 甚至随心所欲; 但对初学者或者是尚未摸着规律的用户来说,…

case是c语言变量名吗,case是什么意思_c语言中case是什么意思

c语言中case是什么意思 是程序的入口,一般结合switch使用 举个例子: int a=2; switch(a){ case 1:prinf("1");break; case 2:prinf("2");break; default:prinf("3"); } 就表示根据a的值进行判断,a的值与 case后面的哪个值相等,就执行哪个cas…