【数学建模】灰色关联度分析

这篇具有很好参考价值的文章主要介绍了【数学建模】灰色关联度分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一、灰色关联度分析是什么

二、使用步骤

1.数据归一化/标准化

1.1 导入库

2.读入数据

总结



前言

          灰色关联度分析(Grey Relation Analysis,GRA),是一种多因素统计分析的方法。简单来讲,就是在一个灰色系统中,我们想要了解其中某个我们所关注的某个项目受其他的因素影响的相对强弱,再直白一点,就是说:我们假设以及知道某一个指标可能是与其他的某几个因素**相关**的,那么我们想知道这个指标与其他哪个因素相对来说更有关系,而哪个因素相对关系弱一点,依次类推,把这些因素排个,得到一个分析结果,我们就可以知道我们关注的这个指标,与因素中的哪些更相关。

( note : 灰色系统这个概念的提出是相对于白色系统黑色系统而言的。这个概念最初是由控制科学与工程(hhh熟悉的一级学科)的教授邓聚龙提出的。按照控制论的惯例,颜色一般代表的是对于一个系统我们已知的信息的多少,白色就代表信息充足,比如一个力学系统,元素之间的关系都是能够确定的,这就是一个白色系统;而黑色系统代表我们对于其中的结构并不清楚的系统,通常叫做黑箱或黑盒的就是这类系统。灰色介于两者之间,表示我们只对该系统有部分了解。)


一、灰色关联度分析是什么

        灰色关联度分析和AHP层次分析法、TOPSIS、熵权法等一样,可以用来进行系统分析的方法。但与其他三个不同之处在于灰色关联度分析对样本数量要求不高,计算量较小,数据收集难度较小,且几乎不会出现如量化结果同定性分析结果不符的情况。

二、使用步骤

1.代码准备

代码如下:

1.1 导入库

import pandas as pd
import numpy as np
from numpy import *
import matplotlib.pyplot as plt
import warnings
import seaborn as sns
import matplotlib as mpl

1.2 读入数据

代码如下(示例):

data = pd.read_excel('1234565.xlsx',usecols=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25])
data.head()

2. 使用步骤

2.1 数据统计分析

        在这一部分将会对数据整体分布情况以及整体的趋势进行一个分析,

灰色关联分析数学建模论文,【数学建模】,python,pandas,开发语言

  1. 从上图可以看出data3即综合平均违约概率,data1和data2、data4为不同类型企业的违约概率都在呈现上涨趋势。
  2. 其中data2企业上涨幅度最大。 

2.2 确定分析序列

在这一步需要确定分析序列,即确定一个母序列和n个子序列。

母序列(参考序列)是能反映系统行为特征的序列。类似于因变量及被解释变量,此处记为Y

子序列(比较序列)是影响系统行为的因素组成的序列。类似于自变量及解释变量,此处记为(X1,X2,X3,... ,Xn)

在本例中,data3为母序列Y,data1、data2、data4为子序列X1,X2,X3。

2.3 对变量进行预处理

  1. 数据无量纲化
  2. 缩小变量范围来简化计算

预处理的方法:先求出每个指标的均值,再用该指标中的每个元素都除以均值,其实这样算出来的结果就避免了因为单位的影响而造成的不可比较性。

无量纲化代码如下图所示:

# 无量纲化(由于数据之间的物理意义不同,故要对数据先进行无量纲化)
def dimensionlessProcessing(df):
    newDataFrame = pd.DataFrame(index=df.index)
    columns = df.columns.tolist() #获取数据list
    for c in columns:
        d = df[c]
        MAX = d.max()
        MIN = d.min()
        MEAN = d.mean()
        newDataFrame[c] = ((d - MEAN) / (MAX - MIN)).tolist()
        print('newdataframe',newDataFrame)
    return newDataFrame

2.4 计算子序列中各个指标与母序列的关联系数

设子序列的个数为m,每个序列有n个样本,则我们的数据可以表示为:

灰色关联分析数学建模论文,【数学建模】,python,pandas,开发语言

灰色关联分析数学建模论文,【数学建模】,python,pandas,开发语言 

灰色关联分析数学建模论文,【数学建模】,python,pandas,开发语言 

设a为两极最小差,b为两极最大差

灰色关联分析数学建模论文,【数学建模】,python,pandas,开发语言 

 如下代码所示:

def GRA_ONE(gray, m=0):
    # 读取为df格式
    gray = dimensionlessProcessing(gray)
    # 标准化
    std = gray.iloc[:, m]  # 为标准要素
    gray.drop(str(m),axis=1,inplace=True)
    ce = gray.iloc[:, 0:]  # 为比较要素
    shape_n, shape_m = ce.shape[0], ce.shape[1]  # 计算行列

    # 与标准要素比较,相减
    a = zeros([shape_m, shape_n])
    for i in range(shape_m):
        for j in range(shape_n):
            a[i, j] = abs(ce.iloc[j, i] - std[j])
    print('a',a)
    # 取出矩阵中最大值与最小值
    c, d = amax(a), amin(a)

关联系数y(Gamma值)的公式为:

灰色关联分析数学建模论文,【数学建模】,python,pandas,开发语言

其中ρ为分辨系数,一般取0.5,

代码如下图所示:

# 计算值
    result = zeros([shape_m, shape_n])
    for i in range(shape_m):
        for j in range(shape_n):
            result[i, j] = (d + 0.5 * c) / (a[i, j] + 0.5 * c)

2.5 计算各个子序列的灰色关联度

设灰色关联度为r,则:

灰色关联分析数学建模论文,【数学建模】,python,pandas,开发语言

 (这一部分其实就是对每一个子序列的关联系数取平均值)

总结

      灰色关联度分析其实总的来说就五步骤文章来源地址https://www.toymoban.com/news/detail-751770.html

  1. 第一步先对数据进行无量纲化,去除因为变量单位不统一而导致的数值含义不一样的问题
  2. 第二步就是要找出因变量和自变量从而确定字母序列
  3. 第三步就是求出各个指标与母序列的关联系数,即用Y(K)-X(K),再选取其中的最大值和最小值
  4. 第四步求出关联系数
  5. 第五步就是求出每个子序列的均值关联系数

到了这里,关于【数学建模】灰色关联度分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数学建模】--灰色关联分析

    系统分析: 一般的抽象系统,如社会系统,经济系统,农业系统,生态系统,教育系统等都包含有许多种因素,多种因素共同作用的结果决定了该系统的发展态势。人们常常希望知道在众多的因素中,哪些是主要因素,哪些是次要因素;哪些因素对系统发展影响大,哪些因素

    2024年02月13日
    浏览(27)
  • 数学建模:灰色关联分析

    🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 建立一个m行 n列的矩阵 X X X ,其中 m 表示评价对象, n表示评价指标 首先进行矩阵的 归一化 ,得到归一化后的矩阵 d a t a data d a t a 获取参考向量,即获取归一化后的矩阵的 最大参考指标行 ,假设为 Y Y Y ,即得到所有n个指

    2024年02月10日
    浏览(33)
  • 数学建模学习:灰色关联分析

    1.概述 一般的抽象系统,如社会系统、经济系统、农业系统、生态系统、教育系统等都包含有许多种因素,多种因素共同作用的结果决定了该系统的发展态势。在众多的因素中,哪些是主要因素,哪些是次要因素;哪些因素对系统发展影响大,哪些因素对系统发展影响小;哪

    2024年02月15日
    浏览(23)
  • 【数学建模】清风数模更新5 灰色关联分析

    诸如经济系统、生态系统、社会系统等抽象系统都包含许多因素,系统整体的发展受各个因素共同影响。 为了更好地推动系统发展,我们需要清楚哪些因素是主要的,哪些是次要的,哪些是积极的,哪些是消极的,这就要求我们进行系统分析。 数理统计中的系统分析方法包

    2024年02月12日
    浏览(27)
  • 数学建模:评价性模型学习——灰色关联分析法(GRA模型)

    目录 前言 一、灰色关联分析 1.什么是灰色关联分析? 2.流程介绍 二、综合评价 1.数据无量纲化处理 2.确定参考序列 3.确定权重 4.计算灰色关联系数  5.计算灰色加权关联度 6.代码 总结          继续学习数学建模涉及的评价性模型,这篇会介绍如何使用灰色关联分析法进

    2024年02月04日
    浏览(150)
  • 【数学建模】灰色关联(Matlab代码实现)

    目录 1 灰色关联理论 2 算例及Matlab代码实现 2.1 算例1 2.2 算例2   2.3 算例3 2.4 算例4  3 写在最后 灰色关联分析l是由邓聚龙教授于1982年提出的,也称“邓氏灰色关联法”。 方法以部分信息已知 ,部分信息未知的“贫信息”为研究对象,通过对部分已知信息的生成和开发,实现对

    2024年02月09日
    浏览(36)
  • 数学建模-灰色预测

    灰色预测 1.1白色系统VS黑色系统         白色系统:系统内部的特征是完全已知的         黑色系统相反 1.2灰色系统         部分已知,部分未知 1.3 灰色预测         定义:对含有不确定因素的系统进行预测的方法。         灰色时间序列预测:用观察到的

    2024年02月12日
    浏览(38)
  • 数学建模:灰色预测模型

    🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 三个基本方法: 累加数列 :计算一阶累加生成数列 x ( 1 ) ( k ) = ∑ i = 1 k x ( 0 ) ( i ) , k = 1 , 2 , ⋯   , n , x^{(1)}(k)=sum_{i=1}^kx^{(0)}(i),k=1,2,cdots,n, x ( 1 ) ( k ) = i = 1 ∑ k ​ x ( 0 ) ( i ) , k = 1 , 2 , ⋯ , n , 累减数列 :计算一阶累减生

    2024年02月09日
    浏览(29)
  • 数学建模之灰色预测

    灰色预测(Grey Forecasting)是一种用于时间序列数据分析和预测的方法,通常用于处理具有 较少历史数据 的情况或者数据不够充分的情况。它是一种非常简单但有效的方法,基于灰色系统理论,用来估计未来的趋势。 以下是灰色预测的基本思想和步骤: 建立灰色模型 :首先

    2024年02月11日
    浏览(30)
  • 【数学建模】 灰色预测模型

    https://www.cnblogs.com/somedayLi/p/9542835.html https://blog.csdn.net/qq_39798423/article/details/89283000?ops_request_misc=request_id=biz_id=102utm_term=%E7%81%B0%E8%89%B2%E9%A2%84%E6%B5%8B%E6%A8%A1%E5%9E%8Butm_medium=distribute.pc_search_result.none-task-blog-2 all sobaiduweb~default-2-89283000.142 v88 control_2,239 v2 insert_chatgptspm=1018.2226.3001.418

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包