数学建模学习笔记||灰色关联分析

在这里插入图片描述

灰色系统

信息绝对透明的是白色系统,信息绝对秘密的是黑色系统,灰色系统介于两者之间

关联分析

即系统的分析因素
包含多种因素的系统中,哪些因素是主要的,哪些因素是次要的,哪些因素影响大,哪些因素影响小,哪些需要发展,哪些需要抑制……

现有因素分析的量化方法,大都是数理统计法,如回归分析,方差分析,主要成分分析等,但都有一下弱点:

  1. 要求大量数据,数据量少难以找到统计规律
  2. 要求分布是典型的(线性的,指数的或对数的),即使是典型的,也并非都能处理
  3. 计算工作量大,一般需要计算机辅助
  4. 有时可能出现反常情况,如正相关判断为负相关
灰色关联度分析

灰色关联度分析,是一种多因素统计分析的方法。灰色关联分析弥补了采用数理统计方法做系统分析所导致的缺憾。它对样本量的多少和样本有无规律都同样适用 ,而且计算量小,十分方便,更不会出现量化结果与定性分析结果不符的情况。

灰色关联分析的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线越接近,相应序列之间的关联度就越大,反之就越小。

对一个抽象的系统或现象进行分析,首先要选准反映系统行为特征的数据序列,称为找系统行为的映射量,用
映射量来间接的表征系统行为。

例如:用国民平均接受教育的年数来反映教育的发达程度,用刑事案件的案发率来反映社会治安与秩序,有了系统行为特征和相关因素的数据,即可作出各个序列的图形,从直观上进行分析。

关联分析步骤
  1. 母序列
    又称参考序列,母指标,能反映系统行为特征的数据序列,类似于因变量Y,记为 Y=[y1,y2,……,yn]T

  2. 子序列
    又称比较序列,子指标,影响系统行为的因素组成的数据序列

  3. 数据预处理
    由于不同要素具有不同量纲和数据范围,因此我们要对他们进行预处理去量纲,将他们统一到近似的范围内,先求出每个指标的均值,再用指标中的元素除以其均值
    注意此处与层次分析法的数据归一化方法不同

  4. 计算灰色关联系数
    计算子序列中各个指标与母序列的关联系数

  5. 计算关联度

python代码
import numpy as np# 请输入初始矩阵[[55, 24, 10], [65, 38, 22], [75, 40, 18], [100, 50, 20]]
A = np.array(eval(input('请输入初始矩阵=')))  # 假设输入的形式是合法的Python列表形式# 求出每一列的均值以供后续的数据预处理
Mean = np.mean(A, axis=0)# 预处理后的矩阵
A_norm = A / Meanprint('预处理后的矩阵为:')
print(A_norm)# 母序列
Y = A_norm[:, 0]# 子序列
X = A_norm[:, 1:]# 计算|X0-Xi|矩阵(在这里我们把X0定义为了Y)
absX0_Xi = np.abs(X - np.tile(Y.reshape(-1, 1), (1, X.shape[1])))# 计算两级最小差a
a = np.min(absX0_Xi)# 计算两级最大差b
b = np.max(absX0_Xi)# 分辨系数取0.5
rho = 0.5# 计算子序列中各个指标与母序列的关联系数
gamma = (a + rho * b) / (absX0_Xi + rho * b)print('子序列中各个指标的灰色关联度分别为:')
print(np.mean(gamma, axis=0))

课程链接
https://www.bilibili.com/video/BV1EK41187QF?p=13&vd_source=b3a05527a277213bd1c75289bedc229d

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

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

相关文章

docker+jekins+maven+ssh 持续集成交付部署 jar包

一. docker环境搭建,此处略过。 二. docker部署jekins 2.1 拉取镜像,挂载工作目录,xxxx为宿主机指定工作目录 docker pull jenkins/jenkins docker run -d -p 8080:8080 -p 50000:50000 --name jenkins --privilegedtrue -v xxxxxxxxxx:/var/jenkins…

Onvif协议5: 预置位的操作

目录 1. 介绍 2. GetPreset 3. SetPreset 4.预置位的索引 5. GotoPreset 1. 介绍 球机的云台预置位控制主要包含的内容有:预置位的设置、预置位的调用、预置位的删除以及预置位的名称修改等 云台预置位的设置:调用Onvif协议中云台预置位设置接口&a…

推荐一款Linux、数据库、Redis、MongoDB统一管理平台!

官方演示 状态查看 ssh 终端 文件操作 数据库操作 sql 编辑器 在线增删改查数据 Redis 操作 Mongo 操作 系统管理 账号管理 角色管理 资源管理 一.安装 1.下载安装包 cd /opt wget https://gitee.com/dromara/mayfly-go/releases/download/v1.7.1/mayfly-go-linux-amd64.zi…

[GN] 设计模式——面向对象设计原则概述

文章目录 面向对象设计原则概述单一职责原则开闭原则里氏代换原则依赖倒转原则接口隔离原则合成复用原则迪米特法则 总结 提示:以下是本篇文章正文内容,下面案例可供参考 面向对象设计原则概述 单一职责原则 一个类只负责一个功能领域中的相应职责 类…

【C++杂货铺】详解类和对象 [中]

博主:代码菌-CSDN博客 专栏:C杂货铺_代码菌的博客-CSDN博客 目录 🌈前言🌈 📁 类的6个默认成员函数 📁 构造函数 📂 概念 📂 特性(灰常重要) &#x1f4c…

粒子群算法求解港口泊位调度问题(MATLAB代码)

粒子群算法(Particle Swarm Optimization,PSO)是一种基于群体智能的优化算法,它通过模拟鸟群或鱼群的行为来寻找最优解。在泊位调度问题中,目标是最小化所有船只在港时间的总和,而PSO算法可以帮助我们找到一…

The following untracked working tree files would be overwritten by merge问题的解决

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 在更新git仓库时出现了一个The following untracked working tree files would be overwritten by merge的错误,具体如下图: 分析…

【智能家居入门之微信小程序控制下位机】(STM32、ONENET云平台、微信小程序、HTTP协议)

实现微信小程序控制单片机外设动作 一、使用ONENET可视化组件控制单片机外设动作二、使用微信小程序控制单片机外设动作三、总结 本篇博客话接上文: https://blog.csdn.net/m0_71523511/article/details/135892908 上一篇博客实现了微信小程序接收单片机上传的数据…

day31 贪心算法 分发饼干 摆动序列 最大子序和

题目1:455 分发饼干 题目链接: 455 分发饼干 题意 给孩子分发饼干,每个孩子最多只能有1块饼干 每个孩子i都有一个胃口值g[i] ,每块饼干j的尺寸是s[j] 如果s[j]>g[i]可以将这个饼干分配给孩子i 孩子就会得到满足&#xff…

【分布式技术专题】「探索高性能远程通信」基于Netty的分布式通信框架实现(Dispatcher和EventListener)(下)

基于Netty的分布式通信框架实现 前提介绍本节重点Dispatcher(分派调度器)EventListenerChannelEventListenerChannel通道事件定义ChannelActionEvent Heartbeat、超时及重连机制 前提介绍 经过阅读《【分布式技术专题】「探索高性能远程通信」基于Netty…

短视频矩阵项目年后还能做吗/技术源头搭建分析

短视频矩阵项目年后还能做吗/技术源头搭建分析: 问:矩阵系统年后还可以迭代更新开发继续做吗? 答:可以的,企业依旧有需求 问:如何考察技术团队? 答:以下三个方面 一、是否是抖音…

2024 新年HTML5+Canvas制作3D烟花特效(附源码)

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…