QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2536|回复: 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)模型来进行处理。 灰色预测在工业、农业、商业等经济领域,以及环境、社会和军事等领域中都有广 泛的应用。特别是依据目前已有的数据对未来的发展趋势做出预测分析。
    ; B9 S& b: B: `+ ?+ Y* P5 S1 {3 ~  B$ R2 m
    1 灰色预测的方法
    3 I% h2 |) u7 T* D" [
    ! S8 _+ F3 O9 K. Z, c9 `( L( b4 d2 C- v5 {% |: I) H) d5 F0 P" t
      L/ V! s0 x$ `- e! t( \
    & G) i6 Y& Z* F0 s
    0 K1 c4 f6 r3 A' L
    2 灰色预测的步骤; T: [' o2 ?' T1 g7 k" a
    1.数据的检验与处理
    6 z, x4 r$ G, r% i& }- _
    . P) K1 Q1 ~- J* l5 T5 y' K6 o; n; n$ ?  B9 v/ v

    , T1 y2 f+ P  i0 |# ?2 H9 G# w2.建立模型8 n) ^& b, J8 F2 Q' n
    按 第1 节中的方法建立模型 GM(1,1),则可以得到预测值8 y: e% m7 C0 m* P& k
    ) x4 f% @& p5 k: M5 m# e

    , Z! g9 ~5 K' {: Q: t) o
    6 G/ T' f" O# W1 B3 b' Y  v8 t. S3.检验预测值
    , B7 s5 B$ ], v) B  G" R
    ; @6 {( n! M! r3 L, u7 e1 h# U
    9 Y3 x2 {$ n0 J8 ?
    . n) E, V: T+ c2 L3 y' m6 h. S9 S; i  W6 B4 h, v
    4.预测预报
    + F" g# f: i0 Q0 b$ N. q由模型 GM(1,1)所得到的指定时区内的预测值,实际问题的需要,给出相应的预测 、预报。- V( f6 f- f, J1 r
    9 q* O1 y0 o/ |) q: y
    3 灾变预测
    7 d1 y2 v3 v$ v0 X% X上限灾变数列
    5 c- j0 n$ D1 e* }. u; y# S# o5 h7 t( t$ h$ M
    1 j+ b$ ~# `5 M1 C& X1 U! K/ J
    $ e, u# y, x( V4 q4 f5 A
    同理,可定义下限灾变数列这个概念。注意,灾变预测不是预测数据本身的大小, 而是预测异常值出现的时间。我们考虑下面这个问题。
    6 m8 H$ M' b5 i, H# T* l  O6 `& r& r  D2 n( O# z, W0 G
    例 3 某地区年平均降雨量数据如表 5' x8 t0 K2 D* ?% W; K; l5 u

    4 E) O& y& P; S4 M8 M1 z; b6 T- Y5 y7 B4 W2 w. L" c, n
    # }. p) v" A3 @  L3 H( L
    3 j9 T0 J" m) ~& j  x5 O

    1 a! }4 s2 e, E9 S! c. X( h由于 22.034 与 17 相差 5.034,这表明下一次旱灾将发生在五年以后。9 b  s+ Y5 G' N& @

    2 N& X6 d: l' V2 j$ K计算的 MATLAB 程序如下:* E  B. [$ g! J; u% L: m2 U

    " V7 n: N0 d4 l5 Nclc,clear
    8 [# L2 e0 K) ka=[390.6,412,320,559.2,
    ! ?$ B) ^# z) i. j7 y( a" j( P3 n4 `380.8,542.4,553,310,561,300,632,540,406.2,313.8,576,587.6,318.5]';
    " K7 [( D9 P- [t0=find(a<=320);1 g( ~/ _8 z2 K8 W% `& ?
    t1=cumsum(t0);n=length(t1);7 g$ v& C! o* ^0 d2 o8 g" ]4 |" C2 R
    B=[-0.5*(t1(1:end-1)+t1(2:end)),ones(n-1,1)];Y=t0(2:end);
    / t9 v9 p  n5 S8 A! ]) U5 Rr=B\Y
    ! D5 D" y7 L  F9 B* |. O5 Hy=dsolve('Dy+a*y=b','y(0)=y0');
    & ], j5 o3 F0 Z5 F. xy=subs(y,{'a','b','y0'},{r(1),r(2),t1(1)});$ O9 k+ S1 n: h, `$ n% v) c4 k$ B% {
    yuce1=subs(y,'t',[0:n+1])
    3 u, c  k: x0 S1 q8 j6 O& D' ^digits(6),y=vpa(y) %为提高预测精度,先计算预测值,再显示微分方程的解4 }$ A. C4 H" G" i$ i  {
    yuce= diff(double(yuce1))4 ?6 N/ S( _3 Z. r+ F4 H8 h
    % yuce=diff(yuce1);   % yuce= diff(double(yuce1))
    - y* f+ G$ ]: K7 }' ?2 gyuce=[t0(1),yuce]
    ; b$ O9 Z; G( T& h3 `! i/ |1 E; A# J$ p8 Z2 |" c0 O  d3 E( T
    4 灰色预测计算实例5 d1 G: I3 h2 _* D% V
    例 4 北方某城市 1986~1992 年道路交通噪声平均声级数据见表 68 e6 }- O1 H% G; Y- a
    / o* j+ V+ Q$ w( [0 @+ f
                                                 表 6 市近年来交通噪声数据[dB(A)]$ G6 X) H) L, X& `; k; m" T
    " x: p4 x- _! w% \& v5 y0 y& T

    # a0 k) i; Y2 M0 d$ [2 B7 x& e' Y  W* n, w( `

    0 e0 n& C0 |# z- G第一步: 级比检验3 _# m  @( ?0 u: X
    ' Y0 u2 M* s6 C0 G7 r
    建立交通噪声平均声级数据时间序列如下:4 Y( Q, |7 Y- ^/ Z7 F( F( x8 A
    ( S/ {& d5 U8 ?1 m1 p
    : p) T, U) i/ |0 h; b3 s9 c
    * t0 t4 f" k1 P% M/ Y
    第二步: GM(1,1)建模
    * A: G( S  Y+ U7 q
    4 e- `/ V7 I2 I! e; {- z& p" D( c& C# J+ }, _/ N/ d) J
    7 W5 N$ e0 p+ ]! A* A+ E9 T

    - U, J: R8 N, N' Z7 e& E
    * e# B( c8 u* r+ r5 j/ s8 j3 G6 n: P; v3 F/ M
    . Y0 x# ^4 G( C" L& D7 Z. x

    8 N  R9 D+ s0 ^$ V0 }$ |2 @% Q7 r: k* l% n4 E& {) ^9 ~
    第三步: 模型检验* r5 [9 }3 y# {8 {" Q) {

    9 q! V* J3 A: G/ d& }8 }6 o9 ^) }模型的各种检验指标值的计算结果见表 7.
    " O+ J# x/ ^" p  \1 j  z
    3 ~. {3 Q0 T- {' f9 a  p. M( s4 _3 H

    ) U) P# K, ~5 u4 Y/ x! I0 T) S/ Z2 x, A! S: R
      o5 a  ?# B* k
    经验证,该模型的精度较高,可进行预测和预报。
    # }- M& G2 B4 Q) A" u, U$ N0 W4 Q" O% }
    计算的 MATLAB 程序如下:5 J* {' _4 B# l
    0 R: S, c+ |& i5 P+ S7 F& P  A: ?6 H
    clc,clear- T: d4 w' j: b2 G# O
    x0=[71.1 72.4 72.4 72.1 71.4 72.0 71.6];
    6 Q( E* ?+ T5 U. Rn=length(x0);5 F$ n2 V6 T( e
    lamda=x0(1:n-1)./x0(2:n)/ _3 i! P1 r  U& S$ q4 u
    range=minmax(lamda)/ w4 ^# L3 I9 W, Z7 P
    x1=cumsum(x0)! {& F4 w+ U( C/ K( ]
    for i=2:n# G0 {9 J8 g; x- A, o. D: u4 L
        z(i)=0.5*(x1(i)+x1(i-1));
    ) }+ t8 X  n$ V7 Qend
    8 D% D+ T3 z8 K" ^/ P- @# mB=[-z(2:n)',ones(n-1,1)];
    - j$ o" a- m! ?6 y( V! BY=x0(2:n)';" h+ d1 m6 G7 L! H
    u=B\Y
    5 C  [# Z  ]' P2 A1 fx=dsolve('Dx+a*x=b','x(0)=x0');
    5 I$ o. b7 v$ q' o5 Yx=subs(x,{'a','b','x0'},{u(1),u(2),x1(1)});! N+ Z- `  M$ J
    yuce1=subs(x,'t',[0:n-1]);
    ' v2 i6 ?( H; B0 Tdigits(6),y=vpa(x) %为提高预测精度,先计算预测值,再显示微分方程的解  ]0 _' s. d2 m) F, @
    yuce=[x0(1),diff(yuce1)]
    8 P( m; N2 K  k( }$ u0 uepsilon=x0-yuce %计算残差
    & I( Q2 \1 c! ~9 Jdelta=abs(epsilon./x0) %计算相对误差
    , H9 P9 g% J5 `3 r# R% S) K; Srho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda %计算级比偏差值' I; j+ {/ B1 ^; M1 B
    1 G. I$ F$ b4 s: [' e

    0 p3 ]+ ]& T* ~" [3 O- P0 g5 Y# a) A' U1 n. X; s
    ————————————————1 B' s' H3 l$ {# {5 s
    版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    5 K8 U) N: V' c5 a2 e" |原文链接:https://blog.csdn.net/qq_29831163/article/details/89714074
    8 v1 Y5 Z& ^: W' ~" m- _" {+ A5 p. |3 z" M; D- I% k

    ( m6 I) K6 O' d! G
    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-7-28 22:03 , Processed in 0.372445 second(s), 51 queries .

    回顶部