QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2509|回复: 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)模型来进行处理。 灰色预测在工业、农业、商业等经济领域,以及环境、社会和军事等领域中都有广 泛的应用。特别是依据目前已有的数据对未来的发展趋势做出预测分析。
    9 v# ?# p4 X! K0 ?' K9 \$ `- M& z% ~; Y' X8 _! q
    1 灰色预测的方法
    ; U7 I7 e7 R% S; Y! }
    & G/ k$ v4 q2 U1 x1 K1 Q8 C, {3 ]6 g9 u

    : v* Q0 n% G) o3 ?; B8 E
    + u7 F& r% a; P4 W* I
    + t) B" ?; f3 h4 i' X# \1 U- b6 n2 灰色预测的步骤8 }  W% b: {% m5 C
    1.数据的检验与处理5 f7 Q0 Z0 ~8 t( Y  W1 D

    2 q2 N6 L  t' ^8 k) T
    2 J" t; I, m' Z  S# ~  Z6 L, v7 V' J
    2.建立模型
    9 w* t" `7 [( U* A( U( a" Z按 第1 节中的方法建立模型 GM(1,1),则可以得到预测值8 O0 E5 E) x4 a" B: |
    ' z, S9 q$ Z. D. _9 w- E

    , F4 `( r' d0 M7 D" O0 I& [8 F0 f* P) W0 K/ I4 F1 \+ [4 U( h8 j9 T
    3.检验预测值! T9 p7 O- f6 F5 O0 M
    3 q+ \. E4 t" v; a9 _' l3 T

    ; o' a& m" M$ g- a8 r% W
    9 M1 G# H: L& [9 G' ?! q1 d$ Q; k5 y* d) Q* l( i
    4.预测预报
    + _: `; g) `. N' K! `- c( Y: x由模型 GM(1,1)所得到的指定时区内的预测值,实际问题的需要,给出相应的预测 、预报。7 [3 x' t. p; z# o0 ~9 |
    ) B  I8 a3 \- H7 T: E7 C7 K
    3 灾变预测
    . _) [* x% q- d2 ~上限灾变数列+ J0 n# s5 v2 [3 I0 M

    4 p7 i6 j# [8 }+ L
    9 T6 I# N7 j+ ^! r1 H- m8 S7 o8 I/ e, q
    同理,可定义下限灾变数列这个概念。注意,灾变预测不是预测数据本身的大小, 而是预测异常值出现的时间。我们考虑下面这个问题。
    2 t1 N$ E, \1 w5 F
    ! G4 o  i! {( A, h例 3 某地区年平均降雨量数据如表 55 U9 q) `1 O* B8 H% v" S

    ! |# c4 z# N, G5 V" n0 I
    ( A% x- w$ T1 o, v5 a& _8 X3 z2 E, `; D( F. E% x: j' K* L: v* {
    3 T' n! y" d* ]; e0 S9 U  y% i

    2 Y* H9 q* i2 i3 I由于 22.034 与 17 相差 5.034,这表明下一次旱灾将发生在五年以后。
    . A( T5 b1 S" F! z- S' ~5 D1 J
    ( y7 j4 I9 A) K0 B6 U2 o( z计算的 MATLAB 程序如下:& `4 {+ ?2 O2 T

    ; j  R0 R% ^% B! L, w3 yclc,clear
    4 _' K6 |" Y8 U, Za=[390.6,412,320,559.2,
    " D7 p) Q8 l% u" T4 C! g+ y380.8,542.4,553,310,561,300,632,540,406.2,313.8,576,587.6,318.5]';
    0 L. }2 ]: E; F* qt0=find(a<=320);
    / r6 ~! W: D. h6 J$ g$ O1 ^  }) lt1=cumsum(t0);n=length(t1);3 ~4 \9 A# H- e+ \  j
    B=[-0.5*(t1(1:end-1)+t1(2:end)),ones(n-1,1)];Y=t0(2:end);0 W3 w. Y1 _2 o0 H: C. {3 I( O: Z
    r=B\Y9 e4 o, o9 W) H6 i8 T- O1 Y
    y=dsolve('Dy+a*y=b','y(0)=y0');
    ' S) r. L7 B: ty=subs(y,{'a','b','y0'},{r(1),r(2),t1(1)});* X  I% x8 Y+ u
    yuce1=subs(y,'t',[0:n+1])
    ! j. h; f0 u% Q% \& q( Kdigits(6),y=vpa(y) %为提高预测精度,先计算预测值,再显示微分方程的解! ^# h/ k  M9 a, [) [. d; j
    yuce= diff(double(yuce1))
    4 Z: C1 ^% @; B# M9 }$ A, d% yuce=diff(yuce1);   % yuce= diff(double(yuce1))
    6 b" \" I2 M# ]; q; eyuce=[t0(1),yuce]
    : N& L, W9 M  {* O
    0 ~8 R8 X% e) M. |" f4 I4 灰色预测计算实例
    : p* P. u: V* q7 X2 x例 4 北方某城市 1986~1992 年道路交通噪声平均声级数据见表 6
    4 C% Y. P1 K+ F, r, S8 K/ c$ i
    - d  K- G: `, `                                             表 6 市近年来交通噪声数据[dB(A)]' _1 G, H+ {! M! k

    ( _9 u8 w5 N4 j- }
    1 ~; g! Z8 r$ f; a+ {0 K, X+ Y# D4 ]0 S8 {8 o5 b' `
    4 r* d( O$ s, N% P9 \
    第一步: 级比检验
    % f- p; V% j7 o( |' q: k5 x: o  ^& U. ?
    建立交通噪声平均声级数据时间序列如下:+ a& J, k: v, S. \2 N4 V3 X$ Y* p8 R# ~

    9 N% t3 S1 _- c- i% k' E8 Q- t; A, I

    1 d& l  P2 w# o, E* I: ^4 A4 U. A第二步: GM(1,1)建模. c/ m" o5 ?4 R* l' q6 \9 ]0 f
    , k% J* _7 F2 \& }! U) d6 E. o8 G
    - J! G, a9 r, D+ {

    ; n, D) ~0 H# u/ F5 ?% h" `( Z
    " j/ h- U' V& Q1 j9 W9 @4 C
    ; i+ D5 s- g9 g- H- Y' u6 f- Z2 w- D7 q. k! @7 r: Z

    # ~2 D( Q* ?! D; b& {) |
    . o" {% @" B( c) {9 O2 s6 H; o0 W1 c0 T6 V, R2 {3 }
    第三步: 模型检验$ P7 {# \2 A% k% X# ]  o
    * y6 @& g6 Q- Y; `" z+ \
    模型的各种检验指标值的计算结果见表 7.* Z  Z7 z: S! _2 z# ]) o
    3 e' e: q* I9 G* P
    $ l4 T( Y3 ?; W6 ?1 u0 j( F$ `
    ; S5 e% W# a& c: K& d0 F- L

    7 l5 e2 I  [0 k8 [2 @& G, L
    # }* D/ R9 `* a4 z& O经验证,该模型的精度较高,可进行预测和预报。
    / H! D6 L- D" Y+ _  o6 |4 p
      x8 M" w/ A* c5 J1 V计算的 MATLAB 程序如下:3 c! {0 _5 h$ u4 @- \+ O
    & m) p2 d! b' v# L
    clc,clear
    ; O( h1 v. H6 l" Sx0=[71.1 72.4 72.4 72.1 71.4 72.0 71.6];- n. P1 V* f2 I& P' L- z  n' i
    n=length(x0);5 l, C0 O, B9 J& v
    lamda=x0(1:n-1)./x0(2:n)
    2 j% \8 W: v/ x+ g/ C2 krange=minmax(lamda)/ @/ e9 u9 m1 a# |; _" N; @
    x1=cumsum(x0)# p* h# d- X- s
    for i=2:n
    8 x: U( I  j4 g) ?, U' x- ]    z(i)=0.5*(x1(i)+x1(i-1));
      O: A0 m/ g8 X$ k/ q) x+ ]end' V6 ]9 {4 Q/ E
    B=[-z(2:n)',ones(n-1,1)];
    1 [/ }/ ?* F! R: b" c8 Q; ?2 dY=x0(2:n)';
    1 F" ]. M" B  ~) ~8 }) Mu=B\Y( d/ t7 O/ Y7 a& O4 x9 r; \
    x=dsolve('Dx+a*x=b','x(0)=x0');; ~0 S' Q) v0 {* c# Y! i
    x=subs(x,{'a','b','x0'},{u(1),u(2),x1(1)});& b- f* [, ?9 G( o9 {; b% W
    yuce1=subs(x,'t',[0:n-1]);
    9 M4 z" z) e2 N1 W' Sdigits(6),y=vpa(x) %为提高预测精度,先计算预测值,再显示微分方程的解7 B! i" F5 K* ^2 ^0 _- F  F7 f- P
    yuce=[x0(1),diff(yuce1)]( [( @) J; U* X
    epsilon=x0-yuce %计算残差+ |8 B3 V. x2 W3 t4 v/ y. m1 V( r
    delta=abs(epsilon./x0) %计算相对误差
    - h/ Q3 s$ L8 E$ e4 Brho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda %计算级比偏差值! b2 j: c1 Q7 T* i: l$ R
    5 D. ~; C* `* D" o
    7 A& o0 l9 Y( [* z2 L1 T9 v

    0 c; k( L8 b6 k# l" \6 `————————————————
    , V5 q) ^8 m( q+ I5 f  O1 u3 n版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。2 f" X6 b7 U- L
    原文链接:https://blog.csdn.net/qq_29831163/article/details/897140749 N; g/ g8 }" B
    / s- f% g: s$ d8 Q4 W0 X% x0 O( S  H
    4 `' }% d1 o5 Y- F( O6 Y
    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-6-11 02:15 , Processed in 0.603422 second(s), 50 queries .

    回顶部