数学建模社区-数学中国
标题:
灰色系统理论及其应用 (五) :灰色预测
[打印本页]
作者:
浅夏110
时间:
2020-5-27 15:01
标题:
灰色系统理论及其应用 (五) :灰色预测
灰色预测是指利用 GM 模型对系统行为特征的发展变化规律进行估计预测,同时 也可以对行为特征的异常情况发生的时刻进行估计计算,以及对在特定时区内发生事件 的未来时间分布情况做出研究等等。这些工作实质上是将“随机过程”当作“灰色过程”, “随机变量”当作“灰变量”,并主要以灰色系统理论中的 GM(1,1)模型来进行处理。 灰色预测在工业、农业、商业等经济领域,以及环境、社会和军事等领域中都有广 泛的应用。特别是依据目前已有的数据对未来的发展趋势做出预测分析。
! q8 p+ X8 s9 @1 X
7 U. T# W8 _) W* ?3 V8 r
1 灰色预测的方法
5 O; {9 {0 K+ C- Z3 n
0 _. }# o! A) f" Y3 D
! s. g! ~0 |- r( J% t* ]6 M
! B, v: ^* A+ X9 u
- t) q4 H% d3 A% Z
( m2 w8 x+ l, j3 v
2 灰色预测的步骤
! g& \% Y w% O9 T% `! c+ L( ^
1.数据的检验与处理
# r3 H* H- X+ b) a
4 b) B' I g- ^/ H
# Z- d8 e! C4 i- n
; z5 T# ?9 I( Y' @9 _: \
2.建立模型
; m6 y7 K6 {! G* K
按 第1 节中的方法建立模型 GM(1,1),则可以得到预测值
- Y5 E! T, y) c+ s
9 {& [( T" V2 s3 r1 d% m
. N! U' \! Y0 ^2 o: [" P% G
+ o* l0 q+ q! e( i1 K3 e8 _
3.检验预测值
4 l2 e* l% q" g% d
! V$ L$ N6 F0 ?# Y7 P M
. b1 t. q- z9 t- k% R% e/ t
; \/ U6 y. ~+ S& U+ `' [6 b2 p5 P
8 m3 M E2 m+ a# P' x7 T1 [
4.预测预报
, k' g7 h Y4 P2 t9 U
由模型 GM(1,1)所得到的指定时区内的预测值,实际问题的需要,给出相应的预测 、预报。
* w2 x0 Q2 X9 r5 Q, A+ v, v3 j
& |+ A5 k1 K; Q$ c' M3 G( F( u
3 灾变预测
& e' c. N: t1 n* T( Y3 s# h t
上限灾变数列
1 T x' U; O) @+ o* R
3 i" r D+ h! C9 Y
/ x: C, c7 u* _! F% k; L# m2 h/ m1 Q2 v
' K, `& ^; q2 i3 L
同理,可定义下限灾变数列这个概念。注意,灾变预测不是预测数据本身的大小, 而是预测异常值出现的时间。我们考虑下面这个问题。
: i. U4 W* R G7 g& t# U/ i
& |" ]- |+ }. T' A; E4 i
例 3 某地区年平均降雨量数据如表 5
3 ]6 n0 X" M9 c- H) o' Y
( j( r3 f1 p0 a& {) t% { ?! d
2 m) y4 g4 t8 U; O- g, r
& G0 v7 z9 @: F& x m% T
3 V' p1 I; k+ | l' T3 P; A
9 _5 j" V9 k5 F6 n3 ]' I, s9 l: k
由于 22.034 与 17 相差 5.034,这表明下一次旱灾将发生在五年以后。
2 {- \4 T+ c+ B- Q% B
8 M( L+ Z9 _6 U9 K/ \0 Y# }0 N7 ]
计算的 MATLAB 程序如下:
* s* m, H/ }- m3 o3 D2 w, e
# W% Z3 y6 A! k5 v( V* Z0 `* D
clc,clear
; m( {0 h1 B" w1 O
a=[390.6,412,320,559.2,
1 n& m0 x# {" M: j4 t9 ]8 J
380.8,542.4,553,310,561,300,632,540,406.2,313.8,576,587.6,318.5]';
# `- F' M4 V A, b# G A' W: K
t0=find(a<=320);
+ j: K% B E i; V5 A( R
t1=cumsum(t0);n=length(t1);
3 q5 j# I @4 o% |8 S4 A! A
B=[-0.5*(t1(1:end-1)+t1(2:end)),ones(n-1,1)];Y=t0(2:end);
) Y2 p2 W1 j; _4 H& V
r=B\Y
) C, j. A" H# Z! f9 E: c/ q9 F
y=dsolve('Dy+a*y=b','y(0)=y0');
' R5 I. C( j3 \8 a# p
y=subs(y,{'a','b','y0'},{r(1),r(2),t1(1)});
# h) w9 g+ ]& @5 t# p
yuce1=subs(y,'t',[0:n+1])
7 q% t8 T2 H8 e
digits(6),y=vpa(y) %为提高预测精度,先计算预测值,再显示微分方程的解
[# F$ F D# Z5 p J
yuce= diff(double(yuce1))
H' E3 |9 E1 `: H" d& r0 Q
% yuce=diff(yuce1); % yuce= diff(double(yuce1))
% H+ L) r4 H0 L
yuce=[t0(1),yuce]
# b# t L# I1 O% l/ G. t
, b# }6 E3 R9 }* z; C G
4 灰色预测计算实例
. _- f& a* R3 `1 N; q8 c: ~6 |! w
例 4 北方某城市 1986~1992 年道路交通噪声平均声级数据见表 6
+ Q, b8 y1 g7 o) p3 Y, i; A) Q
" N2 t. @ W! W6 a2 v+ k7 M$ S
表 6 市近年来交通噪声数据[dB(A)]
% L; {; U! d4 v
& y2 X9 E+ |4 B. o, u
: a- P2 x8 I- k( x
6 b. l* Z+ A- e; }" k% b% k9 |
$ F0 m' l! b! M; g2 q+ Z; l
第一步: 级比检验
9 A; E: Q1 n! T( h2 I! F0 e. ?
! L0 d( v9 a6 S: u. _
建立交通噪声平均声级数据时间序列如下:
: k6 L' O+ ]. c6 G. H
$ m2 }- @* M. i3 I+ A: B
; g! e# g) P4 o! D' N* v4 a
8 F6 i0 h! x0 {& @
第二步: GM(1,1)建模
1 A1 d9 W1 l8 Q: L7 ^
- _# J; t' f/ @$ `
4 }7 w$ m f1 J- L6 @
% [* o3 B f; X6 [
; i( v0 W: a9 H4 i* ?
6 e% d; `" @3 _8 F+ f
7 T, x' d& H w
/ J3 n1 o0 k) E" f' }1 c+ }, x Q
+ r& v6 q8 {2 Y5 U8 V' I
& ?( J) {" G2 F9 @0 [1 N5 e
第三步: 模型检验
& Y6 [% N8 F! _( a5 p9 K
9 l; `; R$ t( F% R, @
模型的各种检验指标值的计算结果见表 7.
/ {1 {% w2 v& D2 B8 z! X
9 Z2 M" n/ t% m5 h8 b7 N1 W
+ P( p8 V- I2 _
: v5 l5 R9 j, Y' Z+ J
6 [( o; w7 j" U* \5 B# J
& E7 m$ i$ f8 g! }. u' c9 L: T
经验证,该模型的精度较高,可进行预测和预报。
: R& T2 Y# {. i
1 [: P( K1 F: g) ~2 v
计算的 MATLAB 程序如下:
4 E1 u8 ]& P+ x; R. i9 ?) N
i' A' c" t3 f7 ?% Z
clc,clear
4 H& A( |+ ?$ N/ s
x0=[71.1 72.4 72.4 72.1 71.4 72.0 71.6];
) m7 M0 u& y& h2 u7 h; M( j
n=length(x0);
' J3 P/ Q( D1 n5 i
lamda=x0(1:n-1)./x0(2:n)
! |7 J) n& k, P X
range=minmax(lamda)
$ b9 w ~2 Q2 Z# Q$ j# H0 {1 Q
x1=cumsum(x0)
( j k6 O5 j: m
for i=2:n
% V6 D: H+ t) f a' Y
z(i)=0.5*(x1(i)+x1(i-1));
. B8 D% Z6 N) C1 ]+ E. k
end
2 E' \+ ?/ I( W1 c% l
B=[-z(2:n)',ones(n-1,1)];
^1 N# t( S$ t2 y4 Y/ T
Y=x0(2:n)';
0 q: }, m: T" D' p& t3 u
u=B\Y
. }. Z$ t% t1 A5 x7 N& k! d1 r1 {
x=dsolve('Dx+a*x=b','x(0)=x0');
, Z. k7 \; F2 m& h
x=subs(x,{'a','b','x0'},{u(1),u(2),x1(1)});
, }) q/ t5 J% ~# k! @ `
yuce1=subs(x,'t',[0:n-1]);
( n4 r$ R+ X R
digits(6),y=vpa(x) %为提高预测精度,先计算预测值,再显示微分方程的解
5 o: w# Q2 f) V+ U5 Y7 F5 s3 |
yuce=[x0(1),diff(yuce1)]
8 F" H' f `, ?) H" p( a( Y
epsilon=x0-yuce %计算残差
5 S6 Q4 ~, b, K% w' N8 _+ g/ a
delta=abs(epsilon./x0) %计算相对误差
1 z0 y6 C2 ]3 T% f$ }
rho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda %计算级比偏差值
' C b4 K3 i6 j* R9 K8 S ^
7 v* o' V! k& V ?
$ P8 ~0 t- T5 m7 l/ `1 E, V2 S
$ b" Q, U# a1 f/ ^; J. k
————————————————
) [& N; p6 b I2 {9 r4 t7 O
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
' q: i9 n, H/ ?) p- X
原文链接:https://blog.csdn.net/qq_29831163/article/details/89714074
! x1 |6 s4 ]8 Y
9 C4 p6 A0 F' V( Q0 N
; Z' k, ~6 h5 c* k4 v" V5 [: c
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5