作者:張張張張
github地址:https://github.com/zhanghekai
【转载请注明出处,谢谢!】
文章目录
一、灰色预测模型GM(1,1)
灰色预测是用灰色模型GM(1,1)来进行定量分析的,通常分为以下几类:
(1) 灰色时间序列预测。用等时距观测到的反映预测对象特征的一系列数量(如产量、销量、人口数量、存款数量、利率等)构造灰色预测模型,预测未来某一时刻的特征量,或者达到某特征量的时间。
(2) 畸变预测(灾变预测)。通过模型预测异常值出现的时刻,预测异常值什么时候出现在特定时区内。
(3) 波形预测,或称为拓扑预测,它是通过灰色模型预测事物未来变动的轨迹。
(4) 系统预测,对系统行为特征指标建立一族相互关联的灰色预测理论模型,在预测系统整体变化的同时,预测系统各个环节的变化。
灰色模型预测流程
- 数据检验与数据预处理
- 模型构建
- 模型检验
1、数据检验与数据预处理
1.1 构建模型前检验
\qquad 给定观测数据列 x ( 0 ) = { x 1 ( 0 ) , x 2 ( 0 ) , ⋯   , x n ( 0 ) } x^{(0)}=\{x_1^{(0)},x_2^{(0)},\cdots,x_n^{(0)}\} x(0)={
x1(0),x2(0),⋯,xn(0)}一般采用 x ( 0 ) x^{(0)} x(0)的级比 λ k ( 0 ) \lambda^{(0)}_k λk(0)的大小与所属区间来判断。
\qquad 级比定义: λ k ( 0 ) = x k − 1 ( 0 ) x k ( 0 ) , k = 2 , 3 , ⋯   , n \lambda^{(0)}_k=\frac{x^{(0)}_{k-1}}{x^{(0)}_k},\quad k=2,3,\cdots,n λk(0)=xk(0)xk−1(0),k=2,3,⋯,n
\qquad 若满足 λ k ( 0 ) ∈ ( e − 2 n + 1 , e 2 n + 1 ) \lambda^{(0)}_k\in (e^{-\frac{2}{n+1}},e^{\frac{2}{n+1}}) λk(0)∈(e−n+12,en+12),则认为 x ( 0 ) x^{(0)} x(0)是可作为 G M ( 1 , 1 ) GM(1,1) GM(1,1)建模的。如果原始序列不满足,需要对原始序列做必要的变换处理,使其落入可容覆盖内。即取适当的常数 C C C,做平移变换:
y ( 0 ) = x i ( 0 ) + C , i = 1 , 2 , ⋯   , n y^{(0)}=x^{(0)}_i+C,\quad i=1,2,\cdots,n y(0)=xi(0)+C,i=1,2,⋯,n
\qquad 使序列 y ( 0 ) = ( y 1 ( 0 ) , y 2 ( 0 ) , ⋯   , y n ( 0 ) ) y^{(0)}=(y^{(0)}_1,y^{(0)}_2,\cdots,y^{(0)}_n) y(0)=(y1(0),y2(0),⋯,yn(0))的级比 λ y ( k ) = y k − 1 ( 0 ) y ( k ) \lambda_y^{(k)}=\frac{y^{(0)}_{k-1}}{y^{(k)}} λy(k)=y(k)yk−1(0)落入上述区间范围。
1.2 数据生成
(1) 累加生成(AGO)
\qquad 设原始序列为 x ( 0 ) = ( x 1 ( 0 ) , x 2 ( 0 ) , ⋯   , x n ( 0 ) ) x^{(0)}=(x^{(0)}_1,x^{(0)}_2,\cdots,x^{(0)}_n) x(0)=(x1(0),x2(0),⋯,xn(0)),令: x k ( 1 ) = ∑ i = 1 k x i ( 0 ) , k = 1 , 2 , ⋯   , n x^{(1)}_k=\sum_{i=1}^{k}x^{(0)}_i,\quad k=1,2,\cdots ,n xk(1)=i=1∑kxi(0),k=1,2,⋯,n有: x ( 1 ) = ( x 1 ( 1 ) , x 2 ( 1 ) , ⋯   , x n ( 1 ) ) x^{(1)}=(x^{(1)}_1,x^{(1)}_2,\cdots,x^{(1)}_n) x(1)=(x1(1),x2(1),⋯,xn(1)),称所得到的新数列 x ( 1 ) x^{(1)} x(1)为数列 x ( 0 ) x^{(0)} x(0)的1次累加生成的数列。
(2)累减生成(IAGO)
\qquad 通过累加数列得到的新数列,可以通过累减生成还原出原始数列,设原始数列 x ( 1 ) = ( x 1 ( 1 ) , x 2 ( 1 ) , ⋯   , x n ( 1 ) ) x^{(1)}=(x^{(1)}_1,x^{(1)}_2,\cdots,x^{(1)}_n) x(1)=(x1(1),x2(1),⋯,xn(1)),令:
x k ( 0 ) = ( x k