数学建模——灰色预测模型

模型简介

灰色模型 (grey models)
是通过少量的,不完全的信息,建立灰色微分预测模型,对事物发展作出长期性的描述。

与灰色模型相对应的预测方法有回归分析等,但这些预测方法需要较大的样本,如果样本数量过少会造成误差较大,使得预测失效,因此,在小规模数据时,灰色模型所需信息少,精度高,成为建模中重要的预测手段。

灰色系统

信息不完全的系统称为灰色系统,与之对应的是,信息完全的系统称为白色系统,信息完全不明了的系统称为黑色系统

基本概念

  1. 灰数、灰元、灰关系是灰色现象的特征,是灰色系统的标志。
    灰数是指信息不完全的数,即只知大概范围而不知其确切值的数,灰数是一个数集,记为ⓧ;
    灰元是指信息不完全的元素;
    灰关系是指信息不完全的关系。
  2. 灰数的白化值
    所谓灰数的白化值是指,令a为区间,ai为a中的数,若ⓧ在a中取值,则称ai为ⓧ的一个可能的白化值。
  3. 灰数生成
    从复杂的原始数据中找到内在规律的过程。
    常见的灰数生成方法有:累加生成,累减生成,均值生成,级比生成
    累加生成为例,讨论其数学原理。
    定义
    累加生成,即通过数列间各时刻数据的依个累加以得到新的数据与数列.累加前的数列称原始数列,累加后的数列称为生成数列。公式表示为:
    x ( 1 ) ( i ) = { ∑ i = 1 N x ( 0 ) ( i ) ∣ i = 1 , 2 , ⋯   , N } x^{(1)}(i)=\{{\sum_{i=1}^{N}x^{(0)} (i)\rvert i=1,2,\cdots,N}\} x(1)(i)={i=1Nx(0)(i)i=1,2,,N}
    称此数据为原始数据的一次累加生成。

GM(1,1)模型

GM(1,1)模型是一阶微分方程模型
d x d t + a x = u      G M ( 1 , 1 ) \frac{dx}{dt}+ax=u\;\;GM(1,1) dtdx+ax=uGM(1,1)
由常数变易法得到
d x d t = e − ∫ a d t [ ∫ u e ∫ a d t d t + C ] \frac{dx}{dt}= e^{-\int adt}[\int ue^{\int adt}dt+C ] dtdx=eadt[ueadtdt+C]
整理得
d x d t = u a + C e − a t \frac{dx}{dt}=\frac{u}{a}+Ce^{-at} dtdx=au+Ceat
故离散型形式如下
△ ( x ( k + 1 ) ) + a ( x ( k + 1 ) ) = u \triangle (x(k+1))+a(x(k+1))=u (x(k+1))+a(x(k+1))=u
预测形式如下
x ( k + 1 ) = [ x ( 1 ) − u a ] e − a k + u a x(k+1)=[x(1)-\frac{u}{a}]e^{-ak}+\frac{u}{a} x(k+1)=[x(1)au]eak+au
由导数定义知
d x d t = lim ⁡ △ t → 0 f ( t + △ t ) − f ( t ) △ t \frac{dx}{dt}=\lim_{\triangle t\rightarrow 0}\frac{f(t+\triangle t)-f(t)}{\triangle t} dtdx=t0limtf(t+t)f(t)
△ t \triangle t t很小并取很小的1单位时有
x ( t + 1 ) − x ( t ) = △ x △ t x(t+1)-x(t)=\frac{\triangle x}{\triangle t} x(t+1)x(t)=tx
累加时用前后两个时刻的平均代替
x ( i ) ( i ) = 1 2 [ x ( i ) ( i ) + x ( i ) ( i − 1 ) ] x^{(i)}(i)=\frac{1}{2}[x^{(i)}(i)+x^{(i)}(i-1)] x(i)(i)=21[x(i)(i)+x(i)(i1)]
代替后如上所示
△ x △ t = x ( k + 1 ) − x ( k ) = △ ( 1 ) ( x ( k + 1 ) ) (1) \frac{\triangle x}{\triangle t}=x(k+1)-x(k)=\triangle^{(1)}(x(k+1))\tag{1} tx=x(k+1)x(k)=(1)(x(k+1))(1)
△ ( 1 ) ( x ( 1 ) ( k + 1 ) ) = x ( 1 ) ( k + 1 ) − x ( 1 ) ( k ) = x ( 0 ) ( k + 1 ) (2) \triangle^{(1)}(x^{(1)}(k+1))=x^{(1)}(k+1)-x^{(1)}(k)=x^{(0)}(k+1)\tag{2} (1)(x(1)(k+1))=x(1)(k+1)x(1)(k)=x(0)(k+1)(2)
x ( 1 ) ( k + 1 ) = 1 2 [ x ( 1 ) ( k + 1 ) + x ( 1 ) ( k ) ] (3) x^{(1)}(k+1)=\frac{1}{2}[x^{(1)}(k+1)+x^{(1)}(k)]\tag{3} x(1)(k+1)=21[x(1)(k+1)+x(1)(k)](3)
△ ( 1 ) ( x ( 1 ) ( k + 1 ) ) + a ( x ( k + 1 ) ) = u (4) \triangle^{(1)}(x^{(1)}(k+1))+a(x(k+1))=u\tag{4} (1)(x(1)(k+1))+a(x(k+1))=u(4)

由以上四式可得
x ( 0 ) ( k + 1 ) = a [ − 1 2 ( x ( 1 ) ( k ) + x ( 1 ) ( k + 1 ) ) ] + u x^{(0)}(k+1)=a[-\frac{1}{2}(x^{(1)}(k)+x^{(1)}(k+1))]+u x(0)(k+1)=a[21(x(1)(k)+x(1)(k+1))]+u
写成矩阵表达式
[ x ( 0 ) ( 2 ) x ( 0 ) ( 3 ) ⋮ x ( 0 ) ( N ) ] = [ − 1 2 [ x ( 1 ) ( 2 ) + x ( 1 ) ( 1 ) ]              1 − 1 2 [ x ( 1 ) ( 2 ) + x ( 1 ) ( 1 ) ]              1 ⋮ − 1 2 [ x ( 1 ) ( 2 ) + x ( 1 ) ( 1 ) ]              1 ] [ a u ] \left[ \begin{matrix} x^{(0)}(2)\\ x^{(0)}(3)\\ \vdots \\ x^{(0)}(N) \end{matrix} \right]= \left[\begin{matrix} -\frac{1}{2}[x^{(1)}(2)+x^{(1)}(1)]\;\;\;\;\;\;1\\ -\frac{1}{2}[x^{(1)}(2)+x^{(1)}(1)]\;\;\;\;\;\;1\\ \vdots \\ -\frac{1}{2}[x^{(1)}(2)+x^{(1)}(1)]\;\;\;\;\;\;1\\ \end{matrix}\right] \left[\begin{matrix} a\\ u \end{matrix}\right] x(0)(2)x(0)(3)x(0)(N)=21[x(1)(2)+x(1)(1)]121[x(1)(2)+x(1)(1)]121[x(1)(2)+x(1)(1)]1[au]
y = [ x ( 0 ) ( 2 ) x ( 0 ) ( 3 ) ⋮ x ( 0 ) ( N ) ] y=\left[ \begin{matrix} x^{(0)}(2)\\ x^{(0)}(3)\\ \vdots \\ x^{(0)}(N) \end{matrix} \right] y=x(0)(2)x(0)(3)x(0)(N)
B = [ − 1 2 [ x ( 1 ) ( 2 ) + x ( 1 ) ( 1 ) ]              1 − 1 2 [ x ( 1 ) ( 2 ) + x ( 1 ) ( 1 ) ]              1 ⋮ − 1 2 [ x ( 1 ) ( 2 ) + x ( 1 ) ( 1 ) ]              1 ] , U = [ a u ] B=\left[\begin{matrix} -\frac{1}{2}[x^{(1)}(2)+x^{(1)}(1)]\;\;\;\;\;\;1\\ -\frac{1}{2}[x^{(1)}(2)+x^{(1)}(1)]\;\;\;\;\;\;1\\ \vdots \\ -\frac{1}{2}[x^{(1)}(2)+x^{(1)}(1)]\;\;\;\;\;\;1\\ \end{matrix}\right], U=\left[\begin{matrix} a\\ u \end{matrix}\right] B=21[x(1)(2)+x(1)(1)]121[x(1)(2)+x(1)(1)]121[x(1)(2)+x(1)(1)]1,U=[au]
则有
y = B U y=BU y=BU
解得
U = [ a u ] = ( B T B ) − 1 B T y U=\left[\begin{matrix} a\\ u \end{matrix}\right]=(B^TB)^{-1}B^Ty U=[au]=(BTB)1BTy
代入公式
x ( 1 ) ( k + 1 ) = [ x ( 1 ) ( 1 ) − u a ] e − a k + u a x^{(1)}(k+1)=[x^{(1)}(1)-\frac{u}{a}]e^{-ak}+\frac{u}{a} x(1)(k+1)=[x(1)(1)au]eak+au
即可获得预测值

GM(1,1)精度检验

后验差检验法
设按GM(1,1)建模法已求出 x ^ ( 1 ) \hat{x}^{(1)} x^(1),并将 x ^ ( 1 ) \hat{x}^{(1)} x^(1)作一次累减,转化为 x ^ ( 0 ) \hat{x}^{(0)} x^(0)
X ^ ( 0 ) = [ x ^ 0 ( 1 ) , x ^ 0 ( 2 ) , ⋯   , x ^ 0 ( n ) ] \hat{X}^{(0)}=[\hat{x}^{0}(1),\hat{x}^{0}(2),\cdots,\hat{x}^{0}(n)] X^(0)=[x^0(1),x^0(2),,x^0(n)]

计算残差得
e ( k ) = x ( 0 ) ( k ) − x ^ 0 ( k ) , k = 1 , 2 , ⋯   , n e(k)=x^{(0)}(k)-\hat{x}^{0}(k),k=1,2,\cdots,n e(k)=x(0)(k)x^0(k),k=1,2,,n
分别计算原始序列和残差序列的方差为 S 1 2 , S 2 2 S_1^2,S_2^2 S12,S22
计算后验差比为
C = S 2 S 1 C=\frac{S_2}{S_1} C=S1S2
指标C越小,说明S1大,也就是原序列方差大,S2小,也就是残差方差小说明拟合效果好。
精度检验对照表

模型精度等级均方差比值
1级(好)C<=0.35
2级(合格)0.35<C<=0.5
3级(勉强)0.5<C<=0.65
4级(不合格)0.65<C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alfred young

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值