QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1796|回复: 1
打印 上一主题 下一主题

数学建模--灰色关联分析

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

82

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2020-4-13 16:26 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    . b" U. V5 [8 _  I% q+ E& R( u
    数学建模--灰色关联分析写在前面:( t0 `) l# Y0 v* p
    笔记为自行整理,内容出自课程《数学建模学习交流》,主讲人:清风+ e% U5 g( u# }1 T0 I

    $ _0 ~3 x( Y& ]灰色关联分析概述
    / G2 M6 g3 h( N5 p9 W, v' _/ J8 R( \( m* Y$ P
    一般的抽象系统,如社会系统、经济系统、农业系统、生态系统、教育系统等都包含有许多种因素,多种因素共同作用的结果决定了该系统的发展态势。人们常希望知道在众多的因素中,哪些是主要因素,哪些是次要因素;哪些因素对系统发展影响大,哪些因素对系统发展影响小;哪些因素对系统发展起推动作用需强化发展,哪些因素对系统起阻碍作用需加以抑制;…这些都是系统分析中人们普遍关心的问题。例如,粮食生产系统,人们希望提高粮食总产量,二影响粮食总产量的因素是多方面的,有播种面积以及水利、化肥、土壤、种子、劳力、气候、耕作技术二号政策环境等。7 g: q4 `7 A3 M% A: M$ F3 n. m: ~
    5 K$ h7 x7 D# G- T8 L7 C8 F4 D
    为了实现少投入多产出,并取得良好的经济效益、社会效益和生态效益,就必须进行系统分析。8 x  M0 [7 `/ D; T
    2 Q8 h; Y& O& z% J! J9 W: R
    数理统计中的回归分析、方差分析、主成分分析等都是用来进行系统分析的方法。这些方法存在以下问题:5 r4 N* G" ^; H( m3 Y* V% h
    3 w* e7 I% L1 }+ F& ?9 _; u
    要求有大量数据,在数据量少、不满足大样本要求时上诉方法均失效。
    % N6 q; r- r& k要求样本服从某个典型的概率分布,要求各因素数据与系统特征数据之间呈线性关系且各因素之间彼此无关。这种要求往往难以满足。
      ]+ S- q$ i% I$ }' r9 T6 Q5 s计算量大,一般要考计算机帮助。* F+ t" D+ b- d2 o' T+ d
    可能出现量化结果与定性分析结果不一致的现象,导致系统的关系和规律遭到歪曲和颠倒。
    ( [: h/ G/ t& f$ @) [灰色关联分析的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线越接近,相应序列之间的关联度就越大,反之就越小。. ]+ C! s( q8 V6 F  l
    参考:刘思峰.灰色系统理论及其应用(第五版)[M].北京:科学出版社,2010:62.
    ) Y1 u/ H$ s! a0 G7 N4 W# ^$ k应用:进行系统分析
    2 N; P1 {4 q7 p' L, y( @0 J7 E2 q# e' A. U, X" f' ^3 a2 ?9 M# S

    - Y5 I" B# J6 A% X7 Q; s
    ' d' p* e. d% A* m+ |7 w  L①. 画统计图
    2 Q% `1 k0 S% k6 c6 R- C+ k
    ' B' v! ]/ @' B7 Z8 e, N; A, |
    , ~- R% l/ h, S) Y$ X* p进行简单的分析:
    7 l6 f- c# l2 U& t2 U8 y( j! h- N3 \( i7 O
    四个变量均呈现上升的趋势。
    8 n& k, [3 w% q; j第二产业的增幅较为明显。! B; p* K4 y; w& g$ H7 X$ n
    第二产业和第三产业的差距在后三年更大。
    ! t8 t( y9 K/ J& M& L  Q②. 确定分析序列( Q7 T3 q, X. j, j8 V
    ) C  Y7 k* [, K3 }+ g
    母序列(又称参考序列、母指标):能够反映系统行为特征的数据序列。6 O5 P  l  l7 K# v
    子序列(又称比较序列、子指标):影响系统行为的因素组成的数据序列。
    8 C5 h. ~! K6 z" z( n  K本例中,国内生产总值就是母序列,第一、二、三产业是子序列。
    % m8 z) k2 i4 _4 W. v9 J/ e- x3 i/ a" w. I
    ③. 对变量进行预处理(消去量纲,缩小变量范围简化计算)! j% m: J* \6 L

    ) O5 Q1 e2 K0 b  ~3 C方法:对每个指标中的元素,用该元素除以所在指标的均值; f1 I' A, N( N' Y: Z, t

    - O& Q7 o2 ]- M# D3 i1 l! M* H④. 计算子序列中各个指标与母序列的关联系数: m  A) t& T+ Z6 M9 l( J

    & o3 _2 R  T- x+ R  ]1 ?: \  Q7 B# L" f% R; @
    x0=(x0(1),x0(2),...,x0(n))T x_0=(x_0(1),x_0(2),...,x_0(n))^Tx ( s1 `3 Z- q/ u  v- _
    0# z2 `5 F2 `/ K: |7 |
    ​       
    ' R7 O- J5 l! n3 n6 | =(x
    7 h" K+ o1 L7 W6 j0
    ' t/ Y( a" _/ B! }/ d# s​        ) y) P5 ~- a& E3 Y. V
    (1),x
    0 [) [  w, i) W; P3 W0/ A$ k" y5 d: `
    ​       
    5 a( l3 i% K, H" o* d* U (2),...,x
    % M  K) P# a+ L. K0
    3 [& N; M/ s, V, L" F​        % Y; {$ {5 P- r" t  A
    (n))
    9 C7 E0 Q. i4 ^6 ST" l# ?9 I: Q$ l* E2 E0 s' W7 S

    3 n: B  q. `# C7 |/ g% S: Qx1=(x1(1),x1(2),...,x1(n))T x_1=(x_1(1),x_1(2),...,x_1(n))^Tx
    3 \1 e/ F2 f3 P( c* q1/ x. F  Z, a1 s& c) j
    ​        % h6 P' N% A, E7 ~3 F' ^0 u6 N% o5 A
    =(x
    # x" p& `/ R* m  U) s+ @1) k  l6 [: y/ o% {9 d- ]* B
    ​        2 E. s! U  H, [
    (1),x
    3 [. [9 U7 q8 Y$ g: j: D1
    0 Y; Z# Y$ B- V) V% T" D; {​        ' J7 j0 y- T1 {! n/ ]* C% Y
    (2),...,x / S8 Q: r4 l+ b5 \" u
    1
    5 v: B) G, {7 W# m3 F( T& [/ x$ F​       
    4 P" `. p; `/ D8 F7 Z: n, W( s (n)) " o. h% T* d" p" U: E3 n0 p$ \
    T% S8 W( x+ }# k( n8 j* ^" Z
    ! ?7 @  c5 q( h' F& H& {
    x2=(x2(1),x2(2),...,x2(n))T x_2=(x_2(1),x_2(2),...,x_2(n))^Tx
    + ?" r% Q; ?9 `& V  [' X/ m9 w2
    : c8 l3 a1 u2 A% k​       
    - W, H1 g' b" a( o5 U =(x
    6 w: y7 @2 V# n; [2; T% m" o( u% Q# Z
    ​          e+ B! r; v8 T
    (1),x
    $ G1 D2 a7 z1 t3 @% V2
    3 f. q! c- j. [+ {8 H. W" m​        0 B- l$ T( d) s# o/ p
    (2),...,x + Z. `7 F# I& |0 O9 c* k
    2+ i" C- o. c. M* Q: B% `
    ​       
    5 o7 C- q; q7 w% |6 ~+ T (n))
    ; P. z9 s: m: Q7 n" e( C5 o. \T8 Y4 ^# k! [) d
    , U3 a0 K+ y4 W& S- f& R' k
    x3=(x3(1),x3(2),...,x3(n))T x_3=(x_3(1),x_3(2),...,x_3(n))^Tx
    ( R) _  C* S2 O  j3! [( Z3 [: w: E$ j9 c0 H6 l0 m  F
    ​       
    5 S' ^4 N' D& l1 ]" y: L =(x 0 Y; t1 x8 ^6 z% l' K: h
    3
    / V5 B& C, O5 ?$ {​        6 v$ c" @5 T$ Y& z
    (1),x
    1 |$ I+ v( o1 [% z& @" Y& S7 H36 @9 Q- g# q& F/ ?
    ​        ; P+ F1 y# z3 q: o- ?2 D
    (2),...,x
    ( M8 r9 |( N0 K# c5 q' ~* Q3' H9 [: ~7 `, n
    ​       
    9 I( [" J/ U& S# }0 h0 Z% S (n)) . a& H) ~' E  j. V
    T
    $ ?5 V9 }  m/ j/ h9 s" |. G$ J& G) b1 `/ O" K; g
    记a=min∣x0(k)−xi(k)∣ a=min{|x_0(k)-x_i(k)|}a=min∣x 2 c; N) H, t. g! [
    00 Y: ]/ g! B4 s2 Z! ?* ^$ a: J$ C1 p
    ​        . Y: N3 Q& y* p
    (k)−x * e% `2 w: ~3 K
    i" [( t+ o+ d$ e! i9 l
    ​       
    * N0 c# G& ^8 S# w6 c (k)∣(每个子序列中的每个元素减去对应的母序列中的元素,找到最小的那个),b=min∣x0(k)−xi(k)∣ b=min{|x_0(k)-x_i(k)|}b=min∣x + p& P) y) P$ h1 `
    0
    7 K) d5 B5 b( w! l" E​        8 F$ {5 q/ [4 v3 T% O
    (k)−x
    5 \3 y; ~9 C+ Ci
    ! x+ t# L# n" Q3 m* J* n​        . {2 {: [* }/ T# @! z
    (k)∣
    : P8 j& x1 U; Y) ], W9 i* S" s& Ka aa为两级最小差,b bb为两级最大差。
    & R5 T% P6 c! P3 p
    7 f+ Q8 A6 \, V6 i+ A6 q定义:γ(x0(k),xi(k))=a+ρb∣x0(k)−xi(k)∣+ρb ρ:分辨系数(一般取0.5) \gamma\left( x_0\left( k \right) ,x_i\left( k \right) \right) =\frac{a+\rho b}{|x_0\left( k \right) -x_i\left( k \right) |+\rho b}\ \rho \text{:分辨系数(一般取0.5)}γ(x
    3 n) i$ x: I: v) I0- ]- t9 i& Y# B$ @) [% B0 {
    ​       
    ! r# `' ?! Q4 p& d4 U4 V* O. { (k),x
    & e6 k# M* {( M# ^- c! }i
    3 O# m& X0 A3 u: x( e​        0 F+ S1 V' P+ M7 \# ?$ [
    (k))=
    7 M1 ^- t& C* t: d1 s$ S% N∣x 2 @# b( H9 s& N# F3 d
    0
    $ N/ j( n7 U( X& }0 b​       
      P1 P/ P& o  l3 @/ Z (k)−x
    5 H4 h( K$ [2 q& I+ f: A& ni" S' b  @- U) g
    ​        4 {( F- o5 a/ l9 u8 H
    (k)∣+ρb
    & s6 I4 X, x- P. @4 I( W. x3 ha+ρb4 D+ D1 ]& T% k* _/ c9 }' v
    ​       
    0 P/ A, e% H' Z9 w* l1 n' Y  ρ:分辨系数(一般取0.5)2 B+ p8 m+ C; }* w( s8 I5 v7 N

    4 h  E% ?; }; Y0 G- N4 w3 w" Y1 I% p
    ⑤. 定义γ(x0,xi)=1n∑nk=1γ(x0(k),xi(k)) \gamma \left( x_0,x_i \right) =\frac{1}{n}\sum_{k=1}^n{\gamma \left( x_0\left( k \right) ,x_i\left( k \right) \right)}γ(x
    8 p' f* c; ?3 w07 X' A+ V- d. {. U% i
    ​       
    & [8 K3 Q3 A* b3 E' H( r' [' i2 v) _ ,x
    ' R% l5 \2 f5 y# O  zi3 m- K0 I/ O: @
    ​       
    ! J  @7 j4 i# s* | )= ! m, n) Y3 n4 u0 T# a5 s
    n
    . Z& ?, ~3 ~3 f3 A2 m) @1
    : N) Q7 A* F/ d* \$ v8 o( f​        ( K4 ^3 t3 P# L% c8 ~4 K
    2 G$ k; [8 J/ {- p/ B& k
    k=1; @' S8 i. M6 ?, V( E; ^
    n& r4 i, @9 j. O4 Z' F4 W% B/ g
    ​       
    - N% S* o6 t( G8 u γ(x
      G5 [: l. u, c. `8 M0  Y' K6 s9 P" f; l! P: v9 V
    ​       
    & c9 d1 |+ F3 s8 J+ z (k),x
    : R: ~; V# k3 F7 `2 b/ [- j7 B+ B& U. Hi
    1 }1 o0 X& G* H# X  f7 M+ t​       
    1 \6 V1 ]2 {6 M. `5 s/ _. k4 v (k)) 为x0 x_0x ' J2 _1 ]( n/ e4 ]. o
    05 U0 d0 j" B* e8 M# ^+ h
    ​       
    # h6 ?* j- V. x 和xi x_ix ! J+ n# H+ t; J4 e7 Q# s4 _+ A
    i% t6 x$ X: r6 t9 S+ e8 x  P$ u
    ​        7 r; V) D9 {. R$ A3 L8 A
    的灰色关联度
    # F  j% T4 n2 @: x7 B
    6 f. z/ d2 C. C; S3 f3 A; j% D8 s; Iγ(x0,x1)=0.5084,γ(x0,x2)=0.6243,γ(x0,x3)=0.7573 \gamma(x_0,x_1)=0.5084,\gamma(x_0,x_2)=0.6243,\gamma(x_0,x_3)=0.7573γ(x
    - E. o- u, M2 k0
    ' J# j) F: J7 w  I8 A​        / |( K9 L' M0 P
    ,x
    & a8 m7 U" F6 ~14 y. j1 |9 p1 u' N4 v/ O. r
    ​       
    & I" L! v" \' p$ h8 ^% Q )=0.5084,γ(x
    , ?) \. ^0 {7 H- _/ p0, ^, v# A- |; ]. S& B
    ​        ; X* M4 Z0 F, f
    ,x % z& _& d8 ^) |3 A: Q3 Y
    2+ X6 a( U% l! j  U, z
    ​        " v+ ~9 R& y3 h, c) n6 X
    )=0.6243,γ(x
    9 B  K! y1 i4 F1 i0 @/ [) b/ r. h0- }* e& V& Y4 F! r
    ​       
    " C' |5 j$ g3 @8 T3 g ,x * f. E) S$ g) z' f" S" W4 n# e/ ^& ^, {
    37 t; e, ~# |0 k; t8 z, `3 w8 g
    ​       
    1 H+ U+ Z" ^# K2 Z. T# r )=0.7573
    8 \8 u3 X. [* i+ ~: t, Y3 B/ ~9 o
    ⑥. 通过比较三个子序列和母序列的关联度可以得到结论:该地区在2000年至2005年间的国内生产总值收到第三产业的影响最大。
    9 v1 z! o6 D1 S+ V- K* ]7 D
    2 R: |- r' T7 R- R! h  b代码(python实现)
    4 W  T3 [+ `* O- Q) a% e: e) a& _, _, H
    import numpy as np
    3 Y9 j7 q8 p' _2 O0 q6 E% K+ Sx_mat = np.loadtxt('gdp.csv', encoding='utf-8-sig', delimiter=',')  #推荐使用csv格式% C2 T1 `( F# @0 Y
    1
    9 X0 a4 F- y- Y& a2
    5 e3 i& x) i# z& f2 h$ Y## 定义函数求解关联度
    1 i- z4 r0 n# Z5 V& n. Ldef gray_analysis(x):$ L; H4 G, d. `
        x_mean = x.mean(axis=0)
    0 B' t& z9 i* `7 G5 b% `& m8 a5 |; L1 U# H    x = x/x_mean
    - r( F; E7 A5 e' X( V$ c    Y = x[:,0]  #提取母序列3 Q7 B0 C) R  C/ V1 K
        X = x[:,1:]  #提取所有子序列
    & c5 c; O! e; U    abs_x0_xi = np.abs(X-np.tile(Y.reshape(Y.shape[0],1),(1,np.shape(X)[1])))# ~3 J. T7 ]( D  V6 l* q
        a = np.min(abs_x0_xi)" k$ K  h9 y5 p$ J0 W/ I
        b = np.max(abs_x0_xi)$ {3 {* E. Z: E$ T" r8 k5 b* @& N' R
        rho = 0.5
    ( h. l+ T2 H/ }  Z    gamma_mat = (a+rho*b)/(abs_x0_xi+rho*b)
      ~9 x8 c3 X6 X2 d6 ]    corre_degree = np.mean(gamma_mat,axis=0)' T: K# @5 l! ]# \! @
        print("子序列中各个指标的灰色关联度分别为:",corre_degree)
    5 q, Z  C2 n3 K3 l& H4 z————————————————
    , S" i. I0 ]3 E( r! D版权声明:本文为CSDN博主「脑汁」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。1 c+ E! Q# u  N, x
    原文链接:https://blog.csdn.net/ddjhpxs/article/details/105487261( T2 Z1 C" N6 ^" H; g
    $ q& Y  `  m" E9 m

    9 N+ D7 Q( z" Q% I" V) x
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    xiEnqing        

    0

    主题

    1

    听众

    4

    积分

    升级  80%

    该用户从未签到

    自我介绍
    SIMPLE
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-7-25 00:53 , Processed in 0.639212 second(s), 56 queries .

    回顶部