数学建模社区-数学中国

标题: 不看会后悔系列——灰色预测的建模应用 [打印本页]

作者: 2336426014    时间: 2018-8-5 22:17
标题: 不看会后悔系列——灰色预测的建模应用
本帖最后由 2336426014 于 2018-8-5 22:20 编辑 ( @- A' Z9 B6 E

0 r2 y/ Z: Q. n. D7 F* z5 m  f       可以好不夸张的说灰色预测是所有新人爱用的,老生也爱用的,同时也是最基本的最简单的预测算法,原理简单的没话说。
) ~, l* M# J4 Q5 l5 }       再说一下它的作用,虽然吧...这个东西原理很简单,但是耐不住人家适用范围广啊,效果虽然不是90%的准确率,但是59%的话差不多还是可以的。
/ ^* N8 p, H; j) D* |        但是我还是觉得有必要说一下这个东西,帮助那些第一次用的时候注意一些细节问题,比如范围和结果分析别一顿还夸...
/ P9 _4 R; ]- F$ ?; s! @& ~        首先介绍一下灰色预测:' ~3 e+ l& L" {9 p) e; O
        灰色系统理论认为:系统的行为现象尽管是朦胧的,数据是复杂的,但它毕竟是有序的,是有整体功能的。建立灰色预测模型之前,需要对原始时间序列进行数据处理,进过预处理的数据系列称为生成列。对原始数据进行预处理,不是寻求它的统计规律和概率分布,而是将杂乱无章的原始数据列通过一定的方法处理,变成有规律的时间序列数据,即以数找数的规律,再建立动态模型。灰色系统常用的数据处理方式有累加和累减,通常我们用累加。
& M% ~6 C, q9 `- q/ x& }4 Z' a       灰色预测通过鉴别系统因素之间发展趋势的相异性,对原始数据进行生成处理来寻求事物的未来发展趋势。诸多的灰色模型中,以单序列一阶线性微分方程模型GM(1,1)模型最为常用。下面简要的介绍一下:% c# a% T' _4 ?) K5 Z: c
       (1)累加生成(AGO)         设原始数列为x(0)=(x0(1),x0(2),….x0(n)),令
) G% [) T2 o' k: h, s7 ?                                          
x(1)(k)=∑i=1kx(0)(i),k=1,2,...,n

+ {; H$ n9 E4 m8 G% h                                                
x(1)=(x1(1),x1(2),….x1(n))
# ~; |! u8 m- b: E. c

! w5 v# p2 H# n" [( K) }3 ~(2)建立微分方程模型                                                  
dx(1)(t)dt+ax(1)(t)=b
4 i% u' q  S6 a  J$ [
01.png

. z- n8 }2 I( [3 q' M: ]2 }& D
2 P$ n* ?; k' m4 |$ x6 [: m' v6 l! H7 c(3)对累加生成数据做均值生成 B 与常数项 向量Y         02.png (4)最小二乘法求解灰色参数   03.png 则令该参数为 c ,令k =t
) |- P% m$ t+ o' y7 N, h               c
=[ab]=(BTB)−1BTY
  7 f. L, H' c" a% W% V* g
(5)参数代入微分方程,解得                    
x^(1)(k+1)=(x(0)(1)−ua)e−ak+ua,k=1,2,...,n−1
" u# Q0 h$ L% M: E4 Y% d
(6)对函数表达式进行离散将二者做差来还原原序列
) D, v( ]& @& |2 M  z( ~. O) A                           
x^(0)(k+1)=x^(1)(k+1)−x^(1)(k),k=1,2,...,n−1
            
' @) E/ }' N5 y3 t( l) ?$ f     (7)对模型进行检验1.计算原序列与预测序列的残差 e 和相对误差 q
0 r! K+ G% V  G: s6 z2. 求原始序列的均值和方差S17 D3 v8 H/ D) [, g9 p
3.区域残差 e 的均值及方差S2
0 u% m. P) I; r2 G: i, b' n4.计算方差比 C=S2/S1* W7 Z. o2 v2 K. V5 Z6 G" m6 U5 a
5.求小误差概率 P, d: g% ~* R" M. ^4 ?# m+ \
6.精度检验表如下:4 Q' Z0 U6 t4 M0 m2 q) p3 \/ B, C
04.png

$ B9 I; g+ Z" v# g$ q0 X6 E9 ]  ]3 w5 @& W, E4 o: Q. d- B+ ~5 g. M, S3 k
05.png
) B! K! W! f0 @- b: V

6 e6 d0 p9 g0 d$ |$ H  `: ?! g, r; y* j7 b7 h
代码的话百度我也帮你们准备好了:0 b& Y* Y: w" U9 j
图片格式,自己抄去# L/ B9 M; O0 D: W& M. ^
06.png * }6 g5 d( D" x) d
08.png
0 E0 t8 {. q; ~" @' J/ _9 g. [, L5 R. N1 y7 _+ M1 C+ M
0 q' ^# G1 m' u* i% M- p2 P4 `
8 Q' K% E% k; K; ^
9 d1 a, E1 W9 ^9 e* V. D

作者: 2336426014    时间: 2018-8-5 22:23
公式那儿编辑的有点难受,主要是因为这个灰色预测也不难,就没太认真...大家能看懂T代表转置就行....下次我一定会完美编辑+ R  a3 o$ S1 K* b$ b8 }

作者: 龙龙鲸鱼寜    时间: 2018-8-25 15:59
谢谢楼主分享
8 U+ M: u# B. m$ o) R: e
8 m2 l% v: E( k, U
作者: ojbk    时间: 2018-8-29 09:21
讲得好讲得好讲得好讲得好讲得好
* i3 d6 p1 E& O% n* M
作者: 2463247347    时间: 2019-1-14 17:21
谢谢分享
4 ~7 Q1 q0 O/ @* [6 u7 F
作者: chendikang1    时间: 2019-1-22 19:00
6666666666666
) }, Y, m2 m0 Y7 w+ C" {# O




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