QQ登录

只需要一步,快速开始

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

[建模教程] 灰色系统理论及其应用 (五) :灰色预测

[复制链接]
字体大小: 正常 放大
浅夏110 实名认证       

542

主题

15

听众

1万

积分

  • TA的每日心情
    开心
    2020-11-14 17:15
  • 签到天数: 74 天

    [LV.6]常住居民II

    邮箱绑定达人

    群组2019美赛冲刺课程

    群组站长地区赛培训

    群组2019考研数学 桃子老师

    群组2018教师培训(呼伦贝

    群组2019考研数学 站长系列

    跳转到指定楼层
    1#
    发表于 2020-5-27 15:01 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta |邮箱已经成功绑定
    灰色预测是指利用 GM 模型对系统行为特征的发展变化规律进行估计预测,同时 也可以对行为特征的异常情况发生的时刻进行估计计算,以及对在特定时区内发生事件 的未来时间分布情况做出研究等等。这些工作实质上是将“随机过程”当作“灰色过程”, “随机变量”当作“灰变量”,并主要以灰色系统理论中的 GM(1,1)模型来进行处理。 灰色预测在工业、农业、商业等经济领域,以及环境、社会和军事等领域中都有广 泛的应用。特别是依据目前已有的数据对未来的发展趋势做出预测分析。  V  L: |1 a4 L2 M2 g7 b6 q
    7 l" s: X" T4 [2 r5 c, G
    1 灰色预测的方法
    7 Q# q: o5 o# V3 @. j( ~$ ~1 A, i. u! w
    7 y  q, J6 K) W# U
    2 F) @$ \, s4 A' k; a6 ?' X- `# h$ H% Z: o2 c" ~. f
    7 P: _$ p* @- G

    + Y: t( V% t7 L8 @+ A$ R2 灰色预测的步骤
    . x" G2 B1 n, n6 W1 M7 X9 v7 Z1.数据的检验与处理7 U& G; [# E! B. i

    ' E3 ?5 g' R/ C7 [& w) R, |; q7 B

    ; G3 X! y" a, K1 z2.建立模型% L# f+ `8 f  v- ?: d6 R' @4 u
    按 第1 节中的方法建立模型 GM(1,1),则可以得到预测值
    : E0 I8 @" j6 J% z! l
    : m( q, x% Z0 C- k
    * m/ b7 u/ N; ^' `. `( n0 ~
    ) q( m! v( m' c, R8 U3.检验预测值) X( c  U+ D* X1 K  `8 S* _! a

    $ U/ H+ O6 |; y& U- R1 w; `0 u* r6 ~/ Z% B3 g1 _
    - k% w5 \# R# d9 R2 F9 n
    % c5 M1 C5 I+ V  b3 X. l/ ~) y& f: y
    4.预测预报
    / O3 B6 _  ?0 _由模型 GM(1,1)所得到的指定时区内的预测值,实际问题的需要,给出相应的预测 、预报。* a3 C/ }- s: a; S3 I* d% N

    1 x0 j, J9 i( Z3 灾变预测
    7 |" i4 c& a1 l9 R" L7 J# D上限灾变数列
    % |& n! ]/ X2 [- T% j. `+ H4 O7 \
    ) W% }3 p; i; @7 O! J- |
    - h- O9 Q* j2 l; I4 Q% Q  U" L
    0 Z! a# R# I' [+ q! _# b9 |同理,可定义下限灾变数列这个概念。注意,灾变预测不是预测数据本身的大小, 而是预测异常值出现的时间。我们考虑下面这个问题。
    1 ]. X+ V" a: d( h" J9 z
    ! C4 u& y- c" D+ ~# n" b+ u例 3 某地区年平均降雨量数据如表 5; m6 O% }4 v' F6 v: j* R
    & t1 ?' U, h4 H- E2 z" i; G
    6 v) b, b* w$ z# Y* r4 E9 u
    6 \: v9 w8 @' n; C* G8 w
    - {0 Q' Q: f, h+ S

    . I1 k4 C9 u/ a& X6 E9 h由于 22.034 与 17 相差 5.034,这表明下一次旱灾将发生在五年以后。
    0 c" U7 Q; V$ m" t7 ?1 s6 A% B5 `3 K% k8 d, W
    计算的 MATLAB 程序如下:
    - x# o" W  x# r7 A
    % R3 P4 J( K3 e8 i3 G, g8 b6 d7 Oclc,clear
    ) n- @8 \$ X  Y/ |# O8 H9 xa=[390.6,412,320,559.2,9 i  |! Y) J) X3 O
    380.8,542.4,553,310,561,300,632,540,406.2,313.8,576,587.6,318.5]';
    4 L( f3 E2 N- {& o5 }t0=find(a<=320);
    $ X. V2 [5 p. _! ct1=cumsum(t0);n=length(t1);
    9 T, ~( c  F/ \B=[-0.5*(t1(1:end-1)+t1(2:end)),ones(n-1,1)];Y=t0(2:end);8 F+ P) ^0 G1 d7 W, @. n1 a
    r=B\Y
    : P; Z& U  V# r2 iy=dsolve('Dy+a*y=b','y(0)=y0');
    ' M  H6 V  X$ v  M+ sy=subs(y,{'a','b','y0'},{r(1),r(2),t1(1)});4 a- c* q, Y6 L% n; r
    yuce1=subs(y,'t',[0:n+1])
    + T! k6 r( H5 R0 H% ^! n6 fdigits(6),y=vpa(y) %为提高预测精度,先计算预测值,再显示微分方程的解. ^, i( A' i! x
    yuce= diff(double(yuce1))9 g7 i+ j9 C5 O. s
    % yuce=diff(yuce1);   % yuce= diff(double(yuce1))
    ' }7 Q5 H) U0 b  b9 ^3 g  uyuce=[t0(1),yuce] 5 }) v- s- Z" R' ~& `5 t/ Y+ c. `3 E

    0 y8 |3 i1 C2 S# p  o9 E4 灰色预测计算实例
    3 F3 P1 ]1 X3 ~" y# h- ^0 A' X" }例 4 北方某城市 1986~1992 年道路交通噪声平均声级数据见表 6" d0 G# `: O, y& p1 n5 ^
    8 P, B* A$ U) v6 a& ]1 y
                                                 表 6 市近年来交通噪声数据[dB(A)]
      r$ z( _" \' S
    4 c; @1 r: C' ?/ d4 r' Z$ J/ o: g* H3 M
    , ~, m8 @* F  B6 c0 A& e! r
    $ M+ r, E6 [& w- y6 w8 y: f
    第一步: 级比检验. F3 P' J% |+ Y- f% z
    ) V% D- ^4 [/ Q" f5 r; F, g
    建立交通噪声平均声级数据时间序列如下:
    ! H$ R" n+ J' ]' `/ O; @, \/ t. |0 W8 E

    ' D8 c8 B* [. ]0 z6 k
      G7 P5 v) Q0 C8 r/ R  m9 u第二步: GM(1,1)建模
    : z: H$ n9 A9 U4 d: L- x3 a# ]4 c$ a& n. B- f8 |& p

    - p9 R: `' F. w+ H* C2 J+ I5 G3 C1 \! M0 g% F, n% ^' X
    ' o: {4 g$ V. K4 w4 G9 D+ Y

    : J3 p. j8 Y- X/ j% T1 `. ~" B
    4 L) m; }" y6 x7 T  s2 d3 U0 Q4 z/ @# m! S: s; X5 [

    5 a7 U/ I3 Z0 y/ z9 \; O2 m1 ^  v% x- G
    第三步: 模型检验6 X5 I( p; y* H1 N' C* r5 ^
    ; l+ B; _) {" H5 a* p) }8 j- F
    模型的各种检验指标值的计算结果见表 7.* H" u  [- d7 f. }% }- U
    0 s. E. \: g) T
    1 K6 v6 r7 i, s% }# M% ^
    3 Q* x- s, b, n6 x
    5 o- B  T4 o! W) M" P

    ; f1 `* ^1 R1 e) r+ T经验证,该模型的精度较高,可进行预测和预报。
    ' N5 s! ]( B  Z- i% l& Z3 E) [6 o
    计算的 MATLAB 程序如下:0 Q6 D- q) f! \. r4 L# G
    ; W6 z/ J% t9 r! I, I1 g
    clc,clear( H- i& m. E/ h
    x0=[71.1 72.4 72.4 72.1 71.4 72.0 71.6];0 ?- x& J6 E! b7 x5 E
    n=length(x0);5 d. n% S1 ?! N. I- ~% s# B8 l
    lamda=x0(1:n-1)./x0(2:n)" n3 A$ t* f7 e
    range=minmax(lamda)2 ~2 G7 R. d# k+ g
    x1=cumsum(x0)9 T" X* k1 C. t" K- t7 b; m
    for i=2:n/ e& n4 a; W, H
        z(i)=0.5*(x1(i)+x1(i-1));
    # Q+ F; H: u$ ], ?, }end
    + y4 ?+ {* r# B! @! aB=[-z(2:n)',ones(n-1,1)];2 P5 ~" v6 v1 [) T
    Y=x0(2:n)';7 u2 @& x: O3 g" i$ M' G( ]
    u=B\Y
    # G4 z9 ?; E2 T, F! o3 z1 p& B# Dx=dsolve('Dx+a*x=b','x(0)=x0');
    7 U# V  u9 J9 J5 V% H, ~& Q8 hx=subs(x,{'a','b','x0'},{u(1),u(2),x1(1)});" @2 y6 R3 Z" U. D6 n) e
    yuce1=subs(x,'t',[0:n-1]);/ n" [0 D( N5 Z4 C
    digits(6),y=vpa(x) %为提高预测精度,先计算预测值,再显示微分方程的解) E  _, m2 e4 S& T+ ?
    yuce=[x0(1),diff(yuce1)]
    6 g$ e6 s! T- hepsilon=x0-yuce %计算残差
    : _( C; Q3 a. Bdelta=abs(epsilon./x0) %计算相对误差
    & u# |2 u4 T5 V& ^# Rrho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda %计算级比偏差值1 P- F4 |) C# H) Q" o" A

    8 q$ t7 a5 t  D1 Z: `: i7 h, ^3 Y2 K
    . I0 L! l8 U  J, o
    ————————————————. c) f- O3 _) _2 m
    版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
      n; s7 \9 |- b# K/ y6 a8 N$ u原文链接:https://blog.csdn.net/qq_29831163/article/details/897140740 X5 Z. D; B4 h5 g
      I! h. c6 m; O/ v3 G- T
    ' ?9 c" w9 S* p- d: _/ B- R* q
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-9-13 11:51 , Processed in 0.852504 second(s), 50 queries .

    回顶部