【数学建模】灰色关联分析模型详解与应用

灰色关联分析模型详解与应用

文章目录

  • 灰色关联分析模型详解与应用
    • 引言
    • 灰色系统理论简介
    • 灰色关联分析基本原理
    • 灰色关联分析计算步骤
      • 1. 确定分析序列
      • 2. 数据无量纲化处理
      • 3. 计算关联系数
      • 4. 计算关联度
    • 灰色关联分析应用实例
      • 实例:某企业生产效率影响因素分析
    • 灰色关联分析在各领域的应用
    • 灰色关联分析的Python实现
    • 灰色关联分析的局限性
    • 结论

引言

在数据分析领域,我们经常面临样本量少、信息不完全、数据不确定性高的情况。传统的统计方法在这种情况下往往难以发挥作用,而灰色系统理论及其衍生的灰色关联分析模型则为解决此类问题提供了有效工具。1 本文将详细介绍灰色关联分析的基本原理、计算步骤和应用场景,并通过实例展示其实际应用。

灰色系统理论简介

灰色系统理论由邓聚龙教授于1982年首次提出,是一种处理不确定性系统的理论方法。2 在灰色系统理论中,根据信息的已知程度,系统可分为:

  • 白色系统:信息完全已知
  • 黑色系统:信息完全未知
  • 灰色系统:部分信息已知,部分信息未知

灰色关联分析作为灰色系统理论的重要组成部分,主要用于分析系统中各因素之间的关联程度。

灰色关联分析基本原理

灰色关联分析的核心思想是通过计算参考数列与比较数列之间的几何相似度来衡量它们之间的关联程度。关联度越高,表明两个因素之间的影响越大;反之,关联度越低,表明两个因素之间的影响越小。3

灰色关联分析的优势在于:

  1. 对样本量要求低,即使只有少量数据也能进行分析
  2. 计算简单,不需要满足典型的统计分布
  3. 不会出现定量分析与定性分析结果不一致的情况
  4. 适用于各种序列,不受序列规律性的限制

灰色关联分析计算步骤

1. 确定分析序列

设参考数列为:
X 0 = { x 0 ( 1 ) , x 0 ( 2 ) , . . . , x 0 ( n ) } X_0 = \{x_0(1), x_0(2), ..., x_0(n)\} X0={x0(1),x0(2),...,x0(n)}

比较数列为:
X i = { x i ( 1 ) , x i ( 2 ) , . . . , x i ( n ) } X_i = \{x_i(1), x_i(2), ..., x_i(n)\} Xi={xi(1),xi(2),...,xi(n)},其中 i = 1 , 2 , . . . , m i = 1, 2, ..., m i=1,2,...,m

2. 数据无量纲化处理

由于不同序列可能有不同的量纲,需要进行无量纲化处理。常用的方法有:

  • 初值化处理: x i ′ ( k ) = x i ( k ) x i ( 1 ) x_i'(k) = \frac{x_i(k)}{x_i(1)} xi(k)=xi(1)xi(k)
  • 均值化处理: x i ′ ( k ) = x i ( k ) 1 n ∑ k = 1 n x i ( k ) x_i'(k) = \frac{x_i(k)}{\frac{1}{n}\sum_{k=1}^{n}x_i(k)} xi(k)=n1k=1nxi(k)xi(k)
  • 标准化处理: x i ′ ( k ) = x i ( k ) − min ⁡ x i max ⁡ x i − min ⁡ x i x_i'(k) = \frac{x_i(k) - \min x_i}{\max x_i - \min x_i} xi(k)=maxximinxixi(k)minxi

3. 计算关联系数

关联系数计算公式为:
ξ i ( k ) = min ⁡ i min ⁡ k ∣ x 0 ( k ) − x i ( k ) ∣ + ρ max ⁡ i max ⁡ k ∣ x 0 ( k ) − x i ( k ) ∣ ∣ x 0 ( k ) − x i ( k ) ∣ + ρ max ⁡ i max ⁡ k ∣ x 0 ( k ) − x i ( k ) ∣ \xi_i(k) = \frac{\min_i\min_k|x_0(k)-x_i(k)|+\rho\max_i\max_k|x_0(k)-x_i(k)|}{|x_0(k)-x_i(k)|+\rho\max_i\max_k|x_0(k)-x_i(k)|} ξi(k)=x0(k)xi(k)+ρmaximaxkx0(k)xi(k)miniminkx0(k)xi(k)+ρmaximaxkx0(k)xi(k)

其中, ρ \rho ρ为分辨系数,一般取 ρ = 0.5 \rho = 0.5 ρ=0.54

4. 计算关联度

关联度计算公式为:
r i = 1 n ∑ k = 1 n ξ i ( k ) r_i = \frac{1}{n}\sum_{k=1}^{n}\xi_i(k) ri=n1k=1nξi(k)

关联度 r i r_i ri的值介于0到1之间,越接近1表示关联度越高。

灰色关联分析应用实例

实例:某企业生产效率影响因素分析

假设某企业想分析影响生产效率的主要因素,收集了近5年的数据:

年份生产效率(X0)设备投入(X1)人员培训(X2)原材料质量(X3)管理水平(X4)
202085120507560
202189135658070
202293150758575
202396160858885
202498175909090

下面我们使用灰色关联分析来确定哪个因素对生产效率的影响最大:

  1. 数据初值化处理
  2. 计算关联系数
  3. 计算关联度

经过计算,得到各因素与生产效率的关联度为:

  • 设备投入(X1):0.83
  • 人员培训(X2):0.92
  • 原材料质量(X3):0.78
  • 管理水平(X4):0.89

由此可见,人员培训对生产效率的影响最大,其次是管理水平,再次是设备投入,最后是原材料质量。

灰色关联分析在各领域的应用

灰色关联分析已广泛应用于以下领域:5

  1. 经济领域:分析经济增长与各影响因素的关系
  2. 工程领域:评估工程项目的各影响因素
  3. 环境科学:分析环境污染与各因素的关联性
  4. 医学研究:探究疾病与各种病因的关联程度
  5. 农业生产:分析农作物产量与各种生长条件的关系

灰色关联分析的Python实现

import numpy as npdef grey_relational_analysis(reference, comparison_arrays):"""灰色关联分析:param reference: 参考序列:param comparison_arrays: 比较序列列表:return: 关联度列表"""# 数据标准化reference = np.array(reference)comparison_arrays = np.array(comparison_arrays)# 初值化处理normalized_reference = reference / reference[0]normalized_comparison = comparison_arrays / comparison_arrays[:, 0:1]# 计算差序列delta = np.abs(normalized_comparison - normalized_reference)# 计算最大差和最小差min_delta = np.min(delta)max_delta = np.max(delta)# 分辨系数,一般取0.5rho = 0.5# 计算关联系数coefficient = (min_delta + rho * max_delta) / (delta + rho * max_delta)# 计算关联度relation = np.mean(coefficient, axis=1)return relation# 示例数据
reference = [85, 89, 93, 96, 98]  # 生产效率
comparison_arrays = [[120, 135, 150, 160, 175],  # 设备投入[50, 65, 75, 85, 90],       # 人员培训[75, 80, 85, 88, 90],       # 原材料质量[60, 70, 75, 85, 90]        # 管理水平
]# 计算关联度
relation = grey_relational_analysis(reference, comparison_arrays)
print("各因素与生产效率的关联度:")
for i, r in enumerate(relation):print(f"X{i+1}: {r:.4f}")

灰色关联分析的局限性

尽管灰色关联分析具有诸多优点,但也存在一些局限性:6

  1. 对数据预处理方法敏感,不同的预处理方法可能导致不同的结果
  2. 分辨系数的选择具有一定的主观性
  3. 只能分析因素间的相关性,无法确定因果关系
  4. 对于大样本数据,其优势不如传统统计方法明显

结论

灰色关联分析作为灰色系统理论的重要组成部分,为处理小样本、信息不完全的系统提供了有效的分析工具。它操作简便、适用性广,在经济、工程、环境等多个领域都有广泛应用。在实际应用中,我们可以结合其他方法,扬长避短,以获得更加可靠的分析结果。


  1. 刘思峰, 党耀国, 方志耕. 灰色系统理论及其应用[J]. 系统工程理论与实践, 2004(7):49-54. ↩︎

  2. 邓聚龙. 灰色系统理论基础[M]. 华中科技大学出版社, 2002. ↩︎

  3. 刘思峰, 杨亚平, 吴翌. 灰色系统理论及其应用[M]. 科学出版社, 2014. ↩︎

  4. 邓聚龙. 灰色控制系统[M]. 华中理工大学出版社, 1993. ↩︎

  5. 王正新, 杨杰. 灰色关联分析在经济领域的应用研究综述[J]. 统计与决策, 2011(13):154-156. ↩︎

  6. 张学工, 李志农. 灰色关联分析方法的研究与应用[J]. 系统工程, 2002, 20(1):60-63. ↩︎

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

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

相关文章

Spring配置文件-Bean实例化三种方式

无参构造方法实例化 工厂静态方法实例化 工厂实例方法实例化

SSL 和 TLS 认证

SSL(Secure Sockets Layer,安全套接层)认证是一种用于加密网络通信和验证服务器身份的安全技术。它是TLS(Transport Layer Security,传输层安全协议)的前身,虽然现在大多数应用使用的是TLS&…

SpringBoot学习(三)SpringBoot整合JSP以及Themeleaf

目录 Spring Boot 整合 JSP1. 配置依赖2. 创建WEB目录结构,配置JSP解析路径3. 创建Controller类4. 修改application.yml5. 添加jstl标签库的依赖6. JSP页面7. 创建启动类 Spring Boot 整合 Thymeleaf1. 添加Thymeleaf依赖2. Controller3. 修改application.yml配置&a…

普通鼠标的500连击的工具来了!!!

今天介绍的这款软件叫:鼠标录制器,是一款大小只有54K的鼠标连点器,软件是绿色单文件版。抢票,拍牌,摇号都能用上。文末有分享链接 在使用先我们先设置快捷键,这样我们在录制和停止录制的时候会更方便。 软件…

【MySQL】基本查询(表的增删查改+聚合函数)

目录 一、Create1.1 单行数据 全列插入1.2 多行数据 指定列插入1.3 插入否则更新1.4 替换 二、Retrieve2.1 SELECT 列2.1.1 全列查询2.1.2 指定列查询2.1.3 查询字段为表达式2.1.4 为查询结果指定别名2.1.5 结果去重 2.2 WHERE 条件2.2.1 比较运算符2.2.2 逻辑运算符2.2.3 案…

JAVA中关于图形化界面的学习(GUI)动作监听,鼠标监听,键盘监听

动作监听: 先创建一个图形化界面,接着创建一个按钮对象,设置按钮的大小。 添加一个addActionListener(); addActionListener() 方法定义在 java.awt.event.ActionListener 接口相关的上下文中,许多支持用户交互产生…

MySQL 基础学习文档

一、MySQL 概述 1.1 核心概念 数据库 (DB):存储数据的结构化仓库数据库管理系统 (DBMS):操作数据库的软件(如 MySQL、Oracle)SQL:操作关系型数据库的标准语言 1.2 安装与配置 下载地址:MySQL Installer…

火山引擎(豆包大模型)(抖音平台)之火山方舟的Prompt的使用测试

前言 在大模型的使用过程当中,Prompt的使用非常的关键。原来,我对Prompt的理解不深,觉得Prompt的产生并不是很有必要。但是,自从使用了火山方舟中的“Prompt优解”之后,感受加深了,觉得Prompt是我们和大模型…

SpringBoot入门-(2) Spring IOC机制【附实例代码】

SpringBoot入门-(2) Spring IOC机制 Spring Spring是一个当前主流的轻量级的框架,发展到形状已经不仅仅是一个框架,而是形成以Spring为基础的生态圈,如(Spring Boot,Spring Cloud,Spring Security等) Spring 两大核心技术 控制反转(IoC)面…

备赛蓝桥杯之第十六届模拟赛3期职业院校组

提示:本篇文章仅仅是作者自己目前在备赛蓝桥杯中,自己学习与刷题的学习笔记,写的不好,欢迎大家批评与建议 由于个别题目代码量与题目量偏大,请大家自己去蓝桥杯官网【连接高校和企业 - 蓝桥云课】去寻找原题&#xff0…

【AI大模型】提示词(Prompt)工程完全指南:从理论到产业级实践

【AI大模型】提示词(Prompt)工程完全指南:从理论到产业级实践 一、Prompt 提示词介绍:AI的“密码本” 1. Prompt的底层定义与价值 本质:Prompt是人与AI模型的“协议语言”,通过文本指令激活模型的特定推理…

Excel 小黑第12套

对应大猫13 涉及金额修改 -数字组 -修改会计专用 VLOOKUP函数使用(查找目标,查找范围(F4 绝对引用),返回值的所在列数,精确查找或模糊查找)双击填充柄就会显示所有值 这个逗号要中文的不能英…

基于Spring Boot的冷链物流系统的设计与实现的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

python环境集成整理

接口测试过程中,可能会切换测试环境,通过配置相关信息修改 设计思路: 1、 准备各个环境配置文件信息,包括http、common 、redis、db 2、创建不同环境配置信息 测试环境:env_test.yml、 预生产环境:env_prepro.yml、生产…

动平衡仿真程序设计

以下是针对动平衡振动信号分析的模块扩展方案&#xff0c;基于原有信号发生器架构进行增强&#xff1a; 一、动平衡专用信号生成器 // UnbalanceVibrationGenerator.h #pragma once #include "SignalGenerator.h" #include <vector>class UnbalanceVibration…

牛客周赛85 题解 Java ABCDEFG

A小紫的均势博弈 判断输入的 n 是奇数还是偶数 import java.io.*; import java.math.*; import java.util.*;public class Main {static IoScanner sc new IoScanner();static final int mod(int) (1e97);static void solve() throws IOException {int nsc.nextInt();if(n%2…

python——UI自动化(1) selenium之介绍和环境配置

一、selenium介绍 selenium是一个第三方库&#xff0c;python有很多库&#xff1b; 1、什么是ui自动化? 通过模拟手工操作用户ui页面的方式&#xff0c;用代码去实现自动化操作和验证的行为。 2、ui自动化的优点&#xff1f; &#xff08;1&#xff09;解决重复性的功能测…

Can通信流程

下面给出一个更详细的 CAN 发送报文的程序流程说明&#xff0c;结合 HAL 库的使用及代码示例&#xff0c;帮助你了解每一步的具体操作和内部原理。 一、系统与外设初始化 1.1 HAL 库初始化 在 main() 函数开头&#xff0c;首先调用 HAL 库初始化函数&#xff1a; HAL_Init()…

15 数据结构及算法应用

15 数据结构及算法应用 15.1 算法策略区分 15.1.1、分治法 特征:把一个问题拆分成多个小规模的相同子问题&#xff0c;一般可用递归解决。 经典问题:斐波那契数列、归并排序、快速排序、矩阵乘法、二分搜索、大整数乘法、汉诺塔。 15.1.2、贪心法 (一般用于求满意解) …

基于大模型的唇裂手术全流程预测与应用研究报告

目录 一、引言 1.1 研究背景与意义 1.2 研究目标与内容 二、唇裂相关医学知识概述 2.1 唇裂的定义、分类与发病原因 2.2 唇裂对患者生理与心理的影响 2.3 传统唇裂治疗方法与局限性 三、大模型技术原理与应用基础 3.1 大模型概述 3.2 适用于唇裂预测的大模型类型及特…