11灰色预测- Verhulst 模型

灰色预测- Verhulst 模型

   前两篇博客说到了 G ( 1 , 1 ) G(1,1) G(1,1),和 G ( 1 , N ) G(1,N) G(1,N),通过已有的数据,建立对应的模型,可以实现对未来数据的预测。模型可行的前提是所有的级比 λ ( 0 ) ( k ) \lambda^{(0)}(k) λ(0)(k)均落在 ( e − 2 n + 1 , e 2 n + 1 ) (e^{-\frac{2}{n+1}},e^{\frac{2}{n+1}}) (en+12,en+12)。对于非单调的摆动发展序列或具有饱和状态的 S S S 形序列, V e r h u l s t Verhulst Verhulst 模型, G M ( 2 , 1 ) GM(2,1) GM(2,1)模型等更适用。那么什么是 V e r h u l s t Verhulst Verhulst 模型呢?和 G ( 1 , 1 ) G(1,1) G(1,1) G ( 1 , N ) G(1,N) G(1,N)又有什么区别呢?

Verhulst 模型

   原始数列 x ( 0 ) = ( x ( 0 ) ( 1 ) , x ( 0 ) ( 2 ) , . . . , , x ( 0 ) ( n ) ) x^{(0)}=(x^{(0)}(1), x^{(0)}(2),...,, x^{(0)}(n) ) x(0)=(x(0)(1),x(0)(2),...,,x(0)(n)),累加得到的数列为 x ( 1 ) = ( x ( 1 ) ( 1 ) , x ( 1 ) ( 2 ) , . . . , , x ( 1 ) ( n ) ) x^{(1)}=(x^{(1)}(1), x^{(1)}(2),...,, x^{(1)}(n) ) x(1)=(x(1)(1),x(1)(2),...,,x(1)(n)),其中,
x ( 1 ) = ∑ i = α k x ( 0 ) ( i ) , k = α , α + 1 , . . . n (1) x^{(1)}=\sum_{i=\alpha}^k x^{(0)}(i),k=\alpha,\alpha+1,...n \tag{1} x(1)=i=αkx(0)(i),k=α,α+1,...n(1)
其中 α ≤ n \alpha \le n αn,且为正整数, ( 1 ) (1) (1)式中,取 α = 1 \alpha = 1 α=1,称为一般累加过程,记作 1 − A G O 1-AGO 1AGO。定义 x ( 1 ) x^{(1)} x(1)的灰导数(实际上就是累减),为:
d ( k ) = x ( 0 ) = x ( 1 ) ( k ) − x ( 1 ) ( k − 1 ) (2) d (k)=x^{(0)}=x^{(1)}(k)- x^{(1)}(k-1) \tag{2} d(k)=x(0)=x(1)(k)x(1)(k1)(2)
   取 x ( 1 ) x^{(1)} x(1)的等权重紧邻值,
z ( 1 ) ( k ) = 0.5 x ( 1 ) ( k ) + 0.5 x ( 1 ) ( k − 1 ) , k = 2 , 3 , . . . , n (3) z^{(1)}(k)=0.5 x^{(1)}(k)+0.5 x^{(1)}(k-1) ,k=2,3,...,n \tag{3} z(1)(k)=0.5x(1)(k)+0.5x(1)(k1)k=2,3,...,n(3)

   定义灰微分方程 V e r h u l s t Verhulst Verhulst 模型:
d ( k ) + a z ( 1 ) ( k ) = b ( z ( 1 ) ( k ) ) 2 (4) d(k)+az^{(1)}(k)= b(z^{(1)}(k))^2 \tag{4} d(k)+az(1)(k)=b(z(1)(k))2(4)
即:
x ( 0 ) ( k ) + a z ( 1 ) ( k ) = b ( z ( 1 ) ( k ) ) 2 (5) x^{(0)}(k)+az^{(1)}(k)=b(z^{(1)}(k))^2 \tag{5} x(0)(k)+az(1)(k)=b(z(1)(k))2(5)
其中 x ( 0 ) ( k ) x^{(0)} (k) x(0)(k) 称为灰导数,a 称为发展系数, z ( 1 ) ( k ) z^{(1)} (k) z(1)(k)称为白化背景值, b b b 称为灰作用量。将 k = 2 , 3 , . . . , n k=2,3,...,n k=2,3,...,n的数据带入上面的 ( 4 ) (4) (4)式,得到:
{ x ( 0 ) ( 2 ) + a z ( 1 ) ( 2 ) = b ( z ( 1 ) ( 2 ) ) 2 x ( 0 ) ( 3 ) + a z ( 1 ) ( 3 ) = b ( z ( 1 ) ( 3 ) ) 2 . . . . x ( 0 ) ( n ) + a z ( 1 ) ( n ) = b ( z ( 1 ) ( n ) ) 2 (6) \left\{ \begin{matrix} x^{(0)}(2)+az^{(1)}(2)=b(z^{(1)}(2))^2 \\ x^{(0)}(3)+az^{(1)}(3)=b(z^{(1)}(3))^2 \\ .... \\ x^{(0)}(n)+az^{(1)}(n)=b(z^{(1)}(n))^2 \\ \end{matrix} \right. \tag{6} x(0)(2)+az(1)(2)=b(z(1)(2))2x(0)(3)+az(1)(3)=b(z(1)(3))2....x(0)(n)+az(1)(n)=b(z(1)(n))2(6)

   将上面写成矩阵的形式,令

Y = ( x ( 0 ) ( 2 ) , x ( 0 ) ( 3 ) , . . . , x ( 0 ) ( n ) ) T Y = (x^{(0)}(2),x^{(0)}(3),...,x^{(0)}(n))^T Y=(x(0)(2),x(0)(3),...,x(0)(n))T

B = ( − z ( 1 ) ( 2 ) ( z ( 1 ) ( 2 ) ) 2 − z ( 1 ) ( 3 ) ( z ( 1 ) ( 3 ) ) 2 ⋮ ⋮ − z ( 1 ) ( n ) ( z ( 1 ) ( n ) ) 2 ) B =\begin{pmatrix} -z^{(1)}(2) &(z^{(1)}(2) )^2 \\ -z^{(1)}(3) &(z^{(1)}(3) )^2 \\ \vdots & \vdots \\ -z^{(1)}(n) &(z^{(1)}(n) )^2 \\ \end{pmatrix} B=z(1)(2)z(1)(3)z(1)(n)(z(1)(2))2(z(1)(3))2(z(1)(n))2

u = ( a b ) T u = \begin{pmatrix} a &b \end{pmatrix}^T u=(ab)T
Y Y Y为数据向量, B B B 为数据矩阵, u u u 为参数向量,则 V e r h u l s t Verhulst Verhulst 模型可以表示为矩阵方程 Y = B u Y = Bu Y=Bu ( 6 ) (6) (6)式可以看出,参数个数为 2 2 2个,方程个数大于 2 2 2,因此利用最小二乘求解待解未知数 u u u。最小二乘(使得 J ( u ^ ) = ( Y − B u ^ ) T ( Y − B u ^ ) J(\hat u)=(Y-B\hat u)^T(Y-B\hat u) J(u^)=(YBu^)T(YBu^)最小)解为:
u ^ = ( a ^ , b ^ ) = ( B T B ) − 1 B T Y (7) \hat u=(\hat a ,\hat b)=(B^TB)^{-1}B^TY \tag{7} u^=(a^,b^)=(BTB)1BTY(7)

Verhulst的白化型

   对于 V e r h u l s t Verhulst Verhulst 模型的灰微分方程 ( 5 ) (5) (5),如果将 x ( 0 ) ( k ) x^{(0)} (k) x(0)(k) 的时刻 k = 2 , 3 , . . . n k = 2,3,... n k=2,3,...n视为连续连续的变量 t ,则数列 x ( 1 ) x^{(1)} x(1)就可以视为时间 t t t 的函数,记为 x ( 1 ) = x ( 1 ) ( t ) x^{(1)} = x^{(1)} (t) x(1)=x(1)(t) ,并让灰导数 x ( 0 ) ( k ) x^{(0)} (k) x(0)(k) 对应于导数 d x ( 1 ) d t \frac{d^{x(1)}}{dt} dtdx(1),背景值 z ( 1 ) ( k ) z^{(1)} (k) z(1)(k) 对应于 x ( 1 ) ( t ) x^{(1)} (t) x(1)(t) 。于是得到 V e r h u l s t Verhulst Verhulst 模型的灰微分方程对应的白微分方程为( V e r h u l s t Verhulst Verhulst 模型的白化型):

d x ( 1 ) d t + a x ( 1 ) = b ( x ( 1 ) ) 2 (8) \frac{d^{x(1)}}{dt} +ax^{(1)}=b(x^{(1)})^2 \tag{8} dtdx(1)+ax(1)=b(x(1))2(8)

   需要注意的是, V e r h u l s t Verhulst Verhulst 模型的白化型并不是 V e r h u l s t Verhulst Verhulst 模型的灰微分方程离散得到的,仅仅是一种类推。 V e r h u l s t Verhulst Verhulst 模型的白化型是一个真正的微分方程,如果白化型模型精度高,则表明所用数列建立的模型 V e r h u l s t Verhulst Verhulst 模型与真正的微分方程模型吻合较好,反之亦然。

Verhulst预测

   式 8 8 8白化方程的解为:

x ( 1 ) ( t ) = a x ( 1 ) ( 1 ) b x ( 1 ) ( 1 ) + ( a − b x ( 1 ) ( 1 ) ) e a t (9) x^{(1)}(t) =\frac {ax^{(1)}(1)} {bx^{(1)}(1)+(a-bx^{(1)}(1))e^{at}} \tag{9} x(1)(t)=bx(1)(1)+(abx(1)(1))eatax(1)(1)(9)

   则灰色方程对应的解可以得到,即得到 x ( 1 ) x^{(1)} x(1)的预测值 x ^ ( 1 ) \hat x^{(1)} x^(1)

x ^ ( 1 ) ( k + 1 ) = a x ( 1 ) ( 1 ) b x ( 1 ) ( 1 ) + ( a − b x ( 1 ) ( 1 ) ) e a k (10) \hat x^{(1)}(k+1) =\frac {ax^{(1)} (1)} {bx^{(1)}(1)+(a-bx^{(1)}(1))e^{ak}} \tag{10} x^(1)(k+1)=bx(1)(1)+(abx(1)(1))eakax(1)(1)(10)

   x ( 1 ) x^{(1)} x(1)是由 x ( 0 ) x^{(0)} x(0)累加得到的,因此可以通过累减 x ^ ( 1 ) \hat x^{(1)} x^(1)得到 x ( 0 ) x^{(0)} x(0)的预测值 x ^ ( 0 ) \hat x^{(0)} x^(0),即:

x ^ ( 0 ) ( k + 1 ) = x ^ ( 1 ) ( k + 1 ) − x ^ ( 1 ) ( k ) (10) \hat x^{(0)} (k+1)= \hat x^{(1)} (k+1)-\hat x^{(1)} (k) \tag{10} x^(0)(k+1)=x^(1)(k+1)x^(1)(k)(10)

   可以发现, V e r h u l s t Verhulst Verhulst 模型和 G ( 1 , N ) G(1,N) G(1,N)的模型区别在于构建的灰色模型不同, V e r h u l s t Verhulst Verhulst 模型构建了对 x x x的二次项,因此, V e r h u l s t Verhulst Verhulst 模型适用于于非单调的摆动发展序列或具有饱和状态的 S S S形序列。
   在实际问题中,如果原始数据本身呈 S S S 形的过程,这时,可取原始数据为 x ( 1 ) x^{(1)} x(1) ,其一次累减生成 ( 1 — I A G O ) (1—IAGO) 1IAGO x ( 0 ) x^{(0)} x(0) ,建立 V e r h u l s t Verhulst Verhulst 模型,直接对 x ( 1 ) x^{(1)} x(1) 进行预测。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

cuntou0906

玛莎拉蒂是我的目标!

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

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

打赏作者

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

抵扣说明:

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

余额充值