精华内容
下载资源
问答
  • 灰色分析法
    千次阅读
    2021-07-18 10:02:23

    综合评价与决策方法04——灰色关联分析法

    顶!!!


    肝!!!


    前言

    评价方法大体上可分为两类,其主要区别在确定权重的方法上。一类是主观赋权法,多数采取综合咨询评分确定权重,如综合指数法、模糊综合评判法、层次分析法、功效系数法等。另一类是客观赋权,根据各指标间相关关系或各指标值变异程度来确定权数,如主成分分析法、因子分析法、理想解法(也称TOPSIS法)等。 目前国内外综合评价方法有数十种之多,其中主要使用的评价方法有主成分分析法、因子分析、TOPSIS、秩和比法、灰色关联法、熵权法、层次分析法、模糊评价法、物元分析法、聚类分析法、价值工程法、神经网络法等。

    一、灰色关联分析法

    灰色关联度分析具体步骤如下:

    (1)确定比较数列和参考数列

    设评价对象有 m m m个,评价指标变量有 n n n个,每个指标变量 x j ( j = 1 , 2 , ⋯   , n ) x_j(j=1,2,\cdots,n) xj(j=1,2,,n)都是效益型指标变量。比较数列为
    a i = a i ( j ) ∣ j = 1 , 2 , ⋯   , n a_i={a_i(j)|j=1,2,\cdots,n} ai=ai(j)j=1,2,,n i = 1 , 2 , ⋯   , m i=1,2,\cdots,m i=1,2,,m
    这里 a i ( j ) a_i(j) ai(j)是第i个评价对象关于第 j j j个指标变量 x j x_j xj的取值。
    参考数列为 a 0 = a 0 ( j ) ∣ j = 1 , 2 , ⋯   , n a_0={a_0(j)|j=1,2,\cdots,n} a0=a0(j)j=1,2,,n,一般取 a 0 ( j ) = max ⁡ 1 ≤ i ≤ m a i ( j ) a_0(j)=\max {1\le i\le m}{a_i(j)} a0(j)=max1imai(j),即参考数列相当于一个虚拟的最好评价对象的各指标值。

    (2)确定各指标对应的权重
    可用层次分析法等确定各指标对应的权重 w = [ w 1 , ⋯   , w n ] \mathbf{w}=[w_1,\cdots,w_n] w=[w1,,wn],其中 , j = 1 , 2 , ⋯   , n j=1,2,\cdots,n j=1,2,,n为第 j j j个评价指标对应的权重。

    (3)计算灰色关联系数
    ξ i ( j ) = m i n 1 ≤ s ≤ m m i n 1 ≤ t ≤ n ∣ a 0 ( t ) − a s ( t ) ∣ + ρ m a x 1 ≤ s ≤ m m a x 1 ≤ t ≤ n ∣ a 0 ( t ) − a s ( t ) ∣ ∣ a 0 ( j ) − a i ( j ) ∣ + ρ m a x 1 ≤ s ≤ m m a x 1 ≤ t ≤ n ∣ a 0 ( t ) − a s ( t ) ∣ , \xi_i(j)=\frac{{{min}}{1\le s\le m}{{min}}{1\le t\le n}\left|a_0(t)-a_s(t)\right|+\rho{{max}}{1\le s\le m}{{max}}{1\le t\le n}\left|a_0(t)-a_s(t)\right|}{\left|a_0(j)-a_i(j)\right|+\rho{{max}}{1\le s\le m}{{max}}{1\le t\le n}\left|a_0(t)-a_s(t)\right|}, ξi(j)=a0(j)ai(j)+ρmax1smmax1tna0(t)as(t)min1smmin1tna0(t)as(t)+ρmax1smmax1tna0(t)as(t) i = 1 , 2 , ⋯   , m , j = 1 , 2 , ⋯   , n . i=1,2,\cdots,m,j=1,2,\cdots,n. i=1,2,,mj=1,2,,n.
    为比较数列 a i a_i ai对参考数列 a 0 a_0 a0在第 j j j个指标上的关联系数,其中 ρ ∈ [ 0 , 1 ] \rho\in[0,1] ρ[0,1]为分辨系数。其中,称 m i n 1 ≤ s ≤ m m i n 1 ≤ t ≤ n ∣ a 0 ( t ) − a s ( t ) ∣ 、 m a x 1 ≤ s ≤ m m a x 1 ≤ t ≤ n ∣ a 0 ( t ) − a s ( t ) ∣ {{min}}{1\le s\le m}{{min}}{1\le t\le n}\left|a_0(t)-a_s(t)\right|、{{max}}{1\le s\le m}{{max}}{1\le t\le n}\left|a_0(t)-a_s(t)\right| min1smmin1tna0(t)as(t)max1smmax1tna0(t)as(t)分别为两级最小差及两级最大差。
    一般来讲,分辨系数 ρ \rho ρ越大,分辨率越大; c c c越小,分辨率越小。

    (4)计算灰色加权关联度
    灰色加权关联度的计算公式为
    r i = ∑ k = 1 n w k ξ i ( k ) , r_i=\sum_{k=1}^{n}{w_k\xi_i(k)}, ri=k=1nwkξi(k)
    式中, r i r_i ri为第 i i i个评价对象对理想对象的灰色加权关联度,若没有给出各指标变量的权重,各指标变量就取相等的权重,即 w j = 1 / n , j = 1 , 2 , ⋯   , n w_j=1/n,j=1,2,\cdots,n wj=1/nj=1,2,,n

    更多相关内容
  • 参加数学建模时自己编写的一个灰色关联分析法的函数封装,里面都有注释说明。
  • 电厂安全性评价是综合运用安全系统...确定了电厂安全性评价的指标体系,提出了应用层次灰色分析法评价电厂安全性的方法与步骤,以及电厂安全性的等级划分,并应用层次灰色分析法对电厂进行了实际评价,结论是可信的。
  • 本文根据石油洞库的具体情况和各抑爆方案的特点,将系统工程理论中的灰色系统与层次分析法有机结合,提出了灰色层次分析法,并应用该方法有效地解决石油洞库抑爆的方案优选这项多因素、多层次、非定量化条件下的决策...
  • 代码 基于灰色关联系数的层次分析法代码 基于灰色关联系数的层次分析法代码 基于灰色关联系数的层次分析法代码 基于灰色关联系数的层次分析法代码 基于灰色关联系数的层次分析法代码 基于灰色关联系数的层次分析法...
  • 灰色关联分析法,这种方法是进行关联分析的,本设计中为各指标和成绩的关联度大小排序的结果。
  • 基于宜昌市空气质量监测数据(2014-2017年),通过灰色关联分析法探讨了空气质量影响因素之间的敏感度。结果表明:在宜昌市空气质量的主要污染物(SO2、NO2、PM10、PM2.5、CO以及O3)中,SO2、NO2、PM10、PM2.5的...
  • 基于Matlab 2014b平台的灰色预测发资料和源码,可供数学建模学习使用。
  • 运用层次分析-灰色关联分析法评价了6种黄姜皂素生产工艺用层次分析法确定了12项指标[酸耗系数、水耗系数、能耗系数、单位产品废水CODCr产生量、废气产生量、固体废物产生量、污染物处理效果、环保成本(年环境代价/...
  • 熵值法是一种依据各指标值所包含的信息量大小,来确定决策指标权重的客观赋权法。 灰色系统理论的研究对象是部分信息已知而部分信息未知的“贫信息”’不确定性系统,利用已知信息来确定系统的未知信息...层次分析法

    熵值法

    在信息论中,熵值能够很好的反映信息无序化程度,其值越小,系统无序度越低,信息的效用值越大,其权重也相应越大;反之,其值越大,系统无序度越高,信息的效用值越小,权重也越小。

    步骤

    熵值法赋权计算步骤如下:
    1)确定 m m m个需进行评价的样本对象和 n n n个评价指标,构建一个对应的判断矩阵 R = ( x i j ) m n , ( i = 1 , 2 , . . . , m , j = 1 , 2 , . . . n ) R=(x_{ij})_{mn},(i=1,2,...,m,j=1,2,...n) R=(xij)mn,(i=1,2,...,mj=1,2,...n).
    2)将判断矩阵进行标准化,即将各指标进行同度量化。该模型采用比重法对指标判断矩阵原始值进行标准化:
    P i j = x i j ∑ i = 1 m x i j P_{i j}=\frac{x_{i j}}{\sum_{i=1}^{m} x_{i j}} Pij=i=1mxijxij
    3)计算第 j j j项指标的熵值,利用熵值公式计算评价指标的熵值:
    e j = − k ∑ i = 1 m P i j ln ⁡ P i j ,  其中  k = 1 ln ⁡ m ( i = 1 , … , m ; j = 1 , … , n ) e_{j}=-k \sum_{i=1}^{m} P_{i j} \ln P_{i j}, \text { 其中 } k=\frac{1}{\ln m}(i=1, \ldots, m ; j=1, \ldots, n) ej=ki=1mPijlnPij, 其中 k=lnm1(i=1,,m;j=1,,n)
    4)计算第 j j j项指标的差异性系数 g j g_j gj。熵值越小,指标间差异性越大,指标在综合评价中所起作用就越大:
    g j = 1 − e j g_j=1-e_j gj=1ej
    5)用熵值法估算各指标的权重,本质上是计算各项指标的价值系数,最后可以得到第 j j j项指标的权重系数 ω j \omega_j ωj
    ω j = g j ∑ i = 1 n g j \omega_{j}=\frac{g_{j}}{\sum_{i=1}^{n} g_{j}} ωj=i=1ngjgj

    python实现

    def Entropy_(standardized_data,weight_num=None,up_layer_num=None,weight_interval=None):
        '''
        :param standardized_data: 需要计算权重的数据
        :param weight_num: 权重个数
        :param up_layer_num: 是否要计算第二层权重,需要则传入上层指标个数
        :param weight_interval: 若要计算第二层权重,传入第一层指标个数区间
        :return: 第一层的差异性系数g,权重w,熵值e
        '''
        rows, cols = standardized_data.shape
        k = 1/math.log(rows)
        standardized_data_arr = np.array(standardized_data)
        standardized_data_log = np.log(standardized_data_arr)
        use_data = pd.DataFrame(standardized_data_arr*standardized_data_log)
        use_data.loc['col_sum'] = use_data.apply(lambda x:x.sum())
        #计算熵值
        e = use_data.loc['col_sum']*(-k)
        #计算差异性系数
        g = 1-e
        if up_layer_num is not None:
            #权重计算
            g_arr = np.zeros(shape=[up_layer_num])
            for i in range(up_layer_num):
                for j in weight_interval[i]:
                    g_arr[i] = g_arr[i] + g.iloc[j]
            #权重
            w = np.zeros(weight_num)
            for i in range(up_layer_num):
                for j in weight_interval[i]:
                    w[j] = g[j] / g_arr[i]
        else:
            # 权重计算
            w = np.array([i/np.sum(g) for i  in g])
        w = pd.DataFrame(w)
        return g,e,w
    

    灰色关联分析

    灰色系统理论的研究对象是部分信息已知而部分信息未知的“贫信息”’不确定性系统,利用已知信息来确定系统的未知信息,对样本量没有严格的规定,也不要求服从任何典型分布规律,且不会出现量化结果与定性分析不一致的情况。而关联分析是灰色系统分析、评级和决策的基础,其基本思想是根据数据指标呈现出的序列曲线的几何形状相似程度来判断两个指标之间的联系是否紧密,通过关联度表征两个事物间的关联程度。

    灰色关联度分析步骤

    1)延用熵值法中构建的原始数据判断矩阵 R = ( x i j ) m × n R=(x_{ij})_{m×n} R=(xij)m×n,矩阵如下:
    R = [ x 11 ⋯ x 1 n ⋮ ⋱ ⋮ x m 1 ⋯ x m n ] R=\left[\begin{array}{ccc} x_{11} & \cdots & x_{1 n} \\ \vdots & \ddots & \vdots \\ x_{m 1} & \cdots & x_{m n} \end{array}\right] R=x11xm1x1nxmn
    2)选取最优指标集
    各评价指标的最优值组成的集合称为最优集,它是评价对象比较的基准,记录为
    F = k j , ( j = 1 , 2 , 3 , . . . , n ) F=k_j,(j=1,2,3,...,n) F=kj,(j=1,2,3,...,n)
    式子中 k j k_j kj为第 j j j个指标的最优值。在最优值的选取过程中,若指标为成本型指标,则最优值选取当中的最小值;若指标为效益型指标,则最优值选取当中的最大值。最优指标集和各待评价对象的指标组成一个矩阵 D:
    D = [ k 1 ⋯ k n x 1 ⋯ x n ⋮ ⋱ ⋮ x m 1 ⋯ x m n ] D=\left[\begin{array}{ccc} k_{1} & \cdots & k_{n} \\ x_{1} & \cdots & x_{n} \\ \vdots & \ddots & \vdots \\ x_{m 1} & \cdots & x_{m n} \end{array}\right] D=k1x1xm1knxnxmn
    式中, x i j x_{ij} xij为第 i i i个评价对象的第 j j j个指标的原始数值.
    3)计算关联系数,求取评判矩阵
    根据灰色系统理论,将最优数列作为参考数列,将其他数列作为被比较数列,用关联分析法分别求得第 i i i个评价对象的第 j j j个指标与第 j j j个最优指标的关联系数 e i j e_{ij} eij,计算公式如下:
    e i j = min ⁡ i min ⁡ j ∣ k j − x i j ∣ + ρ max ⁡ i max ⁡ j ∣ k j − x i j ∣ ∣ k j − x i j ∣ + ρ max ⁡ i max ⁡ j ∣ k j − x i j ∣ e_{i j}=\frac{\min _{i} \min _{j}\left|k_{j}-x_{i j}\right|+\rho \max _{i} \max _{j}\left|k_{j}-x_{i j}\right|}{\left|k_{j}-x_{i j}\right|+\rho \max _{i} \max _{j}\left|k_{j}-x_{i j}\right|} eij=kjxij+ρmaximaxjkjxijminiminjkjxij+ρmaximaxjkjxij
    式中, ρ \rho ρ为分辨系数,其取值范围在[0,1],一般取 ρ = 0.5 \rho=0.5 ρ=0.5 min ⁡ i min ⁡ j ∣ k j − x i j ∣ \min _{i} \min _{j}\left|k_{j}-x_{i j}\right| miniminjkjxij为两级最小差, max ⁡ i max ⁡ j ∣ k j − x i j ∣ \max _{i} \max _{j}\left|k_{j}-x_{i j}\right| maximaxjkjxij为两级最大差。
    则各指标的评判矩阵即关联系数记录为 E E E,如下:
    E = [ e 11 ⋯ e 1 n ⋮ ⋱ ⋮ e m 1 ⋯ e m n ] E=\left[\begin{array}{ccc} e_{11} & \cdots & e_{1 n} \\ \vdots & \ddots & \vdots \\ e_{m 1} & \cdots & e_{m n} \end{array}\right] E=e11em1e1nemn
    式中, e i j e_{ij} eij为第 i i i个样本第 j j j个指标与第 j j j个最优指标的关联系数。
    4)建立灰色单层次评判矩阵
    R X = E × W RX=E×W RX=E×W
    式中, R X = [ r 1 , r 2 , … , r m ] T R X=\left[r_{1}, r_{2}, \ldots, r_{m}\right]^{T} RX=[r1,r2,,rm]T m m m个被评价对象的综合评价结果向量;即 r i = ∑ i = 1 m ω j e i j r_i = \sum_{i=1}^{m} \omega_{j}e_{ij} ri=i=1mωjeij W = [ ω 1 , … , ω n ] W=\left[\omega_1,\ldots,\omega_n \right] W=[ω1,,ωn] n n n个评价指标的权重分配向量,其中 ∑ j = 1 n ω j = 1 \sum_{j=1}^{n} \omega_{j}=1 j=1nωj=1
    5)根据实际指标情况,可建立多层评判标准
    当评价对象的各个指标间分为不同层次时,需要采用多层次综合评价法。灰色多层次综合评判是以单层次综合评价为基础,需将单层次评价结果矩阵作为下一个层次的原始指标列,再重复进行下一层次单层评判计算,依次类推至最高层。若灰色关联度越大,说明该评价对象与参考指标越接近,即第 i i i个评价对象越优于其他,通过关联度这指标排出样本之间的优劣次序。

    python实现

    暂无
    

    层次分析法

    层次分析法,简称AHP,是指将与决策总是有关的元素分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析的决策方法。
    层次分析法属于主观赋权法,具有简洁、系统性分析的优点,但主观性强,不易令人信服,并且当数据量较大时,权重难以确定。

    计算步骤

    1)建立层次结构模型
    将决策的目标、考虑的因素(决策准则)和决策对象按它们之间的相互关系分为最高层、中间层和最低层,绘出层次结构图。 最高层是指决策的目的、要解决的问题。 最低层是指决策时的备选方案。 中间层是指考虑的因素、决策的准则。对于相邻的两层,称高层为目标层,低层为因素层。
    2)构造判断(成对比较)矩阵
    两两因素相互比较,对此时采用相对尺度,以尽可能减少性质不同的诸因素相互比较的困难,以提高准确度。如对某一准则,对其下的各方案进行两两对比,并按其重要性程度评定等级。 为要素与要素重要性比较结果,表1列出Saaty给出的9个重要性等级及其赋值。按两两比较结果构成的矩阵称作判断矩阵:
    重要性等级及赋值
    3)层次单排序及其一致性检验
    对应于判断矩阵最大特征根 λ m a x \lambda_{max} λmax的特征向量,经归一化后记为 W W W W W W的元素为同一层次因素对于上一层次因素某因素相对重要性的排序权值,这一过程称为层次单排序。能否确认层次单排序,则需要进行一致性检验,所谓一致性检验是指对 A A A确定不一致的允许范围。其中, n n n阶一致阵的唯一非零特征根为 n n n;$n 阶 正 互 反 阵 阶正互反阵 A$的最大特征根 λ ≥ n \lambda ≥n λn, 当且仅当 λ = n \lambda = n λ=n时, A A A为一致矩阵。
    一致性指标用CI计算,CI越小,说明一致性越大,计算公式为:
    C I = λ − n n − 1 CI= \frac{\lambda-n}{n-1} CI=n1λn
    C I = 0 CI=0 CI=0,有完全的一致性; C I CI CI接近于 0 0 0,有满意的一致性; C I CI CI 越大,不一致越严重。
    为衡量 C I CI CI 的大小,引入随机一致性指标 R I RI RI
    R I = C I 1 + C I 2 + ⋯ + C I n n RI=\frac{CI_1+CI_2+\dots+CI_n}{n} RI=nCI1+CI2++CIn
    其与矩阵阶数的关系,一般情况下,矩阵阶数越大,则出现一致性随机偏离的可能性也越大,其对应关系如表2:
    在这里插入图片描述
    考虑到一致性的偏离可能是由于随机原因造成的,因此在检验判断矩阵是否具有满意的一致性时,还需将 C I CI CI和随机一致性指标 R I RI RI进行比较,得出检验系数 C R CR CR,公式如下:
    C R = C I R I CR=\frac{CI}{RI} CR=RICI
    一般,如果 C R < 0.1 CR<0.1 CR<0.1 ,则认为该判断矩阵通过一致性检验,否则就不具有满意一致性。
    4)层次总排序及其一致性检验

    python实现

    # python3.7
    # -*- coding: utf-8 -*-
    #@Author    : huinono
    #@Software  : PyCharm
    
    import warnings
    import numpy as np
    import pandas as pd
    import matplotlib as mpl
    import matplotlib.pyplot as plt
    
    warnings.filterwarnings('ignore')
    
    mpl.rcParams['font.sans-serif'] = 'SimHei'
    mpl.rcParams['axes.unicode_minus'] = 'False'
    
    plt.rcParams['font.sans-serif'] = 'SimHei'
    plt.rcParams['axes.unicode_minus'] = 'False'
    
    '''
    1、构建判断矩阵:准则层和方案层判断矩阵
    2、对方案层判断矩阵求特征向量
    3、计算最大特征值与层次单排序的一致性检验
    4、层次总排序的一致性检验
    5、求得权重
    '''
    class AHP(object):
        def __init__(self):
            self.RI = [0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45]
    
        def VectorsCal(dself,data):
            data_sum = np.sum(data,axis=1)
            data_mean = data_sum/data.shape[0]
            data_vecs = data_mean/np.sum(data_mean)
            return data_vecs
    
        def SOConsistencyCheck(self,vals_max,n):
            CI = (vals_max-n)/(n-1)
            if CI == 0:
                CR=0
                RI = self.RI[n - 1]
            else:
                RI = self.RI[n-1]
                CR = CI/RI
            return CR,CI,RI
    
        def weightCal(self,weight_interval,weight_num,JudgmentMatrix_all):
            '求特征向量'
            matrix_vecs_ = [self.VectorsCal(con) for con in JudgmentMatrix_all]
            '计算最大特征值和单排序一致性检验'
            matrix_vals_vecs = [np.linalg.eig(con) for con in JudgmentMatrix_all]
            matrix_vals_max = [np.max(vals_vecs[0]) for vals_vecs in matrix_vals_vecs]
            matrix_CR = [self.SOConsistencyCheck(matrix_vals_max[i], JudgmentMatrix_all[i].shape[0])[0] for i in range(len(matrix_vals_max))]
            matrix_CI = [self.SOConsistencyCheck(matrix_vals_max[i], JudgmentMatrix_all[i].shape[0])[1] for i in range(len(matrix_vals_max))]
            matrix_RI = [self.SOConsistencyCheck(matrix_vals_max[i], JudgmentMatrix_all[i].shape[0])[2] for i in range(len(matrix_vals_max))]
            '总排序一致性检验'
            C1 = matrix_vecs_[-1].reshape(-1, 1)
            matrix_zero = np.zeros(weight_num)
            P = []
            length = len(weight_interval)
            for i in range(length):
                if i == 0:
                    P1 = np.concatenate([matrix_vecs_[i], matrix_zero[weight_interval[i][-1] + 1:]], axis=0).reshape(-1, 1)
                    P.append(P1)
                elif i == length-1:
                    P3 = np.concatenate([matrix_zero[:weight_interval[i][0]], matrix_vecs_[i]], axis=0).reshape(-1, 1)
                    P.append(P3)
                else:
                    P2 = np.concatenate([matrix_zero[:weight_interval[i][0]], matrix_vecs_[i], matrix_zero[weight_interval[i][-1] + 1:]],axis=0).reshape(-1, 1)
                    P.append(P2)
            weight_one = np.dot(np.concatenate(P, axis=1), C1)
            if np.dot(matrix_CI[1:], C1) == 0 and np.dot(matrix_RI[1:],C1) == 0:
                CR1 = 0
            else:
                CR1 = np.dot(matrix_CI[1:], C1) / np.dot(matrix_RI[1:],C1)
            return weight_one,matrix_CR,CR1,matrix_vecs_,matrix_vals_max
    
    展开全文
  • 灰色关联分析在数学建模以及数据分析中也是一种较为常用的方法,可用于进行系统分析或进行综合评价,本文主要介绍了灰色关联分析的原理和步骤,以及在实际案例当中如何应用求解。

    Q1:什么是系统分析?

            比方说在社会系统、经济系统、农业系统、教育系统中,每个系统都含有许多种因素,而这多种因素共同作用的结果决定了该系统的发展态势,我们常常希望知道在这众多因素中,哪些因素对系统发展影响大,哪些因素对系统发展影响小;哪些是主要因素,哪些是次要因素;哪些对系统发展起推动作用,哪些对系统发展起阻碍作用……这就是所谓的系统分析。举个栗子,粮食生产系统中,影响粮食产量的因素有播种面积、土壤、浇水施肥、气候、耕作技术等等,我们希望实现少投入多产出,取得良好的经济效益、社会效益和生态效益,那么就必须进行系统分析。

            数理统计中的回归分析、方差分析、主成分分析等都是用来进行系统分析的方法。这些方法都有下列不足之处(引用自某文章):
    (1)要有大量数据支持,数据量少就难以找出统计规律;
    (2)样本要服从某个典型的概率分布,要求各因素数据与系统特征数据之间呈线性关系且各因素之间彼此无关,而这些要求往往难以满足;
    (3)可能出现量化结果与定性分析结果不符的现象,导致系统的关系和规律遭到歪曲和颠倒。

    Q2:什么是灰色关联分析?

            灰色关联分析的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线越接近,相应序列之间的关联度就越大,反之就越小。
            灰色关联分析方法弥补了采用数理统计方法作系统分析所导致的缺憾。它对样本量的多少和样本有无规律都同样适用,而且计算量小,十分方便,更不会出现量化结果与定性分析结果不符的情况。(注:系统分析中灰色关联分析方法目前不是主流,主流还是数理统计中的方法)



    应用一:进行系统分析

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

    年份国内生产总值第一产业第二产业第三产业
    20001988386839763
    20012061408846808
    20022335422960953
    2003275048212581010
    2004335651115771268
    2005380656118931352

    一、画统计图

    (画图后配上简单的分析)
            由图表可知:四个变量均呈上升的趋势;第二产业的增幅较为明显;第二产业和第三产业的差距在后三年相差更大。

    二、确定分析数列
    (1)母序列(又称参考数列、母指标):能反映系统行为特征的数据序列。——类似于因变量y,此处即为X0;
    (2)子序列(又称比较数列、子指标):影响系统行为的因素组成的数据序列。——类似于自变量x,此处记为(x1,x2,x3,…,xm)。
            故在本例中:国内生产总值就是母序列X0,第一、第二、第三产业就是子序列X1、X2、X3.

    三、对变量进行预处理(两个目的:去量纲(标准化);缩小变量范围简化计算)
            对母序列和子序列中的每个指标进行预处理:先求出每个指标的均值,再把该指标的每个元素都除以其均值。

    四、计算子序列中各个指标与母序列的关联系数
    母序列:  X0 = (x0_(1),x0_(2),……,x0_(n))'
    子序列:  X1 = (x1_(1),x1_(2),……,x1_(n))'
                    X2 = (x2_(1),x2_(2),……,x2_(n))'
                       …………
                    Xm = (xm_(1),xm_(2),……,xm_(n))'

    在这里我们令
    母序列:  X0 = (x0_(1),x0_(2),x0_(3),x0_(4),x0_(5),x0_(6))'
    子序列:  X1 = (x1_(1),x1_(2),x1_(3),x1_(4),x1_(5),x1_(6))'
                    X2 = (x2_(1),x2_(2),x2_(3),x2_(4),x2_(5),x2_(6))'
                    X3 = (x3_(1),x3_(2),x3_(3),x3_(4),x3_(5),x3_(6))'

    记 a = min|x0_(k) - xi_(k)|,b = max|x0_(k) - xi_(k)|. 称a、b分别为两级最小差和两级最大差。
    在本例中有:

    | X0 - X1 || X0 - X2 || X0 - X3 |
    0.10410.04920.0119
    0.12490.07040.0289
    0.05440.07850.0694
    0.03150.01120.0278
    0.12880.04770.0006
    0.18620.13920.0832

    故两级最小差a = 0.0006,两级最大差b = 0.1862.
    我们给出如下定义:

    ρ为分辨系数一般取0.5,故在求出a、b后,分子即为一个常数,而分母中的|x0_(k) - xi_(k)|在上表中已经求出,我们将其一一代入这个式子即可得到:

    0.47510.65860.8922
    0.42990.57330.7680
    0.63560.54620.5766
    0.75200.89850.7753
    0.42240.66571.0000
    0.33560.40350.5317

     比如第一个数据 0.4751 = (0.0006 + 0.5×0.1862) / (0.1041 + 0.5×0.1862).

    五、计算灰色关联度
    定义 γ(X0, Xi) =  为X0和Xi的灰色关联度
    因此我们有 γ(X0, X1) = 0.5084,γ(X0, X2) = 0.6243,γ(X0, X3) = 0.7573.

    六、得出结论
    通过比较三个子序列和母序列的关联度我们可以得出结论:
    该地区在2000年至2005年间的国内生产总值受到第三产业的影响最大。(其灰色关联度最大)

    (注:灰色关联分析研究的人比较少,主要是国内有部分人研究,在论文中谨慎使用)


     思考:
    (1)什么时候用标准化回归,什么时候用灰色关联分析?
            当样本个数n较大时,一般使用标准化回归;当样本个数n较小时,可考虑使用灰色关联分析。
    (2)如果母序列中有多个指标时,应该怎么分析?(例如Y1和Y2是母序列,X1,X2,…,Xm是子序列)
            我们可首先计算Y1和X1,X2,…,Xm的灰色关联度进行分析,再计算Y2和X1,X2,…,Xm的灰色关联度进行分析。



    应用二:用于综合评价

            在之前我们已经介绍过进行综合评价有两个模型:层次分析法(AHP)和优劣解距离法(TOPSIS)。它们的区别在于层次分析法用于没有数据,TOPSIS用于有数据时,现在我们将要讲的灰色关联分析也是用于有数据时的评价方法。另外在用TOPSIS时如果需要确定指标权值可以用熵权法解决,也可以用层次分析法。在有了之前的基础上,现简要介绍一下灰色关联分析进行评价的过程。

    主要步骤:
    (1)对指标数据进行正向化(可参考TOPSIS中的正向化方法);
    (2)对正向化后的矩阵进行数据预处理(可参考上面系统分析中和之前讲过的预处理方法),得到矩阵Z_{n*m}
    (3)将预处理后的矩阵每一行取出最大值构成母序列(这里的母序列其实是虚构的,因为我们是对指标进行评价,不像系统分析中母序列其实是因变量)
    (4)计算各个指标与母序列的灰色关联度:γ1、γ2、……、γm.
    (5)计算各个指标的权重:w1 = γ1 / (γ1+γ2+…+γm)、……、wm = γm / (γ1+γ2+…+γm)
    (6)第k个评价对象的得分:S_{k} = \sum_{j=1}^{m}Z_{kj}\cdot \gamma _{j},(k = 1,2,…,n)
    (7)对得分进行归一化:S_{k}' = S_{k}/(S_{1}+S_{2}+…+S_{n}) ;
    (8)对结果可视化。

    展开全文
  • 数学建模常用算法—灰色关联分析法(GRA)

    万次阅读 多人点赞 2020-07-24 18:24:01
    灰色关联分析的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线越接近,相应序列之间的关联度就越大,反之就越小。

    解决问题

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

    一般的抽象系统,如社会系统、经济系统、农业系统、生态系统、教育系统等都包含有许多种,多种因素共同作用的结果决定了该系统的发展态势。灰色关联分析法则用于确定各因素对其所在系统的影响程度

    优点

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

    缺点

    要求需要对各项指标的最优值进行现行确定,主观性过强,同时部分指标最优值难以确定。(不建议在美赛中使用)

    一般步骤

    以国内某地区国内生产总值为例
    在这里插入图片描述

    1. 绘制统计图,并根据图线做简单分析

    在这里插入图片描述

    • 四个变量均呈上升趋势
    • 第一产业几乎没有变化
    • 第二产业增幅相对较大

    2. 确定分析数列

    (1)母序列(又称参考序列、母指标)

    能反映系统行为特征的数据序列,类似于因变量Y,此处记为 x 0 x\mathop{{}}\nolimits_{{0}} x0

    (2)子序列(又称比较序列、子指标)

    影响系统行为的因素组成的数据序列,类似于因变量X,此处记为( x 1 x\mathop{{}}\nolimits_{{1}} x1 , x 2 x\mathop{{}}\nolimits_{{2}} x2 , ··· , x m x\mathop{{}}\nolimits_{{m}} xm )

    在本例中,国内生产总值是母序列,第一,第二和第三产业是子序列。

    3. 对变量进行预处理(去量纲,缩小度量范围简化计算)

    计算每个指标的均值,再将指标中的每个元素分别除以该指标的均值
    在这里插入图片描述

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

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    5. 计算子序列中各个指标与母序列的灰色关联度

    对每个指标的关联系数分别求平均值,则得到灰色关联度
    在这里插入图片描述

    6. 得出结论

    该地区在2000年至2005年间的国内生产总值受到第三产业的影响最大(其灰色关联度最大

    代码

    load gdp.mat  % 导入数据 一个6*4的矩阵
    Mean = mean(gdp);  % 求出每一列的均值以供后续的数据预处理
    gdp = gdp ./ repmat(Mean,size(gdp,1),1);  %size(gdp,1)=6, repmat(Mean,6,1)可以将矩阵进行复制,复制为和gdp同等大小,然后使用点除(对应元素相除),这些在第一讲层次分析法都讲过
    disp('预处理后的矩阵为:'); disp(gdp)
    Y = gdp(:,1);  % 母序列
    X = gdp(:,2:end); % 子序列
    absX0_Xi = abs(X - repmat(Y,1,size(X,2)))  % 计算|X0-Xi|矩阵(在这里我们把X0定义为了Y)
    a = min(min(absX0_Xi))    % 计算两级最小差a
    b = max(max(absX0_Xi))  % 计算两级最大差b
    rho = 0.5; % 分辨系数取0.5
    gamma = (a+rho*b) ./ (absX0_Xi  + rho*b)  % 计算子序列中各个指标与母序列的关联系数
    disp('子序列中各个指标的灰色关联度分别为:')
    disp(mean(gamma))
    
    展开全文
  • 运用群决策理论对个体专家决策矩阵信息进行集结,得到元素为三角模糊数的群决策矩阵,并结合灰色关联分析法,给出了群决策灰色关联分析法的数学模型。结果表明:新方法在战场目标价值排序方面是有效的、可行的。
  • 随着盖层研究的深入,其评价方法有了不少新转变,从物性封闭的测井评价方法、超压封闭的测井评价方法、烃浓度封闭的测井评价方法、岩石力学评价方法、微观角度分析法等,到现在BP神经网络法、灰色关联分析法灰色规划...
  • import pandas as pd import numpy as np # x = pd.DataFrame([[2000,0.732,0.836,0.628,0.743], [2001,0.758,0.883,0.688,0.787], [2002,0.859,0.914,0.781,0.929],[2003,1.0125,1.0440,1.0237,0.9847],[2004,1.235...
  • 基于TOPSIS法与灰色关联度分析法的地区工业企业经济效益评价研究,黄巅琪,刘克选,企业经济效益是企业在经济活动中所获得的劳动成果与劳动消耗的比值,反映了企业的经济实力与发展前景。地区的企业经济效益体现了
  • MATLAB源码集锦-基于灰色关联系数的层次分析法
  • 灰色关联分析法,灰色关联分析法适用于什么问题,matlab源码.zip
  • 基于灰色关联分析法的葫芦岛市大气环境质量评价,初玲玲,刘志斌,本文叙述了灰色关联分析法的原理及其在大气环境质量评价中的应用。采用灰色关联分析法对葫芦岛各县(市)区大气环境质量进行评价
  • 以某1.5Mt/a的煤矿为研究案例,应用改进灰色关联模型进行评价分析,结果表明:模型计算结果与评审专家意见一致,比传统灰色关联分析法更准确,表明所建立的改进灰色关联模型在煤矿总图方案的选择评价中具有一定的适用性。
  • 智能算法。图论,神经网络,粒子群,层次分析法,插值与拟合,灰色关联分析,灰色预测算法,聚类分析代码
  • 基于灰色关联分析法的COC芯片翘曲变形注塑工艺优化.pdf
  • 基于直觉模糊集多属性决策的灰色关联分析法,卫贵武,,基于直觉模糊集理论, 提出了一种新的灰色关联分析方法来研究模糊多属性决策问题。首先, 根据直觉模糊集的几何意义, 引入了两个直觉
  • 应用主成分分析和灰色关联度分析法分析中国乳制品质量安全的影响因素
  • 基于模糊层次分析的灰色关联分析法及程序实现.pdf
  • 在构建定量与定性指标相结合的煤层顶板突水评价指标体系和等级划分标准的基础上,将灰色关联分析法与基于指数标度的层次分析法相结合,建立了煤层顶板突水危险性评价模型。该评价模型不仅能够刻画突水的多因素决策特征...
  • 计算机研究 -基于因子分析法灰色聚类法对江西省投资环境的评价研究.pdf
  • 应用灰色关联分析法研究气象因子对大气降尘的影响程度 (1997年)
  • 灰色关联分析法是一种描述元素之间影响程度的分析法,适合于小项目数据集。小项目数据集制约着传统的软件缺陷类型的预测方法,使得预测的结果往往不够准确和可靠。因此在灰色关联分析法的基础上提出了特征子集选择、...
  • 基于煤矿实际情况调查的基础上,现场搜集连续多年煤矿生产成本的诸多影响因素,对众多的影响因素进行动态过程发展态势的量化比较,通过建立数学模型,计算各因素关联度,寻找煤矿成本主要影响因素,从而揭示成本控制的主要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,446
精华内容 5,778
关键字:

灰色分析法

友情链接: 板负筋.rar