精华内容
下载资源
问答
  • 1:灰色关联度分析 GRA(Grey Relation Analysis )灰色预测的概念:白色系统是指一个系统的内部特征是完全已知的黑色系统是指一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系加以研究灰色系统内部...

    1:灰色关联度分析 GRA(Grey Relation Analysis )

    灰色预测的概念:

    白色系统是指一个系统的内部特征是完全已知的黑色系统是指一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系加以研究灰色系统内部信息一部分是已知的,另一部分信息是未知的,系统内各因素间有不确定的关系

    灰色关联度分析

    对系统进行因素分析,这些因素那些对系统是主要的,那些是次要的,那些需要发展,那些需要抑制。那些是潜在的,那些是明显的。因素间关联性如何,关联程度如何量化是系统分析的关键。

    灰色关联度分析的步骤

    第一步:确定分析数列。

    参考数列(母序列):反映系统行为特征数据序列

    Y = Y(k)   k=1,2...n

    比较数列(子序列): 影响系统行为的因素组成的数据序列

    1a332478-413e-eb11-8da9-e4434bdf6706.svg k=1,2,...n  i=1,2,...m

    第二步,变量的无量纲化

    由于系统中各因素列中的数据可能因量纲不同,不便于比较或在比较时难以得到正确的结论。因此在进行灰色关联度分析时,一般都要进行数据的无量纲化处理。主要有下两种方法

    初值化处理: 1e332478-413e-eb11-8da9-e4434bdf6706.svg  k=1,2,...n  i=1,2,...m

    均值化处理: 20332478-413e-eb11-8da9-e4434bdf6706.svg  k=1,2,...n  i=1,2,...m

    第三步,计算关联系数

    932563d342c083309010522e0bbcb398.png

    其中 ρ为分辨系数,0

    第四步,计算关联度

    25332478-413e-eb11-8da9-e4434bdf6706.svg

    第五步,排序

    按照 26332478-413e-eb11-8da9-e4434bdf6706.svg 大小排序,确定那个因素更重要

    例子:应用场景

    某地区国内生产总值的统计数据(以百万元计),问该地区从2000年到2005年之间哪一种产业对GDP总量影响最大。

    c152ac6e14742704a0463c2cb5023f30.png

    第一步:参考序列和对比序列确定

            参考序列:GDP      对比序列:第一,二,三产业

    第二步: 变量的无量纲化

    选择均值化:

    a490e1bd5d2f35a7ad36b5185f196680.png

    3:计算灰色关联系数

    计算:   2a332478-413e-eb11-8da9-e4434bdf6706.svg

    17c285c1d56e159466ba137d296c61c8.png

    求最值:

    max max  = 0.031027

    min min = 0.000105

    取ρ = 0.5: 计算 2d332478-413e-eb11-8da9-e4434bdf6706.svg

    4d76a2072a0a64f673ace7eada3d1529.png

    4: 计算 26332478-413e-eb11-8da9-e4434bdf6706.svg

            32332478-413e-eb11-8da9-e4434bdf6706.svg = 0.508432  34332478-413e-eb11-8da9-e4434bdf6706.svg= 0.624296   38332478-413e-eb11-8da9-e4434bdf6706.svg=0.7573

    可以看出该地区对GDP的影响:第三产业>第二产业>第一产业:

    第二个实例:

    wine数据集:意大利同一地区生产的三种不同品种的酒,这些数据包括了三种酒中13种不同成分。分析13种成分之间联系?

    # -*- coding: utf-8 -*-# @Time : 2020/9/9 16:16# @Author : wangboyang# @Site : # @File : WinGreForest_2020_9-9.py# @Software: PyCharm# @Function : # 灰色关联结果矩阵可视化import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsfrom sklearn.datasets import  load_winewine = load_wine()data = wine.data  #数据lables = wine.target  #标签feaures = wine.feature_namesdf = pd.DataFrame(data,columns=feaures) #原始数据#第一步:无量纲化def standareData(df):    """    df : 原始数据    return : data 标准化的数据    """    data =pd.DataFrame(index=df.index)  #列名,一个新的dataframe    columns = df.columns.tolist()    # 将列名提取出来    for col in columns:        d = df[col]        max = d.max()        min = d.min()        mean = d.mean()        data[col] = ((d-mean) /(max -min)).tolist()    return data#  某一列当做参照序列,其他为对比序列def graOne(Data,m=0):    """    return:    """    columns = Data.columns.tolist()  # 将列名提取出来    #第一步:无量纲化    data = standareData(Data)    referenceSeq  = data.iloc[:,m]  #参考序列    data.drop(columns[m],axis=1,inplace=True) # 删除参考列    compareSeq = data.iloc[:,0:]  #对比序列    row,col = compareSeq.shape    #第二步:参考序列 - 对比序列    data_sub = np.zeros([row,col])    for i in range(col):        for j in range(row):            data_sub[j,i] = abs(referenceSeq[j]-compareSeq.iloc[j,i])    #找出最大值和最小值    maxVal = np.max(data_sub)    minVal = np.min(data_sub)    cisi = np.zeros([row,col])    for i  in range(row):        for j in range(col):            cisi[i,j] = (minVal+0.5*maxVal) /(data_sub[i,j]+0.5*maxVal)    #第三步:计算关联度    result = [np.mean(cisi[:,i]) for i in range(col)]    result.insert(m,1) #参照列为1    return pd.DataFrame(result)def GRA(Data):    df = Data.copy()    columns = [str(s) for s in df.columns if s not in [None]] #[1 2 ,,,12]    #print(columns)    df_local = pd.DataFrame(columns=columns)    df.columns =columns    for i in range(len(df.columns)): #每一列都做参照序列,求关联系数        df_local.iloc[:,i] = graOne(df,m=i)[0]    df_local.index = columns    return df_local #热力图展示def ShowGRAHeatMap(DataFrame):    colormap = plt.cm.hsv    ylabels = DataFrame.columns.values.tolist()    f, ax = plt.subplots(figsize=(15, 15))    ax.set_title('Wine GRA')    # 设置展示一半,如果不需要注释掉mask即可    mask = np.zeros_like(DataFrame)    mask[np.triu_indices_from(mask)] = True # np.triu_indices 上三角矩阵        with sns.axes_style("white"):        sns.heatmap(DataFrame,                    cmap="YlGnBu",                    annot=True,                    mask=mask,                    )    plt.show()data_wine_gra = GRA(df)ShowGRAHeatMap(data_wine_gra)

    0988bc45ae7c5125de1e87e44c702baa.png

    2:灰色预测

    四种常见类型:

    灰色时间序列预测

    畸变预测

    系统预测

    拓扑预测

    灰色生成数列:

    为了挖掘数据中蕴含的内在规律,灰色系统通过对原始数据的整理来寻求其变化规律。即为灰色序列的生成,一切灰色序列都能某种生成弱化其随机性,显现其规律性。数据生成的常用方式有累加生成,累减生成,加权累加生成等。灰色预测是以灰色模型为基础的,其中所建立的微分方程模型有很多种比如说GM(2,1)GM(1,1)等

    GM(1,1)

    原始数据列:

    3d332478-413e-eb11-8da9-e4434bdf6706.svg  n个数据个数
    模型构建前检验:
    3e332478-413e-eb11-8da9-e4434bdf6706.svg
    当   3f332478-413e-eb11-8da9-e4434bdf6706.svg 时,可以GM(1,1)建模

    数据预处理

    原始数据累加以便弱化随机序列的波动性和随机性。

    令:

    42332478-413e-eb11-8da9-e4434bdf6706.svg

    得到新数据序列:

    43332478-413e-eb11-8da9-e4434bdf6706.svg

    建立微分方:

    46332478-413e-eb11-8da9-e4434bdf6706.svg

    其中a称为发展系数,b 灰色作用量,为待定系数

    记: 

    47332478-413e-eb11-8da9-e4434bdf6706.svg,所以确定 a,b,就可以求出48332478-413e-eb11-8da9-e4434bdf6706.svg,从而求出4b332478-413e-eb11-8da9-e4434bdf6706.svg

    确定参数:

    c6554b1fe26e03765d2fb006f26cf15f.png

    4e332478-413e-eb11-8da9-e4434bdf6706.svg

    最小二乘法求解参数:

    c41c987ae13a5fc54835efc3e35b5975.png

    将灰参数带入    46332478-413e-eb11-8da9-e4434bdf6706.svg  推出:

    12a884503060affed09760dd5b27b71d.png

    于是得到预测值:

    cab7212210517e7f269c4dfcd1290cf6.png

    从而相应得到预测值:

    8cf6a17369805aed4861c0395c6afa94.png

    模型检验:

    残差检验:计算相对残差

    6fd5c99c5a96f5de1f0aa1438d5435e8.png

    求级比:

    78726502086004e88cd951c95f04a0a7.png

    级比偏差值检验:

    4b1c9a7b4e61a318cbb754de03451b0b.png

    例子: 某地区国内生产总值的统计数据(以百万元计),问该地区从2000年到2005年之间哪一种产业对GDP总量影响最大。 预测5年后GDP的变化趋势!

    c152ac6e14742704a0463c2cb5023f30.png

    clear ;syms a b ;c = [a b]' ;%原始数据GDP = [1988 2061 2335 2750 3356 3806]; X1 = cumsum(GDP) ;%  原始数据累加n = length(GDP) ;for i=1:(n-1)    B_t(i) = (X1(i)+X1(i+1)) /2 ; %平均end%计算待定参数 a,bA = GDP ;A(1) = [] ;% 注意从2开始A = A'    ; %列向量B=[-B_t ;ones(1,n-1)] ; %构造矩阵u = inv(B*B')*B*A ;  %求解参数u = u' ;a = u(1) ;b = u(2) ;%根据a,b 预测5年以后GDP趋势F = [] ;  F(1) = GDP(1) ;for i=2:(n+5)    F(i) = (GDP(1)-b/a)/exp(a*(i-1)) + b/a ;end F0 = [] ;F0(1) = GDP(1) ;for i=2:(n+5)    F0(i) =F(i) -F(i-1);endt1=2000:2005;t2=2000:2005+5;plot(t1,GDP,'o',t2,F0)  %原始数据与预测数据的比较legend('原始数据','预测数据','Location','NorthWest');xlabel('年份')ylabel('利润')

    4a8c8db776b5ac0256a2720c7d64e0c2.png

    Reference:

    [1]:https://www.zhihu.com/searchtype=content&q=%E7%81%B0%E8%89%B2%E9%A2%84%E6%B5%8B

    [2]: https://blog.csdn.net/FontThrone/article/details/80607794

    展开全文
  • 数学建模资料共享,全国研究生数学建模竞赛辅导资料文档
  • 对两个系统或两个因素之间关联性...灰色系统理论的关联度分析与数理统计学的相关分析是不同的,两者的区别在于第一,它们的理论基础不同。关联度分析基于灰色系统的灰色过程,而相关分析则基于概率论的随机过程;第...

    e1172c0edfb73e9e9058946fcd37e8b1.png

     对两个系统或两个因素之间关联性大小的量度,称为关联度。它描述系统发展过程中因素间相对变化的情况,也就是变化大小、方向及速度等指标的相对性。如果两者在系统发展过程中相对变化基本一致,则认为两者关联度大;反之,两者关联度就小。灰色系统理论的关联度分析与数理统计学的相关分析是不同的,两者的区别在于第一,它们的理论基础不同。关联度分析基于灰色系统的灰色过程,而相关分析则基于概率论的随机过程;第二,分析方法不同。关联分析是进行因素间时间序列的比较,而相关分析是因素间数组的比较;第三,数据量要求不同。关联分析不要求数据太多,而相关分析则需有足够的数据量;第四,研究重点不同。关联度分析主要研究动态过程,而相关分析则以静态研究为主。因此,关联度分析适应性更广,在用于社会经济系统中的应用更有其独到之处。 

    一般的抽象系统,如社会系统,经济系统,农业系统,生态系统等都包含有许多种因素,多种因素共同作用的结果决定了该系统的发展态势。我们常常希望知道众多的因素中,哪些是主要因素,哪些是次要因素,哪些因素对系统发展影响大,哪些因素对系统发展影响小,哪些因素对系统发展起推动作用需加强,哪些因素对系统发展起阻碍作用需抑制……

    数理统计中的回归分析,方差分析,主成分分析等都是用来进行系统特征分析的方法。但数理统计中的分析方法往往需要大量数据样本,且服从某个典型分布。灰色关联分析方法弥补了采用数理统计方法作系统分析所导致的缺憾.它对样本量的多少和样本有无规律都同样适用,而且计算量小,十分方便,更不会出现量化结果与定性分析结果不符的情况。

    灰色关联分析的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线越接近,相应序列之间关联度就越大,反之就越小。例如某地区农业总产值,种植业总产值,畜牧业总产值和林业总产值,从1997-2002年共6年的统计数据如下:

    4fd6eee97a21ca353fd9c91c11946606.png

    df96104a68186bf5431305909504b889.png

    从直观上看,与农业总产值曲线最相似的是种植业总产值曲线,而畜牧业总产值曲线和林果业总产值去与农业总产值曲线在几何形状上差别较大。因此我们可以说该地区的农业仍然是以种植业为主的农业,畜牧业和林果业还不够发达。

    3.1灰色关联因素和关联算子集

    进行系统分析,选准系统行为特征的映射量后,还需进一步明确影响系统行为的有效因素。如要作量化研究分析,则需要对系统行为特征映射量和各有效因素进行处理,通过算子作用,使之化为数量级大体相近的无量纲数据,并将负相关因素转化为正相关因素。

    b0b60f12286530df6b7c2ebd01e33d34.png

    c1add33c20c51cca226efba4ae40c8f8.png

    85dad7635259a3d90ff8fbab2e5afce4.png

    3035d24185bc3ee5a8e9dbc930250cd2.png

    fda5350d9bc1b1d7b1113365f41ad8be.png

    3.2灰色关联公理与灰色关联度

    灰色系统理论提出了一种新的分析方法—关联度分析方法,即根据因素之间发展态势的相似或相异程度来衡量因素间关联的程度,它揭示了事物动态关联的特征与程度。由于以发展态势为立足点,因此对样本量的多少没有过分的要求,也不需要典型的分布规律,计算量少到甚至可用手算,且不致出现关联度的量化结果与定性分析不一致的情况。这种方法已应用到农业经济、水利、宏观经济等各方面,都取得了较好的效果。

    灰色系统理论建模的主要任务是根据具体灰色系统的行为特征数据,充分开发并利用不多的数据中的显信息和隐信息,寻找因素间或因素本身的数学关系。通常的办法是采用离散模型,建立一个按时间作逐段分析的模型。但是,离散模型只能对客观系统的发展做短期分析,适应不了从现在起做较长远的分析、规划、决策的要求。尽管连续系统的离散近似模型对许多工程应用来讲是有用的,但在某些研究领域中,人们却常常希望使用微分方程模型。事实上,微分方程的系统描述了我们所希望辨识的系统内部的物理或化学过程的本质。

    大千世界里的客观事物往往现象复杂,因素繁多。我们往往需要对系统进行因素分析,这些因素中哪些对系统来讲是主要的,哪些是次要的,哪些需要发展,哪些需要抑制,哪些是潜在的,哪些是明显的。一般来讲,这些都是我们极为关心的问题。事实上,因素间关联性如何、关联程度如何量化等问题是系统分析的关键和起点。

    对于两系统之间的因素,其随时间或不同对象而变化的关联性的大小的量度,称为关联度。在系统发展过程中,若两个因素变化的趋势具有一致性,即变化程度较高,即可谓二者的关联度较高;反之,则较低。因此,灰色关联度分析方法,是根据因素之间发展趋势的相似或相异程度,即“灰色关联度”作为衡量因素之间关联程度的一种方法。灰色系统理论提出了对各子系统进行灰色关联度分析的概念,意图透过一定方法,去寻求系统各子系统(或因素)之间数值的关系。因此,灰色关联度分析对于一个系统的发展变化态势提供了量化的度量,非常适合动态历程分析。

    关联分析实际上是动态过程发展态势的量化比较分析。

    所谓发展态势比较,也就是系统各时期有关统计数据的几何关系的比较。

    例如,某地区19771983 年总收入与养猪、养兔收入资料见表1

    6edf7cd9c8783dc5b7c0b1a1168b53f1.png

    bd62f8c467761a57014deb3b2a794597.png

    8891153fa71a5fd389d4d5b5c8bb7133.png

    12543478cac9661fb722cd110e6f1fb9.png

    0ac98b47e8867a2ffa32a91c77723624.png

    a38a8cb119339dfb16846d10f3d253f0.png

    40765b25c845d1408b375bf88014bb97.png

    327cb0956fc68995e77a3b3fafd7f485.png

    d0fe8202ed0476c31dfd05acf82a64fb.png

    2abe434f3384264effafc7e029f0b15c.png

    由于系统中各因素的量纲(或单位)不一定相同,如劳动力为人,产值为万元,产量为吨等,且有时数值的数量级相差悬殊,如人均收入为几百元,粮食每公顷产量为几千公斤,费用为几十万元,有些产业产值达百亿元,有些产业才几万元,等等,这样的数据很难直接进行比较,且它们的几何曲线比例也不同。因此,对原始数据需要消除量纲(或单位),转换为可比较的数据序列。目前,原始数据的变换有以下几种常用方法:

          a)均值化变换先分别求出各个序列的平均值,再用平均值去除对应序列中的各个原始数据,所得到新的数据列,即为均值化序列。其特点是量纲为一,其值大于0,并且大部分近于1,数列曲线互相相交。

          b)初值化变换分别用同一序列的第一个数据去除后面的各个原始数据,得到新的倍数数列,即为初值化数列。量纲为一,各值均大于0,且数列有共同的起点。

          c)标准化变换。先分别求出各个序列的平均值和标准差,然后将各个原始数据减去平均值后再除以标准差,这样得到的新数据序列即为标准化序列。量纲为一,其均值为0,方差为1

        一般情况下,对于较稳定的社会经济系统数列作动态序列的关联度分析时,多采用初值化变换,因为这样的数列多数是增长的趋势。若对原始数列只作数值间的关联比较,可用均值化变换,譬如进行产业结构变化的关联分析,自然因素周期性变化的关联分析等。

    0be1dc1722767c52b8e0a19ca04b3c0d.png

    cecf7a4ca59838cb908688acb8354f38.png

    fa37e031c438e2ea39784f9cfced6d34.png

    ca936c4c4614d914fc58a5006070b8bc.png

    d00f952d2c70ec57002a14ec4141f3ce.png

    76fb0767118a72f81c9ca539512402cc.png

    5ce400bb31b0e5b9e0702b0852828671.png

    76e04f08b01cf11df60168f9de5f131d.png

    87d3fc18e16fd6f4c6004ccf6f756783.png

    0d17e4090042dad59e79daa7ed55ed3e.png

    53db98c41ff97bc9e32eadf3f7de8e5b.png

    de19e297e4ccd177854f559ab6a087eb.png

    a45fbe54a09cd5c0f903d508c77110d6.png

    0efe54ad9ddf643d0baf7cc07ef165bc.png

    05e56244f67b90b895e7979416bce29a.png

    11463b7a6964496ac86082a4e8b55846.png

    00744a46aed23a2163e52bbb36ebd96c.png

    94c26eff1ee53989f4ff31b4ca92b39d.png

    cda38292745687ada19212bb15e94531.png

    ac70fe892d2d7d3c8dc0798d59b8f8b2.png

    5e30eb668ea4f2461c51590323d3c134.png

    549d6ed398f87104f7846fc27be7e9fc.png

    b7a9b7c50c412581f2a8732d0c071d90.png

    40d9c05807e1a3c2e06d8d01576c2628.png

    e4e69b1564c33379671b50c2fa1929fe.png

    74667fe482287c80e56993926842d741.png

    da9ab4f3c78fc901bb8b507ba61125df.png

    0bc4df6f97d4fd3252e3c7804e92faf1.png

    3bb8371206efc2b5d6f3c315e3b1a8d7.png

    059d0cddb9b4cfb95521728b0d57f1f8.gif

    展开全文
  • 关联分析作者:PureFFFmennory...“事实上,因素间关联性如何、关联程度如何量化等问题是系统分析的关键和起点。”2. 适用条件参考数列(母因素)仅有1个(如研究运动员各项训练对某1个运动的总成绩的影响,这里的...

    143f5df723f70c2e1ab69b928f796cb8.png

    关联分析

    作者:PureFFFmennory

    联系方式:ProdigyYanng@gmail.com

    1. 目的

    现实客观事物的每个现象非常复杂,影响因素繁多。对某一个系统而言,需要对该系统进行因素分析,哪些是主要因素,哪些是次要因素

    “事实上,因素间关联性如何、关联程度如何量化等问题是系统分析的关键和起点。”

    2. 适用条件

    1. 参考数列(母因素)仅有1个(如研究运动员各项训练对某1个运动的总成绩的影响,这里的1,可以表示每年的成绩所形成的数列,但只可以有一个)。
    2. 对于多母因素的情况见优势分析。
    3. 被比较的因素(子因素)可以有多个。

    3. 分析步骤

    Step0、定义:参考数列

    (母因素);比较数列
    (子因素)

    Step1、 对数据初始化,消除不同量纲对分析的影响,对初始化后的数据选择Step0中的参考数列与比较数列。(数据变换技术)。

    Step2、 计算比较数列

    对参考数列
    关联系数,公式为:

    其中,

    为分辨系数。称(1)式中
    分别为两级最小差于两级最大差。一般$rho$越大,分辨率越大。

    Step3、 计算每个关联系数数列的关联度

    Step4、 画出关联度表,越接近于1说明子因素对母因素的影响越大。

    4. 例子

    来源——司守奎建模——第二十五章 灰色系统理论

    通过对某健将级女子铅球运动员的跟踪调查,获得其1982 年至1986 年每年 最好成绩及16 项专项素质和身体素质的时间序列资料,见下表,试对此铅球运动员的 专项成绩进行因素分析。

    c013e4d06afbde2cf0caef7c49460c68.png
    某健将级女子铅球运动员各项成绩表

    在利用(1)式及(2)式计算关联度之前,我们需对表2中的各个数列做初始化处理。一般来讲,实际问题中的不同数列往往具有不同的量纲,而我们在计算关联系数时,要求量纲要相同。因此,需首先对各种数据进行无量纲化。另外,为了易于比较,要求所有数列有公共的交点。为了解决上述两个问题,我们对给定数列进行变换

    54a5de02de7b2bed21a5ffb05d997843.png
    初始化变换公式

    这样,我们可对表 2中的17 个数列进行初始化处理。注意,对于前15 个数列,随着时间的增加,数值的增加意味着运动水平的进步,而对后2 个数列来讲,随着时间的增加,数值(秒数)的减少却意味着运动水平的进步。因此,在对数列

    进行初始化处理时,采取以下公式

    ef5b5390e65403c2b2c332497ce23b8b.png
    公式

    依照问题的要求,我们自然选取铅球运动员专项成绩作为参考数列,将表中的各个数列的初始化数列代入(1)及(2)式,易算出各数列的关联度如下表(这里

    )。

    ac130d89589f1574e96a81d5fbaf02bb.png
    最后的关联度表

    由表易看出,影响铅球专项成绩的前八项主要因素依次为全蹲、3kg 滑步、高翻、4kg 原地、挺举、立定跳远、30 米起跑、100 米成绩。因此,在训练中应着重考虑安排这八项指标的练习。这样可减少训练的盲目性,提高训练效果。

    应该指出的是,公式(1)中的

    不能区别因素关联是正关联还是负关联,可采取下述办法解决这个问题。记

    13348e993b5f8e98f32b46716068a0b2.png

    则:

    b6ed3923f23bb1227b735252ca6b51d5.png

    5. 例题Matlab代码

    clc,clear
    load x.txt  % 把原始数据存放在纯文本文件x.txt 中,其中把数据的"替换替换成.
    for i = 1 : 15
        x(i,:) = x(i,:) / x(i,1);   % 标准化数据
    end
    for i = 16 : 17
        x(i,:) = x(i,1) ./ x(i,:);
    end
    data = x;
    n = size(data, 2);  % 求矩阵的列数,即观测时刻的个数
    ck = data(1,:); % 提出参考数列
    bj = data(2:end,:); % 提出比较数列
    m2 = size(bj,1);    % 求比较数列的个数
    for j = 1 : m2
        t(j,:) = bj(j,:) - ck;
    end
    mn = min(min(abs(t'))); % 求最小差
    mx = max(max(abs(t'))); % 求最大差
    rho = 0.5;  % 分辨系数设置
    ksi = (mn + rho*mx) ./ (abs(t) + rho*mx);   % 求关联系数
    r = sum(ksi') / n   % 求关联度
    [rs,rind] = sort(r,'descend')   % 对关联度进行排序

    6. 参考引用

    1). 数学建模算法与程序_司守奎

    展开全文
  • 1.关联分析关联分析主要作用为对系统的因素进行分析,其主要作用为分辨因素中哪些因素对系统的影响是显著的,哪些影响是次要的。通常而言因素分析的主要方式为回归分析等,但其存在数据量要求大,计算量大等诸多问题...

    1.关联分析

    关联分析主要作用为对系统的因素进行分析,其主要作用为分辨因素中哪些因素对系统的影响是显著的,哪些影响是次要的。通常而言因素分析的主要方式为回归分析等,但其存在数据量要求大,计算量大等诸多问题,为克服以上问题,可采用关联分析进行系统分析。

    数据变换方法

    在进行系统分析之前,应对原始数据进行数据变换处理,以消除量纲。

    数据变换的定义:

    设有序列

    x = ( x ( 1 ) , x ( 2 ) , ⋯   , x ( n ) ) x=(x(1), x(2), \cdots, x(n))x=(x(1),x(2),⋯,x(n))

    则称映射:

    f : x → y f: x \rightarrow yf:x→y

    f ( x ( k ) ) = y ( k ) , k = 1 , 2 , ⋯   , n f(x(k))=y(k), \quad k=1,2, \cdots, nf(x(k))=y(k),k=1,2,⋯,n

    为序列x xx到序列y yy的数据变换。

    常见的数据变换方法有:

    (1)初始化变换:

    f ( x ( k ) ) = x ( k ) x ( 1 ) = y ( k ) , x ( 1 ) ≠ 0 f(x(k))=\frac{x(k)}{x(1)}=y(k), \quad x(1) \neq 0f(x(k))=x(1)x(k)​=y(k),x(1)​=0

    (2)均值化变换:

    f ( x ( k ) ) = x ( k ) x ˉ = y ( k ) , x ˉ = 1 n ∑ k = 1 n x ( k ) f(x(k))=\frac{x(k)}{\bar{x}}=y(k), \quad \bar{x}=\frac{1}{n} \sum_{k=1}^{n} x(k)f(x(k))=xˉx(k)​=y(k),xˉ=n1​∑k=1n​x(k)

    (3)归一化变换:

    f ( x ( k ) ) = x ( k ) x 0 = y ( k ) f(x(k))=\frac{x(k)}{x_{0}}=y(k)f(x(k))=x0​x(k)​=y(k) 等。

    关联分析

    选取参考数列,一般为时间序列:

    x 0 = { x 0 ( k ) ∣ k = 1 , 2 , ⋯   , n } = ( x 0 ( 1 ) , x 0 ( 2 ) , ⋯   , x 0 ( n ) ) x_{0}=\left\{x_{0}(k) \mid k=1,2, \cdots, n\right\}=\left(x_{0}(1), x_{0}(2), \cdots, x_{0}(n)\right)x0​={x0​(k)∣k=1,2,⋯,n}=(x0​(1),x0​(2),⋯,x0​(n))

    设有m mm个比较数列:

    x i = { x i ( k ) ∣ k = 1 , 2 , ⋯   , n } = ( x i ( 1 ) , x i ( 2 ) , ⋯   , x i ( n ) ) , i = 1 , 2 , ⋯   , m x_{i}=\left\{x_{i}(k) \mid k=1,2, \cdots, n\right\}=\left(x_{i}(1), x_{i}(2), \cdots, x_{i}(n)\right), \quad i=1,2, \cdots, mxi​={xi​(k)∣k=1,2,⋯,n}=(xi​(1),xi​(2),⋯,xi​(n)),i=1,2,⋯,m

    则比较数列x i x_{i}xi​对参考数列x 0 x_{0}x0​在k kk时刻的关联系数为:

    ξ i ( k ) = min ⁡ s min ⁡ t ∣ x 0 ( t ) − x s ( t ) ∣ + ρ max ⁡ s max ⁡ t ∣ x 0 ( t ) − x s ( t ) ∣ ∣ x 0 ( k ) − x i ( k ) ∣ + ρ max ⁡ s max ⁡ t ∣ x 0 ( t ) − x s ( t ) ∣ \xi_{i}(k)=\frac{\min _{s} \min _{t}\left|x_{0}(t)-x_{s}(t)\right|+\rho \max _{s} \max _{t}\left|x_{0}(t)-x_{s}(t)\right|}{\left|x_{0}(k)-x_{i}(k)\right|+\rho \max _{s} \max _{t}\left|x_{0}(t)-x_{s}(t)\right|}ξi​(k)=∣x0​(k)−xi​(k)∣+ρmaxs​maxt​∣x0​(t)−xs​(t)∣mins​mint​∣x0​(t)−xs​(t)∣+ρmaxs​maxt​∣x0​(t)−xs​(t)∣​

    其中,ρ \rhoρ为分辨系数,max ⁡ s max ⁡ t ∣ x 0 ( t ) − x s ( t ) ∣ \max _{s} \max _{t} \mid x_{0}(t)-x_{s}(t)\midmaxs​maxt​∣x0​(t)−xs​(t)∣与min ⁡ s min ⁡ t ∣ x 0 ( t ) − x s ( t ) ∣ \min _{s} \min _{t} \mid x_{0}(t)-x_{s}(t)\midmins​mint​∣x0​(t)−xs​(t)∣分别为两数列之间的两级最小差与两级最大差。

    由于通过上述公式每个数列的每个时刻都能求出一个关联数,为防止信息过于分散,定义比较数列x i x_{i}xi​对参考数列x 0 x_{0}x0​的关联度r i r_{i}ri​:

    r i = 1 n ∑ k = 1 n ξ i ( k ) r_{i}=\frac{1}{n} \sum_{k=1}^{n} \xi_{i}(k)ri​=n1​∑k=1n​ξi​(k)

    2.实例

    通过对某健将级女子铅球运动员的跟踪调查,获得其1982-1986年每年最好成绩以及16项专项素质和身体素质的时间序列资料,试对此铅球运动员的专项成绩进行因素分析。

    38385daffefee8c944ed70d4b795567b.png

    首先对原始数据进行初始化处理:

    y = ( 1 , x ( 2 ) x ( 1 ) , ⋯   , x ( n ) x ( 1 ) ) y=\left(1, \frac{x(2)}{x(1)}, \cdots, \frac{x(n)}{x(1)}\right)y=(1,x(1)x(2)​,⋯,x(1)x(n)​)

    同时注意到最后两个数列为跑步时间,数值减少时意味着运动员水平的进步,因此应采取公式:

    y i = ( 1 , x i ( 1 ) x i ( 2 ) , x i ( 1 ) x i ( 3 ) , x i ( 1 ) x i ( 4 ) , x i ( 1 ) x i ( 5 ) ) , i = 15 , 16 y_{i}=\left(1, \frac{x_{i}(1)}{x_{i}(2)}, \frac{x_{i}(1)}{x_{i}(3)}, \frac{x_{i}(1)}{x_{i}(4)}, \frac{x_{i}(1)}{x_{i}(5)}\right), i=15,16yi​=(1,xi​(2)xi​(1)​,xi​(3)xi​(1)​,xi​(4)xi​(1)​,xi​(5)xi​(1)​),i=15,16

    取分辨系数ρ = 0.5 \rho=0.5ρ=0.5,计算各数列关联度Matlab程序如下:

    clc,clear

    load x.txt %把原始数据存放在纯文本文件 x.txt 中

    for i=1:15

    x(i,:)=x(i,:)/x(i,1); %标准化数据

    end

    for i=16:17

    x(i,:)=x(i,1)./x(i,:); %标准化数据

    end

    data=x;

    n=size(data,2); %求矩阵的列数,即观测时刻的个数

    ck=data(1,:); %提出参考数列

    bj=data(2:end,:); %提出比较数列

    m2=size(bj,1); %求比较数列的个数

    for j=1:m2

    t(j,:)=bj(j,:)-ck;

    end

    mn=min(min(abs(t'))); %求小差

    mx=max(max(abs(t'))); %求大差

    rho=0.5; %分辨系数设置

    ksi=(mn+rho*mx)./(abs(t)+rho*mx); %求关联系数

    r=sum(ksi')/n %求关联度

    [rs,rind]=sort(r,'descend') %对关联度进行排序

    利用python解决:

    import numpy as np

    #进行关联度分析

    data = open('athlete score.txt').readlines()

    #数据初始化处理

    for lines in range(15):

    data[lines] = list(eval(data[lines]))

    for i in range(1,len(data[lines])+1):

    data[lines][-i] = data[lines][-i] / data[lines][0]

    for lines in range(1,3):

    data[-lines] = data[-lines].replace(",,",'.')

    data[-lines] = list(eval(data[-lines]))

    for i in range(1,len(data[-lines])+1):

    data[-lines][-i] = data[-lines][0] / data[-lines][-i]

    #提出参考数列、比较数列

    x0 = np.array(data[0])

    xi = np.array(data[1:])

    t = xi - x0

    #求两级最大差、两极最小差

    maxi,mini = np.max(np.abs(t)),np.min(np.abs(t))

    rho = 0.5

    #求关联系数、关联度

    kesi = ((mini + rho*maxi) / (np.abs(t) + rho*maxi)) / np.size(x0)

    ri = kesi.sum(axis=1)

    print(ri)

    程序运行结果如下:

    df51c956092ddd2a48e3f2750fa829dc.png

    对比Matlab结果:

    d3149415aea39ea43ae4d98efd6a238e.png

    参考文献

    司守奎, 徐珂文, 李日华. 数学建模算法与程序[J]. 海军航空工程学院, 2007, 9: 95-98.

    展开全文
  • 数学建模之灰色关联分析

    千次阅读 2020-03-09 17:30:51
    什么是灰色关联分析 对于两个系统之间的因素,其随时间或不同对象而变化的关联性...因此,灰色关联分析方法,是根据因素之间发展趋势的相似或相异程度,亦即“灰色关联度”,作为衡量因素间关联程度的一种方法。 ...
  • 曲线越接近,相应序列之间的关联度就越大,反之则越小。 灰色关联分析怎么用 应用1 进行系统分析 第一步:画统计图 根据统计图可得以下结论: 四个变量均呈上升趋势 第二产业的增幅较为明显 第二产业和第三产业的...
  • 概述 进行系统分析和综合评价。 根据图形相似程度进行...步骤五:计算灰色关联度 步骤六:看谁关联度最大 讨论: 灰色关联分析用于综合评价 AHP用于没有数据 TOPSIS用于有数据 灰色关联分析用于有数据 TOP
  • 数学建模学习笔记:灰色关联分析

    千次阅读 2020-04-22 21:28:01
    清风老师的数学建模课程可以在B站搜索到。 本文给出了excel和matlab两种计算灰色关联度的过程详解。 灰色关联分析概述 系统分析:一般的抽象系统包含很多影响因素,多种因素的共同作用结果决定了该系统的发展态势...
  • 具体采用建设运行成果与效率比来构建科学的指标体系,结合主客观评价方法,并依照指标权重度和特性偏好进行数学建模与仿真计算。然后根据建设方案整体的合理度分析结果,对模型进行二次修改。采用Matlab软件对所提出...
  • 求出每列平均值就是灰色关联度6.通过比较三个子序列和母序列的关联度可以得到结论三.讨论四.用于综合评价问题1.题目2.过程3.图像4.代码 一.概述 二.应用一:进行系统分析 1.画出统计图 分析: 2.确定分析数列 ...
  • 灰色关联分析的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线越接近,相应序列之间的关联度就越大,反之就越小。
  •   灰色关联分析的基本思想 是根据序列曲线几何形状的相似程度来判断其联系是否紧密,曲线越接近,相应序列之间的关联度就越大,反之则越小。   此方法可用于 进行系统分析,也可应用于对问题 进行综合评价。 ...
  • 1:灰色关联度分析 GRA(Grey Relation Analysis ) 灰色预测的概念: 白色系统是指一个系统的内部特征是完全已知的 黑色系统是指一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系加以研究 灰色...
  • 但考虑到回归分析需要大量数据,计算量大级及可能出现反常情况等缺陷,因此本文选择关联度分析的办法,来分析葡萄理化指标与葡萄酒理化指标关联程度,进而分析其间的联系。 同时,由于需要用较多的葡萄理化指标与...
  • 数学建模四大模型总结

    万次阅读 多人点赞 2019-06-13 15:31:53
    数学建模四大模型总结 文章目录数学建模四大模型...人工神经网络2、分类模型2.1 判别分析2.2 聚类分析2.3 神经网络分类方法3、评价模型3.1 层次分析法(AHP)3.2 灰色综合评价法(灰色关联度分析)3.3 模糊综合评价法3...
  • 数学建模的影响因素分析方法

    千次阅读 2020-05-11 16:07:37
    数学建模的影响因素分析方法PCA主成分分析灰色关联分析AHP层次分析小结         如果赶时间可直接看小结部分,再返回看正文         作为萌新参加了数学建模,为解决影响...
  • 数学建模

    2020-12-02 16:03:35
    3、评价模型3.1 层次分析法(AHP)3.2 灰色综合评价法(灰色关联度分析)3.3 模糊综合评价法3.4 BP神经网络综合评价法3.5 数据包络法(DEA)3.6 组合评价法 4、预测模型4.1 回归分析法4.2 时间序列分析法4.3
  • 2. 灰色关联度分析 背景: 通过对某健将级女子铅球运动员的跟踪调查,获得其 1982 年至 1986 年每年最好成绩及 16 项专项素质和身体素质的时间序列资料,见下表 ,试对此铅球运动员的专项成绩进行因素分析。 数据...
  • 文章目录数学建模集训知识大纲评价算法简单加权法逼近于理想解的排序法(TOPSIS算法)层次分析法主成分分析法模糊综合评价法聚类分析法秩和比法人工神经网络熵权法灰色关联度分析预测算法插值拟合回归模型预测灰色预测...
  • 数学建模算法

    2019-08-29 18:03:28
    文章目录云模型描述使用logistic模型描述使用主成分分析法描述使用K均值描述作用贝叶斯判别法描述作用灰色预测灰色关联度描述作用经典灰色算法描述作用遗传算法描述作用 云模型 描述 一个变量,根据较少数据,算出...
  • 数学建模综合评价方法

    千次阅读 2020-10-07 21:37:18
    数学建模学习 综合评价总结1 总结分析: 1.层次分析法(AHP) (不做讨论) 2.Topsis方法(处理多方案打分的问题) (优点:数据多与少都可以分析,在系统数据资料较少和条件不满足统计要求的情况下,更具有实用性。...
  • 因此,灰色关联分析方法,是根据因素之间发展趋势的相似或相异程度,亦即“灰色关联度”,作为衡量因素间关联程度的一种方法。 实现步骤 数列无量纲化处理 由于原始数据指标的量纲不同,因此对其进行统一的无量纲...
  • 模糊聚类分析(模糊数学,模糊矩阵,k截矩阵) K-means聚类分析 系统聚类分析 综合评价: 灰色关联(贴近) 因子分析综合评价(主成分分析反过来,找隐藏的综合评价因子) TOPSIS评价(正贴近,负贴近) ...
  • 本文属于前面文章《数学建模竞赛学习笔记:灰色关联分析原理及excel、matlab实现》的延续,增加了权重部分。灰色关联分析思维导图:灰色加权关联度(增加了权重)灰色关联分析原理灰色关联分析方法是基于灰色系统理论...
  • 基于python的numpy和pandas库的灰色关联分析及可视化(含实例)基于python的numpy和pandas库的灰色关联分析及可视化(含实例)在这里总结一下的数学建模常用的几种模型评估方法,这里讲的是使用python的Pandas库和高效的...
  • 灰色关联分析——供应商选择

    千次阅读 2020-04-22 21:50:39
    本笔记根据清风老师的课程以及《数学建模算法与应用》整理学习得到,如有侵权,请联系删除。 灰色关联分析思维导图: 灰色加权关联度(增加了权重) 灰色关联分析原理 灰色关联分析方法是基于灰色系统理论...
  • 使用python实现灰色关联分析及其可视化...灰色系统理论提出了对各子系统进行灰色关联度分析的概念,意图透过一定的方法,去寻求系统中各子系统(或因素)之间的数值关系。因此,灰色关联度分析对于一个系统发展变化态势
  • 数学建模集训知识大纲文章目录数学建模集训知识大纲评价算法简单加权法逼近于理想解的排序法(TOPSIS算法)层次分析法主成分分析法模糊综合评价法聚类分析法秩和比法人工神经网络熵权法灰色关联度分析预测算法插值拟合...

空空如也

空空如也

1 2 3
收藏数 52
精华内容 20
关键字:

关联度分析数学建模