精华内容
下载资源
问答
  • 软件学习 编程 灰色关联度分析 python有意思的小游戏
  • 刘思峰教授提出的广义灰色关联分析python算法实现。其中包括绝对关联度,相对关联度和综合关联度的计算实现。
  • 灰色关联度分析python

    千次阅读 2020-08-18 21:31:22
    灰色关联度分析代码python import pandas as pd x=pd.read_csv('data4.csv') x=x.iloc[:,:].T # 1、数据均值化处理 x_mean=x.mean(axis=1) for i in range(x.index.size): x.iloc[i,:] = x.iloc[i,:]/x_mean[i] #...

    灰色关联度分析代码python

    import pandas as pd
    x=pd.read_csv('data4.csv')
    x=x.iloc[:,:].T
    
    # 1、数据均值化处理
    x_mean=x.mean(axis=1)
    for i in range(x.index.size):
        x.iloc[i,:] = x.iloc[i,:]/x_mean[i]
    
    # 2、提取参考队列和比较队列
    ck=x.iloc[0,:]
    cp=x.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
    #3、求关联系数
    ksi=((mmin+rho*mmax)/(abs(t)+rho*mmax))
    
    
    #4、求关联度
    r=ksi.sum(axis=1)/ksi.columns.size
    print(r)
    #5、关联度排序
    result=r.sort_values(ascending=False)
    
    
    展开全文
  • python计算灰色关联度

    千次阅读 2020-04-12 17:04:06
    1. 初值法 import pandas as pd import os os.chdir(r"E:\...x=pd.read_excel("灰色关联度1.xlsx", encoding='utf8') x=x.T # 1、数据初值化处理 x_mean=x.mean(axis=1) for i in range(x.index.s...

    1. 初值法

    import pandas as pd
    import os
    os.chdir(r"E:\BaiduNetdiskDownload\数据")    #指定路径
    
    x=pd.read_excel("灰色关联度1.xlsx", encoding='utf8')
    x=x.T
    
    # 1、数据初值化处理
    x_mean=x.mean(axis=1)
    for i in range(x.index.size):
        x.iloc[i,:] = x.iloc[i,:]/x.iloc[i,0]
    print(x)
    # 2、提取参考队列和比较队列
    ck=x.iloc[0,:]
    cp=x.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
    #3、求关联系数
    ksi=((mmin+rho*mmax)/(abs(t)+rho*mmax))
    
    #4、求关联度
    r=ksi.sum(axis=1)/ksi.columns.size
    
    #5、关联度排序,得到结果r3>r2>r1
    result=r.sort_values(ascending=False)
    

    2. 均值法

    import pandas as pd
    import os
    os.chdir(r"E:\BaiduNetdiskDownload\数据")    #指定路径
    x=pd.read_excel("灰色关联度1.xlsx", encoding='utf8')
    x=x.iloc[:,0:].T
    
    # 1、数据均值化处理
    x_mean=x.mean(axis=1)
    for i in range(x.index.size):
        x.iloc[i,:] = x.iloc[i,:]/x_mean[i]
    print(x)
        
    # 2、提取参考队列和比较队列
    ck=x.iloc[0,:]
    cp=x.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
    #3、求关联系数
    ksi=((mmin+rho*mmax)/(abs(t)+rho*mmax))
    
    #4、求关联度
    r=ksi.sum(axis=1)/ksi.columns.size
    
    #5、关联度排序,得到结果r3>r2>r1
    result=r.sort_values(ascending=False)
    
    

    3. 差值法

    import pandas as pd
    import os
    os.chdir(r"E:\BaiduNetdiskDownload\数据")    #指定路径
    x=pd.read_excel("灰色关联度1.xlsx", encoding='utf8')
    x = (x - x.min())/(x.max() - x.min())
    x=x.T
        
    # 2、提取参考队列和比较队列
    ck=x.iloc[0,:]
    cp=x.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
    #3、求关联系数
    ksi=((mmin+rho*mmax)/(abs(t)+rho*mmax))
    
    #4、求关联度
    r=ksi.sum(axis=1)/ksi.columns.size
    
    #5、关联度排序,得到结果r3>r2>r1
    result=r.sort_values(ascending=False)
    

    数据写出

    data = ksi
    data.columns = ["a","b","c","d","e"] #为列重命名
    #data.columns = list("abcd")  此种方法也可
    data["关联度"] = r  #为新列赋值
    data.to_excel("灰色关联系数关联度.xlsx", sheet_name="sheet1", index= False,encoding="utf-8")
    
    展开全文
  • Python 灰色关联度分析

    2021-09-11 15:48:24
    灰色关联度分析(Grey Relation Analysis,GRA),是一种多因素统计分析的方法,是一种对影响目标序列的相关因素进行定量分析的模型。 本文采用一个示例,简单分析一下。 数据集 链接: ...

    前言

    关联度:对于两个系统之间的因素,其随时间或不同对象而变化的关联性大小的量度,对于两个系统之间的因素,其随时间或不同对象而变化的关联性大小的量度.
    灰色关联度分析(Grey Relation Analysis,GRA),是一种多因素统计分析的方法,是一种对影响目标序列的相关因素进行定量分析的模型。

    本文采用一个示例,简单分析一下。

    数据集

    链接: https://pan.baidu.com/s/1pmPSvoZ-9wYRrPbFFKM_-w 提取码: obo2

    程序

    
    import pandas as pd
    x=pd.read_excel('data.xlsx')
    x=x.iloc[:,:].T
    print(x)
    
    
    # 1、数据均值化处理
    x_mean=x.mean(axis=1)
    for i in range(x.index.size):
        x.iloc[i,:] = x.iloc[i,:]/x_mean[i]
    
    """
    # 1、数据差值化处理
    x = (x - x.min())/(x.max() - x.min())
    x=x.T
    
    
    # 1、数据初值化处理
    x_mean=x.mean(axis=1)
    for i in range(x.index.size):
        x.iloc[i,:] = x.iloc[i,:]/x.iloc[i,0]
        
        
    """
    
    # 2、提取参考队列和比较队列
    ck=x.iloc[0,:]
    print(" 参考队列:", ck)
    cp=x.iloc[1:,:]
    print(" 参考队列:" ,cp)
    
    
    # 比较队列与参考队列相减
    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.4
    
    #3、求关联系数
    ksi=((mmin+rho*mmax)/(abs(t)+rho*mmax))
    
    
    #4、求关联度
    r=ksi.sum(axis=1)/ksi.columns.size
    
    #5、关联度排序,得到结果
    result=r.sort_values(ascending=False)
    
    print(r)
    

    总结

    • 基本原理就是将已知的目标序列数据和比较序列(即影响目标序列的因素所构成的序列)数据进行无量纲化处理之后,通过对比各个序列对目标序列的数据增长或减少的相似或相异程度来判断各个因素对目标序列的影响结果。
    • 度量两条曲线的形态和走势是否相近
    展开全文
  • GRA灰色关联度分析学习 附python代码

    千次阅读 2020-08-04 16:12:35
    灰色关联度分析,听名字很高大上,实际上就是算关联度的一个方法.就是想看看某几个因素中,哪个因素对事情的影响更大.比如 这个例子就算想看,其他这么一堆因子中,对旅游总收入的影响,哪个更大一些.个人从结果上看,还挺...

    主要学习了这位大佬的文章,讲的也很通俗易懂了

    以下的示例以及一些图片也是从大佬那边抄过来的,主要记录一下自己的学习感受.

    灰色关联度分析,听名字很高大上,实际上就是算关联度的一个方法.就是想看看某几个因素中,哪个因素对事情的影响更大.比如
    在这里插入图片描述
    这个例子就算想看,其他这么一堆因子中,对旅游总收入的影响,哪个更大一些.个人从结果上看,还挺像熵权法的…

    现在知道了就是想算影响关系,那就完成了第一步,确定子母序列,母是结果,子是影响因子.

    然后第二步,就要对数据进行预处理了.就想熵权法要归一化,这个也要…看大神的说法,一般在这里是用均值化和初值化

    初值化 就是每个因素都除以因素中,第一个因子的值就好了.比如在校大学生人数就是每个都除以341
    均值化就是每个因素都除以因素的平均值

    都挺好理解的,实际上,如果用标准化,或者归一化,会有不同的排序情况…至于为啥选初值化和均值化,不懂…

    数据与处理完后,ok,对着公式操作就好.

    在这里插入图片描述
    先看rho等于0的情况

    • 分子(就是min min那个)就是每一列(列指上面的数据图的列)第一行的数字(代表了结果)分别减下面每行(代表了影响因子)的绝对值得到一个值,然后再遍历每一列,得到这么多个值中的最小值.所以对于固定的数据来说,这个值是固定的.
      大神博客中提到,初值化的话,这个分子一定是0,也很好理解,初值化都是除以第一列的值,那第一列都是1,所以1-1=0,0肯定是最小值了

    • 分母就是第i行k列的值的具体值,结果减去影响因子的绝对值.几何意义上说,就是影响因子和结果的距离,距离越远,相关度就越低.

    再考虑rho,这里就直接不想多了,rho一般取0.5然后加上去以后可以防止分子为0的情况.别的就不多研究了…max max 跟min min那个算式,前面求的是最大值,这里求的是最小值.

    这样就能得到一个关联度矩阵,每个因子关联矩阵里对应位置的平均值,就是这个因子的关联度.

    下附代码

    这是可以直接复制使用的代码

    import numpy as np
    
    mom_ = [3439,4002,4519,4995,5566]
    son_ = [[341,409,556,719,903],[183,196,564,598,613],[3248,3856,6029,7358,8880]]
    
    mom_ = np.array(mom_)
    son_ = np.array(son_)
    
    son_ = son_.T / son_.mean(axis=1)
    mom_ = mom_/mom_.mean()
    
    for i in range(son_.shape[1]):
        son_[:,i] = abs(son_[:,i]-mom_.T)
    
    Mmin = son_.min()
    Mmax = son_.max()
    cors = (Mmin + 0.5*Mmax)/(son_+0.5*Mmax)
    Mmean = cors.mean(axis = 0)
    print(Mmean)
    

    在这里插入图片描述
    jupyter的运行过程展示,方便理解

    展开全文
  • Python实现 灰色关联分析 与结果可视化

    万次阅读 多人点赞 2018-06-07 13:21:45
    之前在比赛的时候需要用Python实现灰色关联分析,从网上搜了下只有实现两个列之间的,于是我把它改写成了直接想Pandas中的计算工具直接计算person系数那样的形式,可以对整个矩阵进行运算,并给出了可视化效果,效果请见...
  • Python进行灰色关联度综合评价

    千次阅读 热门讨论 2020-06-10 13:04:26
    Python进行灰色关联度综合评价概念介绍第一步,读取数据,设置城市名称为索引第二步,设置参考数列第三步,无量纲化指标第四步,计算评价对象指标序列与参考序列的差值第五步,获得最大值和最小值第六步,计算关联...
  • 灰色关联分析(GRA)的理论及应用(matlab和python

    万次阅读 多人点赞 2018-08-26 21:48:11
    什么是灰色关联分析 灰色关联分析是指对一个系统发展变化态势的定量描述和比较的方法,其基本思想是通过确定参考数据列和若干个比较数据列的几何形状相似程度来判断其联系是否紧密,它反映了曲线间的关联程度。 ...
  • 灰色关联度Python实现

    千次阅读 2021-01-06 09:09:51
    灰色关联度Python实现 灰色系统理论[1]在各个领域中有着重要的应用。灰色关联[1]是灰色系统模型中高效的建模工具,下面我们将使用Python来实现灰色关联度。虽然已经有很多灰色关联的实现代码,在这个代码中,我们不...
  • 1、Python 灰色关联度分析 采用一个示例,简单分析一下。 灰色关联度分析是 度量两条曲线的形态和走势是否相近 本文是在前文的基础上,进行结果可视化展示。 程序 读数据 import pandas as p import numpy as np ...
  • import pandas as pd import numpy as np # x = pd.DataFrame([[2000,0.732,0.836,0.628,0.743...#5、关联度排序,得到结果r3>r2>r1 result = r . sort_values ( ascending = False ) print ( result )
  • python程序计算皮尔逊相关系数、最大信息系数以及灰色关联度
  • 灰色关联度分析 # -*- coding: utf-8 -*- from sklearn.preprocessing import StandardScaler import pandas as pd import numpy as np import os class GraModel(): '''灰色关联度分析模型''' d
  • 使用python实现灰色关联分析及其可视化...灰色系统理论提出了对各子系统进行灰色关联度分析的概念,意图透过一定的方法,去寻求系统中各子系统(或因素)之间的数值关系。因此,灰色关联度分析对于一个系统发展变化态势
  • Python-006-灰色关联分析

    千次阅读 2020-07-14 20:19:33
    python-学习-006-灰色关联分析
  • 灰色关联度分析

    千次阅读 2018-03-30 18:51:10
    7.2.2 灰色关联度分析需求:按照灰色关联度分析方法,对数据指标进行分析解决方法:通过Python的pandas以及内置的函数完成该需求。import numpy as np import pandas as pd import os def readData(filename): ...
  • 灰色关联度分析(Grey Relation Analysis,GRA)

    万次阅读 多人点赞 2019-05-09 20:08:58
    1,灰色关联度分析(Grey Relation Analysis,GRA)原理详解 2,灰色关联分析法 3,灰色关联分析(GRA)的理论及应用(matlab和python) 4Python实现 灰色关联分析 与结果可视化 ...
  • Python灰色关联度

    2021-04-02 19:34:12
    γ ( X 0 , X i ) \gamma(X_0,X_i) γ(X0​,Xi​)称为 X 0 X_0 X0​与 X i X_i Xi​的灰色关联度(邓聚龙, 1985) 灰色关联度 γ ( X 0 , X i ) \gamma\left(X_{0}, X_{i}\right) γ(X0​,Xi​) 常简记为 γ 0 i , k ...
  • 灰色关联分析优点:计算量小,对样本的量多少和有无规律都同样适用,不会出现量化结果与定性分析结果不符的情况 灰色关联分析缺点:不太主流,美赛不适用 一.确定分析序列: 母序列(参考序列,母指标):能...
  • 灰色关联分析步骤

    千次阅读 2021-03-09 18:19:22
    什么是灰色关联分析 灰色关联分析是指对一个系统发展变化态势的定量描述和比较的方法,其基本思想是通过确定参考数据列和若干个比较数据列的几何形状相似程度来判断其联系是否紧密,它反映了曲线间的关联程度。 ...
  • 灰色关联分析——Excel实现

    千次阅读 多人点赞 2020-08-01 18:43:46
    灰色关联分析概述 一般的抽象系统,如社会系统、经济系统、农业系统等都包含多种因素,多种因素共同决定了该系统的发展态势。而人们通常希望知道在众多的因素中,哪些因素是主要因素,哪些因素是次要因素,哪些因素...
  • 这是邓聚龙教授的原创作品,收到了国内外专家学者的强烈关注。
  • 灰色关联分析包括两个重要功能。 第一项功能:灰色关联度,与correlation系数相似,如果要评估某些单位,在使用此功能之前转置数据。第二个功能:灰色聚类,如层次聚类。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,282
精华内容 512
关键字:

python做灰色关联度分析

python 订阅