关联度分析法-灰色关联分析

article/2025/9/18 7:15:51

目录

  • 灰色关联分析介绍
  • 灰色关联分析的步骤
  • 实例

灰色关联分析介绍

对于两个系统之间的因素,其随时间或不同对象而变化的关联性大小的量度,称为关联度。在系统发展过程中,若两个因素变化的趋势具有一致性,即同步变化程度较高,即可谓二者关联程度较高;反之,则较低。因此,灰色关联分析方法,是根据因素之间发展趋势的相似或相异程度,亦即“灰色关联度”,作为衡量因素间关联程度的一种方法。
通常可以运用此方法来分析各个因素对于结果的影响程度,也可以运用此方法解决随时间变化的综合评价类问题。

灰色关联分析的步骤

灰色系统关联分析的具体计算步骤如下:

  1. 确定反映系统行为特征的参考数列和影响系统行为的比较数列。
    反映系统行为特征的数据序列,称为参考数列(可以理解为因变量)。影响系统行为的因素组成的数据序列,称比较数列(可以理解为自变量)。
  2. 对参考数列和比较数列进行无量纲化处理。
    由于系统中各因素的物理意义不同,导致数据的量纲也不一定相同,不便于比较,或在比较时难以得到正确的结论。因此在进行灰色关联度分析时,一般都要进行无量纲化的数据处理。
  3. 求参考数列与比较数列的灰色关联系数ξ(Xi)
    所谓关联程度,实质上是曲线间几何形状的差别程度。因此曲线间差值大小,可作为关联程度的衡量尺度。对于一个参考数列X0有若干个比较数列X1, X2,…, Xn,各比较数列与参考数列在各个时刻(即曲线中的各点)的关联系数ξ(Xi)可由下列公式算出:

在这里插入图片描述
其中 ρ为分辨系数,ρ>0,ρ越小,分辨力越大,一般ρ的取值区间为(0,1),具体取值可视情况而定。通常取0.5。
minmin是第二级最小差,记为Δmin。 maxmax是两级最大差,记为Δmax。
在这里插入图片描述
为各比较数列Xi曲线上的每一个点与参考数列X0曲线上的每一个点的绝对差值,记为Δoi(k)。
所以关联系数ξ(Xi)也可简化如下列公式:
在这里插入图片描述

  1. 求关联度ri
    因为关联系数是比较数列与参考数列在各个时刻(即曲线中的各点)的关联程度值,所以它的数不止一个,而信息过于分散不便于进行整体性比较。因此有必要将各个时刻(即曲线中的各点)的关联系数集中为一个值,即求其平均值,作为比较数列与参考数列间关联程度的数量表示,关联度ri公式如下:
    在这里插入图片描述

  2. 关联度排序
    因素间的关联程度,主要是用关联度的大小次序描述,而不仅是关联度的大小。将m个子序列对同一母序列的关联度按大小顺序排列起来,便组成了关联序,记为{x},它反映了对于母序列来说各子序列的“优劣”关系。若r0i>r0j,则称{xi}对于同一母序列{x0}优于{xj},记为{xi}>{xj} ;若r0i表1 代表旗县参考数列、比较数列特征值。

实例

#灰色关联度分析
import pandas as p
import numpy as np
from numpy import *
import matplotlib.pyplot as plt
%matplotlib inline# 从硬盘读取数据进入内存
wine = pd.read_csv("...\\是.csv",encoding="ANSI")
wine.head()
wine=wine.dropna()
wine.dropna()
# 无量纲化()
newDataFrame=pd.DataFrame(index=wine.index)
columns=wine.columns.tolist()
for c in columns:d = wine[c]MAX = d.max()MIN = d.min()MEAN = d.mean()newDataFrame[c] = ((d - MEAN) / (MAX - MIN)).tolist()
print(newDataFrame)
# 提取参考队列和比较队列
newDataFrame=newDataFrame.iloc[:,1:].T
ck=newDataFrame.iloc[0,:]
cp=newDataFrame.iloc[1:,:]#比较
#比较队列与参考列相减
t=pd.DataFrame()
for j in range(cp.index.size):temp=pd.Series(cp.iloc[j,:]-ck)t=t.append(temp,ignore_index=True)
#求最大差和最小差
mmax=t.abs().max().max()
mmin=t.abs().min().min()
rho=0.5
#求关联系数
ksi=((mmin+rho*mmax)/(abs(t)+rho*mmax))
pd.DataFrame(ksi)
# 灰色关联结果矩阵可视化
import seaborn as sns
def ShowGRAHeatMap(DataFrame):colormap = plt.cm.RdBuylabels = DataFrame.columns.values.tolist()f, ax = plt.subplots(figsize=(14, 14))ax.set_title('GRA HeatMap')    # 设置展示一半,如果不需要注释掉mask即可#mask = np.zeros_like(DataFrame)#mask[np.triu_indices_from(mask)] = Truewith sns.axes_style("white"):sns.heatmap(DataFrame,cmap="rainbow",annot=True,#mask=mask,)plt.rcParams['font.sans-serif']='SimHei'plt.show()
data=pd.DataFrame(ksi)
ShowGRAHeatMap(data)#求关联度
r=ksi.sum(axis=1)/ksi.columns.size
print("关联度为:\n",r)
#关联度排序,
result=r.sort_values(ascending=False)
print("关联度排序结果为:\n",result)

关联系数矩阵:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


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

相关文章

关联分析之Apriori学习笔记

关联分析(Association analysis) 简介 大量数据中隐藏的关系可以以‘关联规则’和‘频繁项集’的形式表示。rules:{Diapers}–>{Beer}说明两者之间有很强的关系,购买Diapers的消费者通常会购买Beer。 …

关联分析(一)

目录 一 关联分析的应用 二 关联分析定义 关联分析(又称关联挖掘) 常见关系分类 四 基本原理 ​编辑 五 常用算法 5.1 先验算法Apriori 5.2 FP-Growth算法 一 关联分析的应用 在美国国会投票记录中发现关联规则发现毒蘑菇的相似特征在Twitter源中发现一些共现词从网站…

数据分析五、Apriori 算法之关联分析

Apriori 算法 一、相关概念:二、Apriori 算法2.1、确定最小支持度和最小置信度2.2、找出频繁项集和强关联规则2.3、Python 调用 apriori 函数 Apriori---[əpriˈɔri] ---先天的,推测的一、相关概念: 关联分析,是一门分析技术&a…

数据的结构分类:结构化数据,半结构化数据以及非结构化数据

数据结构分类 结构化数据:具有域名与域值,可用二维表表示。例如关系数据库和CSV文档半结构数据:具有域值和域名,但每一笔数据的字段可能不一样。例如JSON以及XML非结构化数据:不具有域值和域名,例如文章&a…

结构化数据与非结构化数据有什么区别?

结构化数据和非结构化数据是大数据的两种类型,这两者之间并不存在真正的冲突。客户如何选择不是基于数据结构,而是基于使用它们的应用程序:关系数据库用于结构化数据,大多数其他类型的应用程序用于非结构化数据。 然而&#xff0…

结构化数据和非结构化数据有何区别?

员工离职,老板最关心的可能并不是工作交接是否滴水不漏,而是离职员工会如何处理他手里的数据。 例如设计人员的设计图纸、项目经理的项目文档等,这些文档属于企业珍贵的资产,而大部分企业却从未真正管控过这部分资产。 可以确定的…

什么是结构化数据、半结构化数据、非结构化数据

一、 结构化数据 结构化数据:即以关系型数据库表形式管理的数据,例如: idnameage1马百万262马龙台1 机构化数据的数据存储和排列都是具有规律性的,对于增删改查等功能支持友好 二、半结构化数据 半结构化数据:非关…

总结非结构化数据分析「十步走」

注:诚然,本文中所提到的内容并使非结构化数据结构化的唯一步骤,但该步骤的可行性,以及在创造可持续模式方面的表现已在实践中得到证实。 如今,数据分析逐渐在企业发展中扮演起愈加重要的角色,为求在业务成长…

【黑马】JavaWeb开发教程(涵盖Spring+MyBatis+SpringMVC+SpringBoot等)目录合集

​Java Web 传统路线: 课程讲述路线: 视频链接: 2023新版JavaWeb开发教程,实现javaweb企业开发全流程 学习时间: 断断续续,按照课程安排正常学习,历时15天,完结撒花!…

搭建JavaWeb开发环境(Eclipse版)

1. 在使用eclipse搭建JavaWeb开发环境时,首先要确保自己电脑已经安装过Java中的JDK,以及配置好了相关的环境变量。 2. 开始下载JavaEE软件:https://www.eclipse.org/downloads/packages/。在该网址中,选择镜像然后下载。&#xf…

搭建JavaWeb开发环境(JDK+Tomcat+Eclipse/Idea)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、 安装JDK二、配置环境变量 二、TomCat1. 获取 Tomcat2. Tomcat安装和环境变量的配置 三、eclipse配置 前言 提示:这里可以添加本文要记录的大概…

好文分享:Javaweb开发环境搭建常用工具类型

随着互联网的不断发展,无论是前端开发还是后端开发都越发垂直细分化,而今天我们就通过案例分析来了解一下,Javaweb开发环境搭建常用工具类型。 一:Web相关概念 Web程序也就是一般所说的网站,由服务器、客户端浏览器和…

JavaWeb开发相关版本对应关系

Eclipse与Java Eclipse版本与Java Eclipse版本代号Eclipse版本号Java版本Mars4.5JDK7Neon-Photon-2020.064.6-4.16JDK82020.09-2021.094.17-4.21JDK11 Eclipse/Installation - Eclipsepediahttps://wiki.eclipse.org/…

如何利用Java,Javaweb开发网站

需求分析 基于Javaweb整合三大组件(servletFilterlisten)设计并实现一个工作室网站开发, 对于工作室的日常宣传,企业形象,简单管理来说, 如何通过计算机技术对工作室进行管理非常重要, 通过编写一个在线的工作室网站源代码, 可以直接在网站上查看并了解…

javaweb开发环境搭建-mac版

一、安装jdk 1.检查:终端输入 java -version (mac自带jdk, 但版本较低,如果自带版本满足需求,请跳过23步) 2.安装或升级:官网下载 MAC OS版本的jdk安装 3.配置jdk环境变量:其实就是修改~/.bash_profile文件内容(此文件…

黑马《2023最新JavaWeb开发教程》发布啦~

急你所急,解你所需,黑马《2023最新JavaWeb开发教程》发布啦!!! JavaWeb传统学习路线中的jQuery、JDBC、Servlet、JSP、EL & JSTL等技术点都已经过时啦。2023年了,学JavaWeb,一定要跟着黑马程…

JavaWeb开发入门

JavaWeb开发笔记 十年生死两茫茫,不思量,自难忘,华年短暂,陈辞岁月悠悠伤, 满腔热血已芜荒,展未来,后生强,战战兢兢,如履薄冰心彷徨, 青丝化雪、鬓角成霜&a…

JAVAweb开发资源库

JAVAweb开发资源库内含各种JAVAweb项目的代码模板,方便JAVAweb初学者进行学习,各种功能应有尽有,请自行下载体验:

实验一 JavaWeb开发环境

文章目录 前言具体操作总结 前言 一、实验目的:1.掌握JDK的安装的环境变量的配置。2.掌握Tomcat的安装及配置,Tomcat端口号的修改。3.掌握在IDE环境中编写web页面,发布应用并测试。4.理解IDE开发环境的安装,使用和运行方式&#…

JavaWeb开发框架——Spring

目录 1、Spring简介 1.1、Spring是什么 1.2、Spring发展历程 1.3、Spring的优势 1.3.1、方便解耦,简化开发 1.3.2、AOP编程的支持 1.3.3、声明式事务的支持 1.3.4、方便程序的测试 1.3.5、方便继承各种优秀框架 1.3.6、降低JavaEE API 的使用难度 1.3.7、…