数学建模社区-数学中国

标题: 灰色系统理论及其应用 (五) :灰色预测 [打印本页]

作者: 浅夏110    时间: 2020-5-27 15:01
标题: 灰色系统理论及其应用 (五) :灰色预测
灰色预测是指利用 GM 模型对系统行为特征的发展变化规律进行估计预测,同时 也可以对行为特征的异常情况发生的时刻进行估计计算,以及对在特定时区内发生事件 的未来时间分布情况做出研究等等。这些工作实质上是将“随机过程”当作“灰色过程”, “随机变量”当作“灰变量”,并主要以灰色系统理论中的 GM(1,1)模型来进行处理。 灰色预测在工业、农业、商业等经济领域,以及环境、社会和军事等领域中都有广 泛的应用。特别是依据目前已有的数据对未来的发展趋势做出预测分析。% I+ s: c. @: U, }8 p. z
% Q5 ?7 q4 [: r, u+ {
1 灰色预测的方法/ N2 Y/ Y  |/ W. M- Y- ]& w. g+ v
/ x" v. T" d( S" t" V
! o) T9 Q' ~5 r: p7 N
* E; l, C! Z& H2 x% O, Y$ [
$ N# ?9 c' C4 E8 H1 B

  d9 M& b5 I- _% l7 v* n% E' _! J2 灰色预测的步骤5 k! {) o5 Y" t4 M, M/ m
1.数据的检验与处理! N/ ?7 c) T1 J* h

" }+ I% a& j" k4 p% _& ?5 Q6 ]1 {0 i5 C* t! h* d  J
( q1 F% x; p$ m! A. L, x. O7 G) D
2.建立模型. L0 `( _% \, s1 J
按 第1 节中的方法建立模型 GM(1,1),则可以得到预测值
2 L1 f5 s7 N. u2 y" V. ~: f  u6 D; M' w/ T  w

1 }$ f) g, t3 ]+ z- I1 g  E
% E6 W0 `7 U1 h9 o$ P$ ~. C3.检验预测值
5 O$ |! P6 n$ Q7 H. A4 {1 C! U5 {  Y  B7 A" I# R' L

% v; m* I. |, q0 |- P" J
2 x" D' R9 n$ ]' F. A4 U* u+ w% Q& w. X# R0 d
4.预测预报+ _! N1 S& a  Z" x
由模型 GM(1,1)所得到的指定时区内的预测值,实际问题的需要,给出相应的预测 、预报。2 x4 w$ R& c  Q5 `* {

6 Q! i7 X/ M( P$ H3 灾变预测
2 O7 Y" d5 t! B5 [. E$ T上限灾变数列
- f% q, U) L$ q* C& |
; y! ?/ O& W4 u0 k/ [' K; L
6 E- R' Z# Y) x7 q6 d! s( n# M) O2 J, K% R$ ]( Z
同理,可定义下限灾变数列这个概念。注意,灾变预测不是预测数据本身的大小, 而是预测异常值出现的时间。我们考虑下面这个问题。& \3 I* u! D8 P1 L! L/ X

: g3 @: X/ b/ S' n  o/ l# F例 3 某地区年平均降雨量数据如表 5- f- Z  C6 O8 x" c( @) C. s
6 g, n; {- P, y# ?5 \, [
8 t6 s( G  x" b  i
; {8 U$ k$ y7 t6 G5 B3 f

; W, Z$ M) s7 W) E: i  {
& C( w+ i, r; v3 z: D7 o8 V6 O由于 22.034 与 17 相差 5.034,这表明下一次旱灾将发生在五年以后。2 \/ O! I' V8 [- Y1 k3 ?

3 ~# l  F; F2 z0 l, y9 g8 C" _计算的 MATLAB 程序如下:. I; n1 Q+ j  S
5 `% K" W+ b( ?4 L- T% O- H- k3 b
clc,clear
% G0 \+ k: v6 k$ @2 X4 U* O* Za=[390.6,412,320,559.2,3 F7 @: u: l$ p( ^/ f9 d4 u+ p* Q0 a
380.8,542.4,553,310,561,300,632,540,406.2,313.8,576,587.6,318.5]';& j- N! D6 k' D1 T+ P
t0=find(a<=320);# {2 F# j1 g6 B2 j* h
t1=cumsum(t0);n=length(t1);
7 y9 x) \% {5 |* K: X6 `B=[-0.5*(t1(1:end-1)+t1(2:end)),ones(n-1,1)];Y=t0(2:end);
& u6 s3 s: i0 I8 }; Q* o/ hr=B\Y
: N8 I$ V5 a; vy=dsolve('Dy+a*y=b','y(0)=y0');, H5 |! {- x0 @9 d3 [$ I
y=subs(y,{'a','b','y0'},{r(1),r(2),t1(1)});
7 b4 Q. v; R+ byuce1=subs(y,'t',[0:n+1])4 l* V" ?! H  A5 T6 Z* |) I" e4 q
digits(6),y=vpa(y) %为提高预测精度,先计算预测值,再显示微分方程的解
/ f+ q2 ]0 I6 U, k& hyuce= diff(double(yuce1))! Q4 Y  G' j; Q: o+ R4 p- n& \
% yuce=diff(yuce1);   % yuce= diff(double(yuce1)): ]* a/ G  H& U0 }5 t
yuce=[t0(1),yuce] 7 w6 K) a: L7 e

2 P( W& x1 p2 \, x  x# f4 灰色预测计算实例, S. H7 u* `) V" |2 P
例 4 北方某城市 1986~1992 年道路交通噪声平均声级数据见表 61 [% t5 _% `+ Y* h' v! d

5 T/ `& `( i1 T+ t! Z$ u8 W9 U                                             表 6 市近年来交通噪声数据[dB(A)]
, D9 v; Z$ |2 G# j6 D* X% o/ a1 T% p; _5 _) w8 Q
/ Z/ E+ n1 G  m1 J

. U8 e; u  I: Z" p* n
" T( }" P7 P  ~/ \第一步: 级比检验
1 }, ~& u% \3 }6 f8 [. z- Y! R4 I1 G: O( s# Y2 Q
建立交通噪声平均声级数据时间序列如下:1 c4 _9 b8 o" D) p
5 ~$ J" a' J. C

& z9 V8 Y  ^8 ^( W$ ?9 f/ f5 t! r* n# Y0 i, r
第二步: GM(1,1)建模
2 S1 ~' g9 |! R# c) t; P6 K; ?# z' e3 a2 d
/ Z8 Y7 R- D! r: l5 s

9 s9 ?; F5 N7 Q5 |( U( z4 L, ?2 Q: m3 @
5 v$ s. d; o. X% J' ]* a, H& P
4 o) S8 x  q" k4 n) @
7 r9 b+ t# f- D" a! m7 _9 U1 f4 j, z) m
' Y# m5 @( c8 N. ~- w0 x9 M, z
" {( l! e' {( m* d3 Z/ y  P
第三步: 模型检验: `8 \6 L% P% |( T: }

' k+ m3 P; J% \- u7 L模型的各种检验指标值的计算结果见表 7.
, C& R5 r# L+ W9 ]/ r* [/ X" ?8 X! \" q+ R; R: {
1 a* B7 z. a" \+ K, A8 v6 Y9 m

: x; P( w3 @6 B% A9 A* ~# t
* D' U" Y6 E" [. C' C' r' {! b0 ]
4 }6 {1 X$ m# X2 U0 F, L经验证,该模型的精度较高,可进行预测和预报。1 C- z1 M, w$ F, ]3 }/ ?

$ J. c, E/ r* c4 ]* w4 ?! m计算的 MATLAB 程序如下:$ u8 B) ]; k$ p

- A% r; U# s) T/ h* i' H1 ?6 }clc,clear
, J, Q: E0 ^0 t( A4 d5 P$ l2 xx0=[71.1 72.4 72.4 72.1 71.4 72.0 71.6];
/ d# W9 |- z  c/ M) ?n=length(x0);3 X) c9 z5 j  D: Q) b- O+ Y! x* k
lamda=x0(1:n-1)./x0(2:n)
; J% n, c" W' L! q8 ^range=minmax(lamda)
0 b( N5 x9 K* E" Z% zx1=cumsum(x0)
7 v' \9 L" Q& m# t  c1 W* Hfor i=2:n3 o% J- Z1 g! d- P! q2 s6 ~2 u
    z(i)=0.5*(x1(i)+x1(i-1));6 |$ T& z5 g( O# P+ K- s) u! G9 \/ k
end
( [0 B: {+ J4 kB=[-z(2:n)',ones(n-1,1)];
  T2 b4 J8 b5 J8 \Y=x0(2:n)';
5 F$ h9 K2 }) _8 ]u=B\Y! S4 x, c& ?6 c7 F
x=dsolve('Dx+a*x=b','x(0)=x0');
$ f! G, ]! }8 p5 c5 h+ b' w, nx=subs(x,{'a','b','x0'},{u(1),u(2),x1(1)});
% u9 q) w) a- |9 b9 ^; K1 zyuce1=subs(x,'t',[0:n-1]);
: Y6 D2 p  z/ ]3 L: p( G$ sdigits(6),y=vpa(x) %为提高预测精度,先计算预测值,再显示微分方程的解
5 j9 o* p7 [3 k+ c+ myuce=[x0(1),diff(yuce1)]7 G; |) S7 r/ P+ O
epsilon=x0-yuce %计算残差
6 F' F6 A) h* N( @  vdelta=abs(epsilon./x0) %计算相对误差' L. B7 }' V  O, w, C
rho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda %计算级比偏差值
% o: f3 q$ s" |/ ]6 r1 ]9 G; W' v. v; B# n
, D% B- b4 \8 n4 A  s( I/ {5 {
4 Y! _) }' s. W  {6 C
————————————————
# ^: o$ P& r9 @! q2 f- Z版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
3 I0 c( R: ^) b# m6 D, t1 Y原文链接:https://blog.csdn.net/qq_29831163/article/details/89714074
. ]6 g4 e) q: m2 Y9 ]$ ^& b6 q6 _3 o. p$ H; R

3 N1 \- o" ~3 n. f+ x




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5