QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2571|回复: 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)模型来进行处理。 灰色预测在工业、农业、商业等经济领域,以及环境、社会和军事等领域中都有广 泛的应用。特别是依据目前已有的数据对未来的发展趋势做出预测分析。, x$ N  P1 g* {. Q( s2 @
    % L8 l3 W1 w) z6 [
    1 灰色预测的方法' @/ f% I' Q9 @! D
    1 M2 b8 J5 M' i, D; r+ i* e2 U

    . r, F6 n6 ^: b* c9 f. `  @9 U
    0 E2 |6 c; |$ A2 @! {
    ! s% n; Z; {. Y4 c1 D; c0 x: u
    # d5 n/ F2 O+ U5 [% w7 i' I2 灰色预测的步骤
    . H/ ^4 b  b# W4 Q# @1.数据的检验与处理
    # Q) l+ g4 _/ o. \- M; v
    ' a; H$ J6 \/ v; n8 _
    / @/ x' {, E9 T
    $ ~: c6 i% D! `8 k  ~  l2.建立模型1 w/ M  T/ D+ t+ y1 _
    按 第1 节中的方法建立模型 GM(1,1),则可以得到预测值
    3 V0 |4 f' ]% B7 J! z( A/ D) A2 N' L, S2 J( @

    / F7 S( Y3 _" |- p# |1 |
    & I8 R" O9 p/ w- t. \+ W( `3.检验预测值+ t' `) O' Q+ Q+ }

    & Y* j0 [- y7 w; @; _5 X
    & `) z  A1 `: `8 x3 ]' e$ [, }* D! ]+ k/ X: B; F( J
    ; N8 @2 i6 i7 D4 v  B
    4.预测预报
    1 S# V6 [, L1 ]+ |6 u, I' d+ F由模型 GM(1,1)所得到的指定时区内的预测值,实际问题的需要,给出相应的预测 、预报。/ _" x/ _: i) |4 {
    : K' _: A+ D) Q
    3 灾变预测2 H: j- N- f: K  h+ a! t7 n% Q
    上限灾变数列% A- [' j- z; ]; c1 w1 K7 S

    ! a" a5 ~* Y% o' @6 n' B! N3 u! t
    4 Y- r! e& ?1 {7 o' N* @6 c0 R) f  S
    同理,可定义下限灾变数列这个概念。注意,灾变预测不是预测数据本身的大小, 而是预测异常值出现的时间。我们考虑下面这个问题。
    / D" r) K8 b( O3 W3 Y# a
    + ^' i- Y7 L: |% `; f% ^. ^例 3 某地区年平均降雨量数据如表 53 C: a& ]( P: m) h3 E
    9 m" O. o; z4 |' H8 y9 k* ~
    " K' _. V/ v* L2 d

    ' B& s. g  U1 }$ R" I0 H! T/ a/ Z' O+ c2 i
    9 c8 f2 M4 P( @1 e) `/ D3 @
    由于 22.034 与 17 相差 5.034,这表明下一次旱灾将发生在五年以后。
    / S- A; f( M. O0 W* @7 C5 a- N5 i$ M( [( z8 _
    计算的 MATLAB 程序如下:
    9 ~# E7 t: V  G3 _& b) `
    ! K9 R9 O) j- S& |clc,clear* B0 G# [6 x; T2 l" K3 i! h, o
    a=[390.6,412,320,559.2,
    $ |6 _' w5 X" o( [2 _) B380.8,542.4,553,310,561,300,632,540,406.2,313.8,576,587.6,318.5]';' m/ }$ F' k9 Z* W; b' s
    t0=find(a<=320);- K3 H$ g! z; y) t2 i8 N, E& M
    t1=cumsum(t0);n=length(t1);
    . I% ^" H) E6 Z  aB=[-0.5*(t1(1:end-1)+t1(2:end)),ones(n-1,1)];Y=t0(2:end);. t' N* F, S1 Q. `" X
    r=B\Y
    ( ]$ q! M+ B% |5 ^y=dsolve('Dy+a*y=b','y(0)=y0');
    & ^8 ?6 S+ u# g0 s4 ?- Ky=subs(y,{'a','b','y0'},{r(1),r(2),t1(1)});
      o2 w+ Y0 [: G, O$ H6 b; C7 c1 N. Iyuce1=subs(y,'t',[0:n+1])
    ' H. k0 ?0 R, I% M! o% Kdigits(6),y=vpa(y) %为提高预测精度,先计算预测值,再显示微分方程的解
    4 \0 ^) o& m0 c; t+ `yuce= diff(double(yuce1))
    ' D0 X1 t$ I  N4 s/ \+ m% yuce=diff(yuce1);   % yuce= diff(double(yuce1))
    ( C* ^( w( J9 S7 v( k+ `# Ayuce=[t0(1),yuce]
    4 K2 [7 o" `  `1 w, Y* u8 P1 N- _- a8 d" q
    4 灰色预测计算实例8 N8 R# J7 t; N4 R1 m1 x7 u7 Y
    例 4 北方某城市 1986~1992 年道路交通噪声平均声级数据见表 6. w0 r+ T4 n$ d7 t6 h5 k; I
    ' v1 M% `  }" O# E0 {$ ]& I
                                                 表 6 市近年来交通噪声数据[dB(A)]# a# Z" q! d5 g7 m' J4 R0 x6 N
    ) a& @( p$ ^' M$ @

    ! O8 u6 l% }, {+ Q* e+ v; U( y1 b* B6 l# i

    5 x" |+ e( m. c第一步: 级比检验
    - G9 `& l  |4 M+ [3 ]8 `. W8 a& A1 M
    建立交通噪声平均声级数据时间序列如下:. O# g  o& n& F6 M: Z* W. O* b

    ( ~3 u% b2 r* f- C/ @# D
    % X- M* Y1 A) V9 u4 N$ D# _( Y1 o" |+ N/ r* d
    第二步: GM(1,1)建模3 s+ t& T" `& b) I  @, {5 C
    + u. K6 D) W9 J/ Z3 d

    6 C; {0 T+ O  J) J8 [  G0 U+ L% T% O& n( N9 J% v
    5 {- M. ~( f0 }/ V4 \% |
    % ^' Y; D5 N, G, s/ b

    2 K) Z& y  B2 d
    4 T1 ]0 h4 b0 H5 I6 y
    + C/ t1 E  P0 x& O
      \& W  E( f. G9 Y第三步: 模型检验
    6 `% l. l  e# Z( f5 O& _: w2 p  s6 @7 T* z1 N
    模型的各种检验指标值的计算结果见表 7.
    1 X9 h% ~: s3 Y) u5 B+ N' d7 X' ~
    & u' |% o7 ^0 S  {( v

    2 F$ c, K9 j, }' j; s! L& C) c' @; `1 O1 G; F. ^+ Z+ u

    2 {0 J) L: y. a经验证,该模型的精度较高,可进行预测和预报。( g0 z. U" B$ X5 V% T; X( v# C4 C

    8 h' t! k- F" H6 V' v' h( u; q0 W计算的 MATLAB 程序如下:6 |/ n8 y% D& m
    & y4 e9 k( o, \7 i. D; d
    clc,clear
    $ e. p. F; T: A" Qx0=[71.1 72.4 72.4 72.1 71.4 72.0 71.6];
    ) k3 H! A/ v6 G3 {2 L. gn=length(x0);8 Z. @! P0 I2 }8 t4 U  Z; `
    lamda=x0(1:n-1)./x0(2:n)0 `" ?, H" q( _7 e* O$ k
    range=minmax(lamda)
    3 \5 c8 n7 n& Ix1=cumsum(x0)
    ! C0 U( r9 |9 E9 k, Zfor i=2:n& _; i7 Q- O2 X9 M
        z(i)=0.5*(x1(i)+x1(i-1));- b  a3 Q8 |: C8 j* _3 {( u& E$ L
    end+ j8 N- U' X) R% @! o) C
    B=[-z(2:n)',ones(n-1,1)];
    4 b) ?# w- O  c9 O3 d- ^/ NY=x0(2:n)';
    & y1 ^% l4 `4 G% _5 I7 F* X& Mu=B\Y
    5 K0 `& m2 s2 G3 g0 _0 o6 ]1 Ux=dsolve('Dx+a*x=b','x(0)=x0');
    4 w  G; A; ]$ X! z$ d6 jx=subs(x,{'a','b','x0'},{u(1),u(2),x1(1)});
    % e1 d* r$ r' t5 [  V1 ?yuce1=subs(x,'t',[0:n-1]);
    ' B9 I6 P. J' O4 z/ z; [digits(6),y=vpa(x) %为提高预测精度,先计算预测值,再显示微分方程的解
    ; w" ^* j3 S8 `5 Q5 `yuce=[x0(1),diff(yuce1)]0 z; }2 Q( Y6 H
    epsilon=x0-yuce %计算残差! S. I( `$ Z# `8 z" _
    delta=abs(epsilon./x0) %计算相对误差
    3 v/ i; `9 {  t5 y" m& _! irho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda %计算级比偏差值
    " S3 A  K) O5 N9 w+ ]! F8 \
    : ^. P" Q0 F3 T* f. a5 O
    4 V# b! v2 y, K; E
    % S. `3 Z0 f: U% o' S: F3 O- R————————————————2 D1 I: n( t, T- [2 _$ r: S4 k1 ?
    版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    5 P  t8 ~$ R1 L原文链接:https://blog.csdn.net/qq_29831163/article/details/89714074, K6 C( x& [5 ~+ M$ M

    : \$ X, D% \4 v. r
    % L8 V" @- H& 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 10:57 , Processed in 0.417051 second(s), 50 queries .

    回顶部