【数学建模常用算法】之灰色预测模型GM

您所在的位置:网站首页 灰色系统理论学什么 【数学建模常用算法】之灰色预测模型GM

【数学建模常用算法】之灰色预测模型GM

2024-06-01 11:43| 来源: 网络整理| 查看: 265

作者:張張張張 github地址:https://github.com/zhanghekai 【转载请注明出处,谢谢!】

文章目录 一、灰色预测模型GM(1,1) 1、数据检验与数据预处理 1.1 构建模型前检验 1.2 数据生成 (1) 累加生成(AGO) (2)累减生成(IAGO) (3)加权邻值生成 2 、灰色模型GM(1,1)构建 2.1 定义$x^{(1)}$的灰导数为 2. 2 GM(1,1)的白化模型(也叫影子模型) 3、检验预测值 3.1 残差检验:计算相对残差 3.2 级比偏差检验 二、使用灰色模型进行预测案例

一、灰色预测模型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∑k​xi(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)​,⋯,x



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3