数学建模-灰色关联分析(GRA)

目录

1-AI带你认识GRA

📘 一、灰色关联分析(GRA)简介

1. 什么是灰色关联分析?

2. 核心思想(通俗理解):

3. 与熵权法的对比(快速类比):

🧩 二、灰色关联分析的基本原理

1. 问题背景:

🛠️ 三、灰色关联分析的基本步骤(标准流程)

✅ 步骤 1:构建原始数据矩阵

✅ 步骤 2:确定参考序列(理想解/母序列)

✅ 步骤 3:数据标准化(无量纲化处理)

(1)​​均值化法(常用)​​:

(2)​​初值化法​​:

(3)​​区间化法(极差标准化)​​:

✅ 步骤 4:计算关联系数

✅ 步骤 5:计算关联度

✅ 步骤 6:排序与分析

✅ 四、灰色关联分析的优点与缺点

✅ 优点:

❌ 缺点:

📚 五、灰色关联分析的典型应用场景

🧠 六、总结一句话:

📘 类比记忆(帮你更好理解):

📝 在数学建模/论文中的表述建议:

2-理论知识

介绍

定义

应用

3-基于excel表格实现灰色关联分析

1)写入数据

2)数据预处理

3)求出两级最小差和两级最大差

4)确定灰色关联系数Gamma

计算公式

5)求每个指标的灰色关联系数的平均值


1-AI带你认识GRA

📘 一、灰色关联分析(GRA)简介

1. 什么是灰色关联分析?

​灰色关联分析(Grey Relational Analysis,简称 GRA 或 灰色关联度分析)​​ 是一种分析系统中​​各因素间关联程度(相似程度、变化趋势相似性)的定量方法​​,由我国著名学者 ​​邓聚龙教授​​ 在 20 世纪 80 年代提出,是灰色系统理论的重要组成部分。


2. 核心思想(通俗理解):

​灰色关联分析的核心思想是:通过计算各评价对象(或因素)的指标数据序列与“参考序列”(理想或对比基准)之间的“关联程度”(即相似程度、变化趋势的相近程度),来判断它们之间的关联性强弱,从而进行排序、评价或因素分析。​

你可以把它理解为:

​“谁的变化趋势跟参考对象最像,谁就跟参考对象的关系最紧密,关联度就越高。”​


3. 与熵权法的对比(快速类比):

项目

​熵权法​

​灰色关联分析(GRA)​

​目的​

确定各指标的​​客观权重​

分析各对象或因素与参考序列的​​关联程度(相似性)​

​输入​

原始数据矩阵(指标值)

原始数据矩阵(指标值),通常也需要参考序列

​输出​

各指标的​​权重值​

各对象与参考对象的​​关联度,用于排序或分析​

​是否排序​

一般不直接排序,常与 TOPSIS 等方法结合使用

​可直接排序,也可用于因素分析​

​主要用途​

多指标综合评价中确定指标重要性

评价对象优劣排序、因素重要性分析、系统趋势分析

​特点​

基于信息熵,反映指标的区分度

基于序列间的几何相似性,反映变化趋势的相似程度


🧩 二、灰色关联分析的基本原理

1. 问题背景:

在实际问题中,我们常常需要分析:

  • 多个​​评价对象(如不同城市、企业、方案)​​在多个​​指标上​​的表现;

  • 或者多个​​因素(如经济指标、环境变量)​​之间的相互关系与影响程度;

  • 但我们往往​​缺乏足够的信息(数据少、信息不完全)​​,属于“​​贫信息、小样本​​”问题 → 这正是灰色系统理论擅长处理的领域!

👉 ​​灰色关联分析正是用来解决这类“信息不完全但有一定规律”的问题,通过分析数据序列的相似性(关联度)来进行评价或分析。​


🛠️ 三、灰色关联分析的基本步骤(标准流程)

假设我们有:

  • m 个​​评价对象(如方案、城市、企业)​

  • n 个​​评价指标​

  • 每个对象在每个指标上都有一个观测值

我们要分析这些对象与某个​​参考对象(理想方案/参考序列)​​的关联程度,或者直接对这些对象进行优劣排序。


✅ 步骤 1:构建原始数据矩阵

设有 m 个对象,n 个指标,构建原始数据矩阵:

X=​x11​x21​⋮xm1​​x12​x22​⋮xm2​​⋯⋯⋱⋯​x1n​x2n​⋮xmn​​​

其中,xij​表示第 i 个对象在第 j 个指标上的值。


✅ 步骤 2:确定参考序列(理想解/母序列)

参考序列可以是:

  • ​人为指定的最优值(如各指标的最大值/最小值,视指标性质而定)​

  • ​实际数据中表现最好的那个对象(即某一行数据)​

  • 或者根据问题背景自定义的参考标准

一般记作:

X0​=(x0​(1),x0​(2),...,x0​(n))

如果是​​对象间的优劣排序问题​​,通常将每个指标的最优值组合成参考序列(类似 TOPSIS 的正理想解);也可以直接把某个对象作为参考对象。


✅ 步骤 3:数据标准化(无量纲化处理)

由于不同指标的量纲(单位)和数量级不同,通常需要对原始数据进行标准化处理,常用方法有:

(1)​​均值化法(常用)​​:
xi′​(k)=x(k)xi​(k)​,x(k)=m1​i=1∑m​xi​(k)
(2)​​初值化法​​:
xi′​(k)=xi​(1)xi​(k)​
(3)​​区间化法(极差标准化)​​:
xi′​(k)=max(x(k))−min(x(k))xi​(k)−min(x(k))​

推荐使用 ​​均值化法​​ 或 ​​初值化法​​,在灰色关联分析中较为常见。

标准化后得到新的矩阵 X′。


✅ 步骤 4:计算关联系数

对于每个评价对象 i 与参考序列在每个指标 k 上的数值,计算它们之间的​​关联系数​​:

ξi​(k)=∣x0​(k)−xi′​(k)∣+ρ⋅imax​kmax​∣x0​(k)−xi′​(k)∣imin​kmin​∣x0​(k)−xi′​(k)∣+ρ⋅imax​kmax​∣x0​(k)−xi′​(k)∣​

其中:

  • ∣x0​(k)−xi′​(k)∣:参考序列与第 i 个对象在第 k 个指标上的​​绝对差​

  • imin​kmin​和 imax​kmax​:两级最小差与最大差(用于规范化和调节)

  • ρ:​​分辨系数​​,一般取 ​​0.5​​(用于削弱最大差过大带来的影响)

关联系数 ξi​(k)反映的是第 i 个对象在第 k 个指标上与参考对象的​​相似程度(关联程度)​​,取值范围为 [0,1],越接近 1 表示关联越强。


✅ 步骤 5:计算关联度

对每个对象 i,在所有指标上的关联系数求​​平均值(或加权平均)​​,得到该对象与参考序列的​​关联度​​:

ri​=n1​k=1∑n​ξi​(k)

如果各指标的重要程度不同,也可以引入权重 wk​,采用加权平均:

ri​=k=1∑n​wk​⋅ξi​(k),k=1∑n​wk​=1

✅ 步骤 6:排序与分析

  • 根据关联度 ri​​​从大到小排序​

  • ​关联度越大,表示该对象与参考对象越相似,综合表现越好(或关系越紧密)​

  • 可用于:

    • ​多对象优劣排序​

    • ​因素重要性分析​

    • ​系统动态变化趋势分析​


✅ 四、灰色关联分析的优点与缺点

✅ 优点:

  1. 1.

    ​对数据要求低​​:不需要大量数据,适合小样本、贫信息问题(灰色系统特色)

  2. 2.

    ​计算简单、易于理解和实现​

  3. 3.

    ​不需要指标数据服从特定分布​

  4. 4.

    ​能反映数据间的变化趋势与相似性,而不仅是数值大小​

  5. 5.

    ​广泛应用于因素分析、方案排序、政策评价等实际问题​

❌ 缺点:

  1. 1.

    ​分辨系数 ρ 的选取具有一定主观性​

  2. 2.

    ​对参考序列的选取比较敏感,影响最终结果​

  3. 3.

    ​只反映关联程度,不直接给出“优劣”的绝对评价,更多是“相似性”​

  4. 4.

    ​一般需结合其他方法(如熵权法、TOPSIS)进行综合评价​


📚 五、灰色关联分析的典型应用场景

  • ​多方案/多对象优劣排序​​(如企业绩效、城市发展水平、投资方案等)

  • ​因素重要性分析​​(如分析哪些因素对目标影响最大)

  • ​系统趋势分析​​(如分析某指标与参考目标的变化趋势是否相近)

  • ​与 TOPSIS、熵权法等结合使用,构建更强大的综合评价模型​


🧠 六、总结一句话:

​灰色关联分析是一种通过计算数据序列之间几何形状的相似程度(关联度),来判断各评价对象与参考对象之间关联性强弱的方法,适用于小样本、多指标、贫信息的综合评价与因素分析问题。​


📘 类比记忆(帮你更好理解):

可以把灰色关联分析类比为:

“在众多曲线(各对象的数据序列)中,找出哪一条跟参考曲线(理想/基准序列)的‘走势’最像,最像的就说明关联度最高,评价越好。”


📝 在数学建模/论文中的表述建议:

“本文采用灰色关联分析方法,通过构建标准化数据序列与参考序列,计算各评价对象与参考对象的灰色关联系数及关联度,根据关联度大小对评价对象进行优劣排序或因素重要性分析,从而为决策提供依据。”

2-理论知识

介绍

定义

应用

灰色关联分析适合于判断"对于因变量而言,哪些自变量是主要因素,哪些自变量是次要因素"

3-基于excel表格实现灰色关联分析

1)写入数据

2)数据预处理

第一步,先求出平均值

在B8单元格双击输入“=”,输入求平均数公式AVERAGE,选中B2:B7并回车得到结婚对数平均值

然后点击右下角的黑色“+”,往右边拖到E8,按回车,即可获得另外三列的平均值,如下

可以点击下面这个地方,改变小数位数

选中B8,C8,D8,E8,点击,增加或减少单元格中数值的小数位数

这里我们保留小数点后4位

第二步,用每列的数据除以该列数据的平均值,以消除不同指标因量纲不同最终产生的影响

先复制一份上述表格数据

在B10双击单元格输入“=B2/B8”,回车得到B2/B8的值

按住B10右下角的“+”并往右拉,得到该年份其他指标数据除以该指标平均值的结果

双击B10,C10,D10,E10单元格,在分母B8,C8,D8,E8中间依次按F4,固定住分母,回车

按住B10,C10,D10,E10每个单元格右下角的“+”并往下拉

然后和上面一样改变小数位数,这样可以得到该年份其他指标数据除以该指标平均值后的结果

3)求出两级最小差和两级最大差

双击单元格C17,输入“=ABS(B10-C10)”,并在B和10之间按F4,固定住母序列(结婚对数)

回车得到(B10-C10)的绝对值

然后按住右下角的“+”往右拉

双击单元格C17,D17,E17,对分子再按几次F4直到没有"$"符号,即不固定任何一列

再点C17,D17,E17右下角的“+”往下拉

然后改变小数点位数

求出两级最小差a和两级最大差b,即找出CDE三列,17-22行数据中的最值

回车后再改变小数位数得到a=0.0006和b=0.5572

4)确定灰色关联系数Gamma

计算公式

双击单元格C25输入"=($B$23+0.5*$E$23)/(C17+0.5*$E$23)"后回车

按住C25右下角的“+”往右拉2格,往下拉5格,然后改变小数位数

5)求每个指标的灰色关联系数的平均值

双击单元格C31输入“=AVERAGE(C25:C30)”后回车得到房价灰色关联系数平均值

然后往右拉两个得到人均收入和女性失业数的灰色关联系数平均值

再进行排序得到最终结论:女性失业数是影响结婚对数的主要因素

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

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

相关文章

Shell脚本-expect

一、前言在 Linux 系统管理与自动化运维中,我们经常需要编写 Shell 脚本来完成各种任务。但有些命令(如 ssh、scp、passwd、ftp 等)在执行时会等待用户手动输入密码或确认信息,这就导致脚本无法完全自动化运行。为了解决这个问题&…

Conmi的正确答案——Ubuntu24.04禁用任何休眠

系统:Ubuntu 24.04步骤一、禁用系统休眠服务 # 禁用所有休眠/待机相关服务(立即生效) sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target # 验证状态(显示 "masked" 即成功&am…

开源 C++ QT Widget 开发(二)基本控件应用

文章的目的为了记录使用C 进行QT Widget 开发学习的经历。临时学习,完成app的开发。开发流程和要点有些记忆模糊,赶紧记录,防止忘记。 相关链接: 开源 C QT Widget 开发(一)工程文件结构-CSDN博客 开源 C…

今日科技风向|从AI芯片定制到阅兵高科技展示——聚焦技术前沿洞察

今日科技风向|从AI芯片定制到阅兵高科技展示——聚焦技术前沿洞察 一、NVIDIA 开发“黑曜”子版 AI 芯片 B30A,瞄准中国市场 今日报道指出,NVIDIA 正在研发一款面向中国市场的定制芯片 B30A,基于其先进的 Blackwell 架构&#xff…

Elasticsearch官方文档学习-未完待续

Elasticsearch官方文档学习-未完待续说明快速开始基础知识索引组成1. 文档 (Documents)2. 元数据字段(Metadata fields)3. 映射和数据类型(Mappings and data types)文档操作(Document)批量创建或者删除文档 (Bulk index or delete documents)乐观并发控制 Optimistic concurre…

Redis资料

Redis是什么? Redis(Remote Dictionary Server)是一个开源的、基于内存的键值数据库,支持多种数据结构,可用作数据库、缓存和消息中间件。主要特点包括: 基于内存操作,读写性能极高支持持久化,可将内存数…

CAMEL-Task2-Agent的构成组件

CAMEL-Task2-Agent的构成组件 本文笔记主要关于2.7章节:CAMEL框架中agents如何使用工具。 一、工具说明 为什么要额外使用工具? agents本身的知识和能力有限,比如一些问题需要联网搜索才能准确回答(而不是乱答,即“…

数据整理自动化 - 让AI成为你的数据助手

文章目录数据整理自动化 - 让AI成为你的数据助手引言:数据整理的时代挑战与机遇1. 常见数据整理场景分析1.1 数据整理的多元场景图谱1.2 数据质量问题的分类与影响1.3 传统处理方法的局限性2. AI与传统脚本的协同工作流2.1 智能数据整理架构设计2.2 协同工作流的最佳…

react速成

项目目录package.json文件:包含核心两个依赖(react、react-dom)和命令(start、bulid)src:源码目录,开始之用的到index.js和App.jsindex.js:是项目的入口,一切的运行起点/…

Maven的进阶使用(上)

pom.xml文件 就像 Make 的 MakeFile、Ant 的 build.xml 一样,Maven 项目的核心是 pom.xml。POM(全称 Project Object Model,项目对象模型 ) 定义了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。 Gredele--…

【最后203篇系列】034 使用SQLite构建简单的任务管理

表数据同步的断点续传 有时候需要将一个表的数据复制到另一个表,循环是常用的方式。当表比较大,执行的时间很长,会有很多因素引起失败。我希望可以比较简单的跑数,所以做一个简单的任务系统。 SQLitre是嵌入式数据库,这…

SpringCloud Alibaba核心知识点

Spring Cloud Alibaba 是阿里巴巴开源的一套微服务解决方案,与 Spring Cloud 生态深度集成。以下是其主要组件及其功能:Nacos服务注册与发现:支持动态服务注册、健康监测及DNS-Based服务发现。配置中心:提供分布式配置管理&#x…

LeetCode 分类刷题:34. 在排序数组中查找元素的第一个和最后一个位置

题目给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。示例 1:…

自建知识库,向量数据库 (十二)之 文章向量搜索——仙盟创梦IDE

“未来之窗” 文章向量搜索:多领域应用与学习指南 在数字化浪潮中,“未来之窗” 文章向量搜索凭借其独特的技术优势,在酒店、电商、诊疗及知识库等多个领域展现出巨大的应用潜力,为各行业的信息处理与检索带来了全新的视角和高效…

深度剖析:基于反射的.NET二进制序列化器设计与实现

🔍 深度剖析:基于反射的.NET二进制序列化器设计与实现本文将从底层原理到高级优化,全面剖析一个基于反射的.NET二进制序列化器的设计与实现,涵盖类型系统处理、内存布局、递归算法、性能优化等核心主题。1. 设计哲学与架构总览 1.…

如何在 Ubuntu 上安装和配置 Samba ?

Samba 是一个开源程序,用于文件共享和网络打印,使用 SMB 协议。现在基本上用于提供在 Windows 上可访问的 Linux 文件共享系统。 本文介绍如何在 Ubuntu 上安装和配置 Samba 服务器,以便跨文件夹共享网络上不同的计算机。 Update Your Syst…

MATLAB实现CNN-GRU-Attention时序和空间特征结合-融合注意力机制混合神经网络模型的风速预测

该 MATLAB 代码实现了一个基于 CNN-GRU-Attention 时序和空间特征结合-融合注意力机制混合神经网络模型的风速预测。以下是对代码的简要分析:一、主要功能 该代码用于风速时间序列预测,使用历史风速特征数据(18个特征,75天&#x…

【升级版】从零到一训练一个 0.6B 的 MoE 大语言模型

前文:从零到一训练一个 0.6B 的 MoE 大语言模型,本次升级完全重新从零开始重新训练。主要升级如下: 替换预训练数据集,使用序列猴子通用文本数据集进行预训练。使用更先进的训练方法。新增思考模式控制,可通过添加/th…

51单片机-实现定时器模块教程

本章概述思维导图: 51单片机驱动定时器模块 CPU时序简介 CPU时序定义了CPU内部操作的时间节奏,以下从四个时序周期进行逐步解析; 1、振荡周期 振荡周期:CPU内部时钟源产生的最小时间单位,由晶振或内部振荡器决定&am…

7.Kotlin的日期类

以下是 Kotlin 中常用时间类(基于 java.time 包)的核心方法及使用示例,参考数组方法的表格形式,按类分类展示: 一、LocalDate(日期:年/月/日)方法签名返回值说明示例now(): LocalDat…